Konstruktion sehr großer Suffixbäume

Slides:



Advertisements
Ähnliche Präsentationen
Kapitel 6: Klassifizierung von Sortiertechniken
Advertisements

Suche in Texten (Stringsuche )
3. Kapitel: Komplexität und Komplexitätsklassen
5. Sortier-Algorithmen Vorbemerkungen:
2. Kapitel: Komplexität und Komplexitätsklassen
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Hauptseminar Automaten und Formale Sprachen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Algorithm Engineering „Zeichenkettensuche“
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Mergesort.
Algorithm Engineering „Suffix-Bäume und Suffix-Arrays“ Stefan Edelkamp.
Der Foliensatz ist unter einer Creative Commons-Lizenz lizenziert:
Problemlösen am Beispiel des Rückwärtsarbeitens
? Stichwortverzeichnis … zum Suchen
Stichwortverzeichnis
Heute Mathe, morgen DLR! Dr. Margrit Klitz
Einführung in Web- und Data-Science Grundlagen der Stochastik
Wissenschaftliche Methodik
3. Schafft das Internet neue Transaktionsdesign?
Michael Artin: Geometric Algebra
R What is this R thing, and is it worth some effort?
3 Elektrochemische Wandler
Stichwortverzeichnis
8 Zündung/Motormanagement
Stichwortverzeichnis
Herstellung von kristallinen Metalloxiden über die Schmelze mit einem Spiegelofen Gruppe 8: Yuki Meier, Vivien Willems, Andrea Scheidegger, Natascha Gray.
Kapitel 4 Traveling Salesman Problem (TSP)
Einführung in die Wahrscheinlichkeitsrechnung
Motoremissionen mobiler Anlagen – Stand der Technik
Lieber Leser, liebe Leserin,
Inhaltsverzeichnis In der vorliegenden Präsentation finden Sie unter anderem Antworten auf folgende Fragen… warum ist eine Gesetzesinitiative zum Betriebliches.
Suchen und Sortieren.
Entwicklung epistemologischer Überzeugungen
Das Verdauungssystem Präsentiert von Theresa
MasterBAV© Die neue Generation BAV
Algorithmen und Datenstrukturen
Rehwild die richtige Altersbestimmung
PSG II Neuer Pflegebedürftigkeitsbegriff und dessen Begutachtung (NBA)
Medientechnische Infrastrukturen für virtuelle und lokale Lernräume
Wissensmanagement im Zeitalter von Digitaler Transformation
Vorlesung Wasserwirtschaft & Hydrologie I
Neue Unterrichtsmaterialien zur Teilchenphysik Philipp Lindenau CERN | Herzlich willkommen! Präsentation mit Notizen hinterlegt!
Non-Standard-Datenbanken
VO Aktuelle Forschung in der Biomechanik Ziel:
Standorte, Verflechtungen und regionale Disparitäten VO 5
Philipp Lindenau, Claudia Behnke Dillingen | 04. –
Allgemein- und Viszeralchirurgie Theresienkrankenhaus und St
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
Möglichkeiten zu dem Wort „Lieber“
Prof. Michael Kobel, Philipp Lindenau Meißen | 04. –
Normalform, minimalform und der entwicklungssatz
Antibiotikadosierung bei Nierenersatztherapie in der Sepsis
Algorithmen und Datenstrukturen
Logik in der Informatik I
Algorithmen und Datenstrukturen
Ökonometrie und Statistik Fraud Detection
Kapitel 9 Losgrößenplanung PPS EK Produktion & Logistik.
Herzlich Willkommen.
Physik.
Noch mehr Potential bei der Desktop-Virtualisierung: XenDesktop und VDI-in-a-Box erfolgreich positionieren Valentine Cambier, Senior Channel Development.
Algorithmen und Datenstrukturen
Matthäus Teil 3.
Methodenwerkstatt Vom trägen Wissen zum kompetenten Handeln
Einfache digitale und analoge Schaltkreise und sonstige Bauelemente
 Präsentation transkript:

Konstruktion sehr großer Suffixbäume Michael Höhndorf Steffen Andre

Übersicht Probleme mit Suffixbäumen Lösungsansätze Verschiedene Algorithmen Hunt Top-Q TDD Vergleich

Problem Suffixbaum Hoher Speicherbedarf Zeitaufwendige Konstruktion bei großen Eingabestrings, da Konstruktion im RAM nicht möglich Häufige Sprünge im Speicher Memory Bottleneck

Lösungsansätze Suffixbaumkonstruktionen plattenfreundlich gestalten Hunt TDD Bufferstrategie ändern Top-Q

Hunt/ Atkinson/ Irving Konstruktion per Platte Vorher nur Suffixbäume kleiner als RAM Tausch von O(n) gegen locality of access Verzichtet auf Suffixlinks O(n2) Durchschnitt: O(n*logn)

Top-Q (Bedathur/ Haritsa) Benutzt Ukkonnen-Algorithmus Neue Pagingstartegie

TDD Von Tata/Hankins/Patel Top down disk based Besonderheit: “locality of reference” Übertrifft alle bisherigen Ansätze Unterteilung in zwei Phasen PWOTD (Konstruktion des Suffixbaumes) Bufferstrategie

PWOTD Partition and Write Only Top Down Unterteilung in zwei Schritte Partitionierung Wotdeager Komplexität: Worst Case: O(n2) Average Case O(n*logn)

Repräsentation String: ATTAGTACA

Partitionierung Alphabet: Σ Prefixlen: Tiefe der Partitionierung Suffixe in |Σ|prefixlen Partitionen teilen Für jede Partition Suffixbaum erstellen Suffixbäume zusammenfügen Im Beispiel: T={2,3,6}

Wotdeager Benutzt 4 Datenstrukturen Input String Array Suffixes Array Temp Array Tree Array

Algorithmus

Bufferstrategie Optimale Ersetzungsstrategie für die vier Datenstrukturen finden verfügbaren RAM zwischen den vier Datenstrukturen aufteilen, um den größtmöglichen Gewinn zu erreichen

Bufferstrategie

Bufferstrategie String Suffixes-Array Größe: n Ersetzungsstrategie: LRU Schlechteste „locality of reference“ Suffixes-Array Größe: 4n

Bufferstrategie Temp Array Tree-Array Größe: 4n Ersetzungsstrategie: MRU Tree-Array Größte von allen Größe: 8-12n Ersetzungsstrategie: LRU Hohe „locality of reference“

Buffermanagement

Bufferstrategie Aufteilung des Hauptspeichers Suffixes/Temp benötigt mindestens |Σ| Seiten Tree benötigt mindestens 2 Seiten Eingabestring wird wenn möglich komplett in den Speicher übernommen Wenn noch Platz im Hauptspeicher ist wird dieser an Suffixes, Temp, Tree vergeben

Bufferstrategie

TDD vs. Ukkonen

TDD vs. Ukkonen TDD bei größeren Alphabeten zunehmend besser als Ukkonen Bei kleinen Alphabeten (demelano) Faktor 2.5 Bei mittleren Alphabeten (swp20) Faktor 4.5 Bei großen Alphabeten (unif40) Faktor 10 Trotz O(n2) meist besser, da locality of reference Ukkonen’s Algorithmus hat viele cache misses (Bei modernen Rechnern)

TDD vs. Hunt

TDD vs Hunt TDD in jedem Fall bedeutend besser Bei kleinen Alphabeten (H Chr1) Faktor 5.5 Bei mittleren Alphabeten (TrEMBL) Faktor 7.4 Bei großen Alphabeten (guten) Faktor 9.9 Hunt viele Sprünge bei Konstruktion TDD berührt jeden Knoten nur einmal

TDD vs. TopQ Test mit 50Mbp de Human Chromosom-I TopQ 78min TDD unetr gleichen Umständen nur 2,1min TDD um Faktor 37 schneller Test auf gesamtem Chromosom TopQ 5800min TDD 18min

FRAGEN???