4. Textalgorithmen Arten von String-Matching-Problemen ...
4. Textalgorithmen Arten von String-Matching-Problemen ...
4. Textalgorithmen Arten von String-Matching-Problemen ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>4.</strong> <strong>Textalgorithmen</strong> Trie<br />
a<br />
$<br />
b<br />
c<br />
<strong>4.</strong> <strong>Textalgorithmen</strong> Positionsbäume<br />
Positionsidentifikator<br />
7<br />
Beispiel <strong>4.</strong>15. [Suffix-Trie] Der<br />
Suffix-Trie für den <strong>String</strong> abcabc$<br />
sieht folgendermaßen aus:<br />
b<br />
a<br />
b c a<br />
c<br />
a $ b<br />
5<br />
$ b<br />
c<br />
4<br />
c<br />
$<br />
6<br />
$<br />
Definition <strong>4.</strong>6. Es seien Σ ein Alphabet, s, u Zeichenreihen (<strong>String</strong>s)<br />
∈ Σ ∗ mit s ≠ ɛ und i ∈ IN mit 1 ≤ i ≤ |s|.<br />
Dann heißt u Positionsidentifikator für die Position i in s (Bezeichnung:<br />
u = pid s (i)) genau dann, wenn die folgenden Bedingungen gelten:<br />
(i) ∃y, z mit s = yuz und |y| = i − 1.<br />
3<br />
c<br />
$<br />
(ii) ∀y ′ , z ′ : s = y ′ uz ′ ⇒ y ′ = y und z ′ = z<br />
2<br />
$<br />
(iii) |u| ist minimal unter den Bedingungen (i) und (ii).<br />
1<br />
Information Retrieval — FH Bonn-Rhein-Sieg, SS 06 242<br />
Information Retrieval — FH Bonn-Rhein-Sieg, SS 06 244<br />
<strong>4.</strong> <strong>Textalgorithmen</strong> Trie<br />
• Es besteht eine Eins-zu-eins-Beziehung zwischen den Knoten <strong>von</strong><br />
ST (s) und den verschiedenen Substrings <strong>von</strong> s.<br />
• Die Anzahl der Knoten <strong>von</strong> ST (s) ist u.U. quadratisch in |s|.<br />
• Dies ist z.B. für <strong>String</strong>s der Form a m b m $ der Fall. Solche <strong>String</strong>s der<br />
Länge 2m + 1 haben m 2 + 4m + 2 verschiedene Substrings.<br />
<strong>4.</strong> <strong>Textalgorithmen</strong> Positionsbäume<br />
Bemerkungen:<br />
• u = ɛ erfüllt Bedingung (i) für jedes s ∈ Σ + und jedes i mit 1 ≤ i ≤ |s|.<br />
• Für |s| ≥ 2 erfüllt u = ɛ Bedingung (ii) nicht.<br />
• Nicht für alle s und alle i existiert ein Positionsidentifikator.<br />
☞ Statt einen kompletten Suffix ab Position i in text nimmt man nur<br />
einen <strong>String</strong> auf, der die Position i in text eindeutig beschreibt.<br />
• Falls für <strong>String</strong> s und Position i ein Positionsidentifikator existiert, so<br />
ist er eindeutig bestimmt.<br />
Lemma <strong>4.</strong>8. Bei Abschluß <strong>von</strong> s mit einem Sonderzeichen $, das in s<br />
nicht vorkommt, existiert für jede Position <strong>von</strong> s$ ein Positionsidentifikator.<br />
Information Retrieval — FH Bonn-Rhein-Sieg, SS 06 243<br />
Information Retrieval — FH Bonn-Rhein-Sieg, SS 06 245