13.07.2015 Aufrufe

INSTITUTFÜRINFORMATIK - Lehrstuhl für Effiziente Algorithmen ...

INSTITUTFÜRINFORMATIK - Lehrstuhl für Effiziente Algorithmen ...

INSTITUTFÜRINFORMATIK - Lehrstuhl für Effiziente Algorithmen ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

22 Kapitel 2. DatenanalyseAlgorithmus:Eingabe:Gesucht:ComputeTransitionsWort s = s 0 ...s m−1eine Menge von Arrays S a für a ∈ Σ, wobei S a [j] =σ s (s 0 ...s j−1 a) gilt1. FOR a ∈ Σ2. B a [0] := −13. B a [1] := 04. l a := 05. FOR j := 2 TO m6. l := l sj−27. FOR a ∈ Σ8. l a := l9. WHILE l a ≥ 0 AND s la ≠ a10. l a := B sla [l a ]11. B a [j] :=l a +112. l a := l a +113. FOR i := 0 TO m − 114. IF a = s i15. S a [i] :=i +116. ELSE17. S a [i] :=B a [i +1]Abbildung 2.9: Algorithmus zur Berechnung der ÜbergangsfunktionZur Berechnung kann deshalb einfach der Algorithmus ComputeBoundaries zur Bestimmungder Ränderlängen beim Algorithmus von Knuth, Morris und Pratt adaptiert werden.Wie dies aussehen kann, ist in Abbildung 2.9 angegeben.Proposition 2.18 Für ein Alphabet Σ und ein Wort s ∈ Σ ∗ der Länge m kann dieÜbergangstabelle für den deterministischen endlichen Automaten M s in Zeit O(‖Σ‖ ·m)berechnet werden.Beweis: Analog zur Analyse von ComputeBoundaries (Lemma 2.5).Im Folgenden geben wir noch eine Idee für die Verallgemeinerung des Ansatzes auf Suchwörters 1 ,...,s k . Exemplarisch seien dazu wiederum das Suchwort s 1 = abacb mit demzugehörigen Automaten M s1 und das Suchwort s 2 = aabac mit dem zugehörgin AutomatenM s2aaba aabacaεaaaaabaabacaSkriptum zu Internet-Algorithmik WS 2006/2007

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!