16.12.2012 Aufrufe

Zusammenfassung - Otto-von-Guericke-Universität Magdeburg

Zusammenfassung - Otto-von-Guericke-Universität Magdeburg

Zusammenfassung - Otto-von-Guericke-Universität Magdeburg

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.

6.2 Approximative Stringsuche mittels dynamischer Programmierung<br />

Di,0 = i (6.14)<br />

D0, j = 0<br />

⎧<br />

⎨ Di−1, j−1 +<br />

⎫<br />

d(i, j), ⎬<br />

(6.15)<br />

mit<br />

Di, j<br />

d(i, j)<br />

=<br />

=<br />

min Di−1, j +<br />

⎩<br />

Di, j−1 +<br />

�<br />

1 falls ri �= si<br />

0 sonst<br />

1,<br />

1<br />

⎭<br />

(6.16)<br />

(6.17)<br />

Wie im Falle des klassischen Editierabstandes ist D hierbei eine Distanzmatrix der Größe<br />

(m + 1) × (n + 1), wobei m = |r| die Länge der Merkmalssequenz r der Sucheingabe und<br />

n = |s| die Länge der Merkmalssequenz s eines Dokumentes ist. Die Elemente der Matrix<br />

D an der Stelle (i, j) enthalten den Editierabstand zwischen der Teilsequenz r1...i und einer<br />

Teilsequenz s ( j−k+1)... j der Länge k (mit k ∈ N), wobei der Wert k ohne weitere Berechnungen<br />

nicht bekannt ist. Daraus folgt, dass in der m-ten Zeile der Distanzmatrix in den Spalten<br />

j (mit 0 < j ≤ n) der Editierabstand zwischen der Merkmalssequenz der Sucheingabe und<br />

einem Teil der Dokumentsequenz, der an der Stelle j endet, zu finden ist. Diese m-te Zeile<br />

Dm,0...n soll im Folgenden kurz als Dm bezeichnet werden. Die Elemente der Zeile Dm können<br />

den Wert m nicht übersteigen, da, wie in Abschnitt 6.1.1 diskutiert wurde, der Editierabstand<br />

zweier Zeichenketten höchstens so groß ist, wie die Länge der längeren Zeichenkette. Bei<br />

der Suche einer kurzen Zeichenkette r in einer langen Zeichenkette s kann dieser maximale<br />

Editierabstand m = |r| an jeder Stelle j dadurch angenommen werden, dass r aus der leeren<br />

Zeichenkette λ in m Schritten erzeugt wird.<br />

Wenn, wie in Gleichung 6.15 geschehen, die Werte der 0-ten Spalte (i = 0) auf 0 gesetzt<br />

werden, bedeutet dies, dass bei der Suche nach der leeren Teilsequenz (r1...0 = λ) an jeder<br />

Stelle j der Dokumentsequenz s der Editierabstand gleich 0 ist. Dies ist der Grund für die<br />

Verwendbarkeit der Gleichungen 6.14 bis 6.17 als Suchfunktion; jede Stelle der Dokumentsequenz<br />

s kann theoretisch der Beginn einer Teilsequenz <strong>von</strong> s sein, die zu r eine hohe Ähnlichkeit<br />

aufweist.<br />

In Abbildung 6.3 ist das Beispiel einer Distanzmatrix D der Größe 8 × 23 (D0...7,0...22)<br />

für die Suche nach der Zeichenkette r = »prinzip« der Länge m = 7 in der Zeichenkette<br />

s = »dieerzeugungsprincipe« 3 der Länge n = 22 mit r,s ∈ A ∗ a...z dargestellt. Die unterste<br />

Matrixzeile (Dm) stellt den Editierabstand zwischen r und bestimmten Teilen <strong>von</strong> s dar.<br />

In diesem Beispiel ist insbesondere das Element D7,20 = 1 (hervorgehoben durch Fettdruck)<br />

interessant, da sich hier der beste Treffer findet, nämlich der Editierabstand zwischen r und<br />

s14...20 = »princip«. Das Ende j e = 20 des Treffers wird gefunden, indem nach dem Mini-<br />

mum der Zeile Dm gesucht wird. Um den Beginn j b = 14 des Treffers zu bestimmen, wird der<br />

so genannte optimale Alignment-Pfad gesucht, indem ausgehend <strong>von</strong> Dm, je die Matrix D nach<br />

oben und links elementweise nach möglichst kleinen Werten abgesucht wird, bis die Zeile D0<br />

erreicht ist. Das Ziel hierbei ist es, herauszufinden, welche Entscheidung die min-Funktion in<br />

Gleichung 6.16 getroffen hat.<br />

3 Eigentlich: »Die [. . . ] Erzeugungsprincipe, mit deren Hülfe [. . . ]« [Can83]<br />

77

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!