Algorithm Engineering Teilmengen-Suche Stefan Edelkamp.

Slides:



Advertisements
Ähnliche Präsentationen
Spezialvorlesung Suchalgorithmen Thema: External Probabilistic Planning Stefan Edelkamp.
Advertisements

Algorithm Engineering Parallele Algorithmen Stefan Edelkamp.
Der Foliensatz ist unter einer Creative Commons-Lizenz lizenziert:
Problemlösen am Beispiel des Rückwärtsarbeitens
Heute Mathe, morgen DLR! Dr. Margrit Klitz
Wissenschaftliche Methodik
3. Schafft das Internet neue Transaktionsdesign?
Umweltbezogene Entscheidungen - multidimensionale Bewertungsverfahren -
R What is this R thing, and is it worth some effort?
Elektro-Skateboards Teil I Grundlagen
8 Zündung/Motormanagement
Stichwortverzeichnis
2 Elektrische Maschinen in Kraftfahrzeugen
Kapitel 4 Traveling Salesman Problem (TSP)
Markus Lips März 2017 ETH-Vorlesung, 6. Sem. Agrarwissenschaft BSc Agrartechnik II.
Einführung in die Wahrscheinlichkeitsrechnung
Motoremissionen mobiler Anlagen – Stand der Technik
Inhaltsverzeichnis In der vorliegenden Präsentation finden Sie unter anderem Antworten auf folgende Fragen… warum ist eine Gesetzesinitiative zum Betriebliches.
Einführung in Web- und Data-Science
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Industrie 4.0 für die Ausbildung 4.0
Entwicklung epistemologischer Überzeugungen
PSG II Neuer Pflegebedürftigkeitsbegriff und dessen Begutachtung (NBA)
Medientechnische Infrastrukturen für virtuelle und lokale Lernräume
Wissensmanagement im Zeitalter von Digitaler Transformation
GABI UND BEN.
Pflege & Finanzierung 01. Juni 2017 Dr. Sonja Unteregger
Das Arbeitgebermodell in Zeiten des
Microsoft® Office PowerPoint® 2007-Schulung
Einführung in Web- und Data-Science
Pensionsrück-stellungen Prof. Dr. Matthias Hendler
Mathematik 10.
Betriebliche Gesundheitsförderung 2
Vorlesung Wasserwirtschaft & Hydrologie I
Forschungsmethoden in der Teilchenphysik
Neue Unterrichtsmaterialien zur Teilchenphysik Philipp Lindenau CERN | Herzlich willkommen! Präsentation mit Notizen hinterlegt!
Eröffnungsveranstaltung
Aktuelle Themen aus dem KVJS-Landesjugendamt Referat 44
Roomtour - Podio für Anfänger
Frauen- Männerriegen KONFERENZ
Was ist eigentlich Datenschutz?
Aktuelle Aspekte des Europäischen Zivilprozessrechts
Wer wir sind! Ihr S-Campus-Team direkt im Campus Center. Sven Deussing
Produktionsfaktoren 1 Ökonomische Handlungsprinzipen
Morphonologie der Verben 2 Präteritum
Forschungsmethoden in der Teilchenphysik
Vorlesung Eigenspannungen in Bauteilen und Werkstoffen
Varianzfortpflanzung
Abiturprüfung Mathematik 2017 Baden-Württemberg Allgemeinbildende Gymnasien Pflichtteil Lösungen
Möglichkeiten und Grenzen praxisorientierter Verfahren
/ SES.125 Parameterschätzung Verteilungen Torsten Mayer-Gürr
2. Vererbung und Kapselung
Kapitel 4 Traveling Salesman Problem (TSP)
GTI – ÜBUNG 11 Friedrich-Alexander Universität Erlangen-Nürnberg Jan Spieck AUTOMATEN.
Ökonometrie und Statistik Datamining und Big Data anhand von Fallbeispielen Dr. Bertram Wassermann.
Fähigkeiten Für das Abitur sollten Sie folgende können:
Frauenhaus mit 53 Plätzen (seit 1990)
Software in sicherheitsrelevanten Systemen
Gefahren für die Bienen
RADBALL: Flavio Fortini und Levin Fankhauser VMC Liestal
Pfadi Aarewacht Lyss, Schüpfen und Umgebung
Kommunikation …  ​ 1. Lizenzstufe Übungsleiter/-in-C Breitensport Aufbaumodul sportartübergreifend.
Außerschulische Lernorte im Wandel der Zeit
Ich hab´s immer gewusst
Hypothesentest Mit R.
„Das habe ich vorher ganz anders gesehen“ - Eine Pilotstudie zur Wirkung von systematischer Unterrichtsreflexion während eines Langzeitpraktikums Thomas.
Algorithmen und Datenstrukturen
Ökonometrie und Statistik Datamining und Big Data anhand von Fallbeispielen Dr. Bertram Wassermann.
Bist du vor 1975 geboren ? Bitte weiter lesen.
 Präsentation transkript:

Algorithm Engineering Teilmengen-Suche Stefan Edelkamp

Motivation Speicherplatzsparende Wörterbücher Programm/Modellprüfung (Model Checking) Subzeichenketten-Erkennung: Editierdistanz-Problem, Approximative Zeichenkettensuche MSA (Multiple Sequence Alignment) Problem Teilwort-Erkennung: Kreuzwort-Problem: Eine Anfrage wie B*T**R im Kreuzworträtselproble mit BETTER, BITTER, BUTLER, oder BUTTER beantworten Spieleprogrammierung

Übersicht Speicherplatzsparende Wörterbücher Bit-State Hashing Hash-Compaction Subzeichenketten-Erkennung: Dynamische Programmierung Teilwort-Erkennung: Listen und Array Hashing und Tries Unlimited Branching Trees

Übersicht Speicherplatzsparende Wörterbücher Bit-State Hashing Kollaps-Kompression Subzeichenketten-Erkennung: Dynamische Programmierung Teilwort-Erkennung: Listen und Array Hashing und Tries Unlimited Branching Trees

Model Checking Gegeben Eine Modell eines Systems. Die Spezifikation einer Eigenschaft Problem Erfüllt das System die Eigenschaft? search specification state rep. modeling language transition system Abstraction

Objectcode Beispiel: Prüfen eines C++ Programms igcc Compiler Model checker Virtual Machine char globalChar; int globalBlocksize = 7; int main(){ allocateBlock(blocksize); } void allocateBlock(int size){ void *memBlock; memBlock = (void *) malloc(size); }

Interpretieren des Objectcodes char globalChar; int globalBlocksize = 7; int main(){ allocateBlock(blocksize); } void allocateBlock(int size){ void *memBlock; memBlock = (void *) malloc(size); } Register BSS Section Data Section Text Section Stack Memory Pool Virtuelle Maschine Objectcode

Generierung von Zuständen Register BSS Section Data Section Text Section Stack Memory Pool Virtuelle Maschine Register BSS Section Data Section Text Section Stack Memory Pool Startzust. Register BSS Section Stack Memory Pool Zust. 1 Register BSS Section Data Section Stack Zust. 2

Kollaps-Kompression für große Zustände

Fehlerhafte Wörterbücher sparen Platz

Fehlerwahrscheinlichkeit in Bit-State Hashing (Bloom Filter) n: Anzahl der Elemente m: Anzahl der Bits (Tabellengröße) i tes Element kollidiert mit 1…i-1 mit Wkeit von Wahrscheinlichkeit für einen fehlerhafte Suche

Senken der Fehlerrate h unabhängige Hashfunktionen, hn <=n Mit zwei Bits (Double Bit-State Hashing)

Übersicht Speicherplatzsparende Wörterbücher Bit-State Hashing Kollaps-Kompression Subzeichenketten-Erkennung: Dynamische Programmierung Teilwort-Erkennung: Listen und Array Hashing und Tries Unlimited Branching Trees

Editierdistanz-Problem Berechne für zwei gegebene Zeichenfolgen A und B möglichst effizient die Editier-Distanz D(A,B) und eine minimale Folge von Editieroperationen, die A in B überführt. i n f o r m a t i k - i n t e r p o l - a t i o n

Sequenzalignierung

Größere Protein/DNA Sequenzen

Rekursionsgleichung

Programm

Beispiel: ABCD,BCD, DB

Spurgraph der Editier- operationen B = a b a c A = b a a c

Subgraph der Editieroperationen Spurgraph: Übersicht über alle möglichen Spuren zur Transformation von A in B, gerichtete Kanten von Knoten (i, j) zu (i + 1, j), (i, j + 1) und (i + 1, j + 1). Gewichtung der Kanten entsprechen den Editierkosten. Kosten nehmen entlang eines optimalen Weges monoton zu. Jeder Weg mit monoton wachsenden Kosten von der linken oberen Ecke zu rechten unteren Ecke entspricht einer optimalen Spur.

Approximative Zeichenkettensuche Gegeben: zwei Zeichenketten P = p 1 p 2... p m ( Muster) und T = t 1 t 2... t n (Text) Gesucht: Ein Intervall [j´, j], 1 j´ j n, so dass das Teilwort T j´, j = t j´... t j das dem Muster P ähnlichste Teilwort von T ist, d.h. für alle anderen Intervalle [k´, k], 1 k´ k n, gilt: D(P,T j´, j ) D(P, T k´, k ) T P j

Erster Ansatz Naives Verfahren: for all 1 j´ j n do Berechne D(P,T j´, j ) wähle Minimum

Trick Betrachte verwandtes Problem: T j i E(i, j) P Für jede Textstelle j und jede Musterstelle i berechne die Editierdistanz des zu P i ähnlichsten, bei j endenden Teilstücks T j´,j von T.

Algorithmus Methode: for all 1 j n do Berechne j´, so dass D(P,T j´, j ) minimal ist Für 1 i m und 0 j n sei: Optimale Spur: P i = b a a c a a b c T j´, j = b a c b c a c

Rekursionsgleichung: Bemerkung: j´ kann für E i-1, j-1, E i – 1,j und E i, j – 1 ganz verschieden sein. Teilspur einer optimalen Spur ist eine optimale Teilspur.

Approximative Zeichenkettensuche Anfangsbedingungen: E 0,0 = E(, ) = 0 E i,0 = E(P j, ) = i aber E 0,j = E(,T j ) = 0 Beobachtung: Die optimale Editiersequenz von P nach T j´, j beginnt nicht mit einer Einfügung von t j´.

Abhängigkeitsgraph T = a b b d a d c b c P = a d b b c

Approximative Zeichenkettensuche Satz Gibt es im Abhängigkeitsgraphen einen Weg von E 0, j´- 1 nach E i, j, so ist T j´, j ein zu P i ähnlichstes, bei j endendes Teilstück von T mit D(P i, T j´,j ) = E i, j

Übersicht Speicherplatzsparende Wörterbücher Bit-State Hashing Kollaps-Kompression Subzeichenketten-Erkennung: Dynamische Programmierung Teilwort-Erkennung: Listen und Array Hashing und Tries Unlimited Branching Trees

Teilmengen-Wörterbücher Sei D eine Menge von n Teilmengen aus U. Das SUBSET QUERY (CONTAINMENT QUERY) Problem fragt für q ob es ein p in D gibt mit q ist Teilmenge von p (p ist Teilmenge von q). Ein Teilmengen Wörterbuch ist eine abstrakte Datenstruktur die Einfügen erlaubt und Teilmengen- (Supermengen-) Anfragen anbietet

Subzeichenketten- vs. Teilzeichenkettenmatching Subzeichenkette: ADEK in Alphabet ABCD….XYZ Teilzeichenkette: STUV in Alphabet ABCD….XYZ

Anwendung Teilzeichenkettenmatching

Beispiel Subzeichenkettenmatching: Sokoban

Generierung größerer Muster

Anfragen mit Wildcards Sei ? ein spezieller dont care das jeden Buchstaben im Alphabet ersetzt (wildcard) Gegeben eine Menge D von n Zeichenketten, dann beantwortet eine Datenstruktur für das PARTIAL MATCH Problem für eine Anfrage q (mit wildcards) ob es einen Eintrag q in D gibt, so dass q zu p passt

Kreuzworträtsel - Konstruktionsproblem

State-of-the-Art !? Combus Crossword Puzzles as a Constraint Problem CP 2008: Anbulagan and Adi Botea (words 45K, UK 220K Einträge, T sek. N expan. Knoten)

Datenstruktur? 1. Array und Listen Arrays: Platz O(2^m), m =|U| Zu groß in der Praxis Anfragezeit O(m) Listen: Optimaler Platz O(n) Anfragezeit: O(nm) Zu groß in der Praxis

2. Tries (PARTIAL MATCH)

3. Hashing (PARTIAL MATCH)

4. Unlimited Branching Trees (CONTAINMENT QUERY)

Einfügen UBT

Suche UBT

Beispiel: Hex

Virtuelle Verbindungen

Zielmusterdatenbank

UBT-Adaption

Symmetrien