algorithm engineering zeichenkettensuche stefan edelkamp

46
Algorithm Engineering „Zeichenkettensuche“ Stefan Edelkamp

Upload: kristen-gehrs

Post on 06-Apr-2015

113 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Algorithm Engineering „Zeichenkettensuche“

Stefan Edelkamp

Page 2: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Motivation

Page 3: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Übersicht

Page 4: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Brute-Force

Page 5: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Best-, Average- und Worst-Case

Page 6: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Rabin-Karp Algorithmus

Page 7: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp
Page 8: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

In der Praxis

Page 9: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Algorithmus

Page 10: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Korrektheit

Page 11: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Induktives Argument

Page 12: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Laufzeit

Page 13: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Endliche (Stringerkennungs-) Automaten

Page 14: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Maximaler Präfix-Suffix String

Page 15: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Beispiellauf

Page 16: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Reguläre Ausdrücke

Page 17: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Äquivalenz Reg. Ausdruck, NFA

Page 18: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Erste Erkenntnisse

Page 19: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Matching mit NFAs

Page 20: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Pseudo-Code

Page 21: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Laufzeit

Page 22: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Knuth-Morris-Pratt

Page 23: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

„Wenn hier einer Anna nass macht“

Page 24: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Berechnung der Fehlerfunktion

Page 25: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Textsuche

Page 26: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

„Wer ‚a‘ sagt muss auch ‚b‘ sagen …“

Page 27: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Laufzeiten

Page 28: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Endliche Automaten und KMP

Page 29: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Boyer-Moore

Page 30: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

„Schlechte Charaktere“

Page 31: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

„Happy End“

Page 32: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Zusammenspiel der beiden Heuristiken

Page 33: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Best-, Average, Worst-Case

Page 34: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Aho & Corasick

Page 35: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Fehlerfunktion

Page 36: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Endlich ein Bild

Page 37: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Pseudo-Code

Page 38: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Laufzeit

Page 39: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp
Page 40: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Konstruktion eines Automatens

Page 41: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Schon wieder ein Bild

Page 42: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Laufzeit Aho-Corasick

Page 43: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Wild-Cards

Page 44: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Beweis durch Pseudo-Code

Page 45: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Letztes Beispiel

Page 46: Algorithm Engineering Zeichenkettensuche Stefan Edelkamp

Probleme Aho-Corasick