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.

2.1. Texte 17Um Aussagen darüber zu treffen, welche Periodenlängen in einem Wort vorkommen müssen,zitieren wir ein klassisches Resultat von Lyndon und Schützenberger ohne Beweis.Lemma 2.12 (Lyndon & Schützenberger 1962) Besitzt ein Wort w ∈ Σ ∗ Periodender Längen p und q und gilt |w| ≥p + q, sobesitztw eine Periode der Länge ggT(p, q).Im Folgenden werden aperiodische und periodische Suchwörter getrennt behandelt. Zunächstwerden wir zeigen, dass aperiodische Suchwörter nicht sehr häufig in einem Textvorkommen können. Dazu beweisen wir folgendes Lemma.Lemma 2.13 Es seien s und t Wörter über Σ mit |s| = m und |t| = n. Weiterhinseir = r(s, t) die Anzahl der Vorkommen von s in t. Istr> 2n m, so ist das Wort s periodisch.Beweis: Angenommen es gilt r> 2n m. Nach dem Schubfachschlussprinzip muss es zweiPositionen p und p+k in t geben, ab denen s in t vorkommt, wobei k ≤ m 2und p ≤ n−m−1gilt. (Anderenfalls würde (r − 1)m 2n m.) Damit ist s = uv für |u| = k und v ein Präfix von s. NachProposition 2.11 ist u eine Periode von s. Somit ist s periodsch.Eine Folgerung aus diesem Lemma ist, dass der modifizierte Algorithmus von Boyer undMoore auf aperiodischen Suchwörtern bereits in Linearzeit läuft.Korollar 2.14 Der modifizierte Algorithmus von Boyer und Moore benötigt maximal 11nVergleiche, um alle Vorkommen eines aperiodischen Suchwortes s in einem Wort derLänge n auszugeben.Beweis: Es sei s ein aperiodisches Wort der Länge m. Somit gilt nach Lemma 2.13 fürdie Anzahl r = r(s, t) der Vorkommen von s in t die Ungleichung r ≤ 2n m. Mithin ergibtsich unter Verwendung von Satz 2.9 für die Anzahl V (n, m, r) der Vergleiche, die dermodifizierte Algorithmus benötigt, um alle r Vorkommen zu finden:Dies beweist die Aussage des Korollars.V (n, m, r) ≤ 3n +4rm − 6r ≤ 11n.Wenden wir uns nunmehr periodische Suchwörtern zu. Dazu müssen wir unser Vokabularetwas erweitern.Es sei s = s 0 ...s m−1 ein periodisches Wort über Σ. Weiterhin sei u die kürzeste Periodevon s. Es bezeichne k die Länge von u. Für k gilt also k ≤ m 2 .Esseit = t 0 ...t n−1 ebenfallsein Wort über Σ. Wir definierenP (s, t) = def { p | s kommt in t ab Position p vor }.Version 0.6 Fassung vom 16. Februar 2007

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!