pdf (18647 Kb) - Fachgebiet Datenbanken und Informationssysteme ...
pdf (18647 Kb) - Fachgebiet Datenbanken und Informationssysteme ...
pdf (18647 Kb) - Fachgebiet Datenbanken und Informationssysteme ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
durch die Formel<br />
darstellen, wobei gilt:<br />
ϕ(σ i (x, y)) =<br />
+<br />
σ i+1 (x, y) = σ i (x, y) + ϕ(σ i )(x, y)<br />
∑<br />
(a u,p,x)∈A,(b u,p,y)∈B<br />
∑<br />
(x,p,a v)∈A,(y,p,b v)∈B<br />
σ i (a u , b u ) · ω((a u , b u ), (x, y))<br />
σ i (a v , b b ) · ω((a v , b v ), (x, y))<br />
Aufgr<strong>und</strong> der Berechnung des neuen σ-Wertes als Summe würden die Ähnlichkeitswerte<br />
im Verlauf der Iterationen monoton wachsen, weshalb eine Normalisierung der<br />
σ-Werte nach jeder Iteration nötig ist. Das bedeutet, dass alle Werte am Ende einer<br />
Iteration durch den maximalen σ-Wert, der in der Iteration berechnet wurde, dividiert<br />
werden. Anschließend hat man somit nur Ähnlichkeitswerte im Bereich von 0 bis 1 für<br />
die nächste Iteration.<br />
Pseudocode 4.3 stellt die Funktion berechneÄhnlichkeiten dar, die die iterativen Berechnungen<br />
der σ-Werte für jeden Knoten eines gegebenen SPG durchführt. Dabei führt<br />
die normalisieren-Funktion die oben genannte Normalisierung durch. Die Komplexität<br />
der Methode ist dabei O(n Knoten ∗ n Kanten ), wobei n Knoten <strong>und</strong> n Kanten die Anzahl der<br />
Knoten bzw. Kanten im SPG sind.<br />
Pseudocode 4.3: berechneÄhnlichkeiten(SPG spg)<br />
for each Knoten (a 1 , b 1 ) ∈ spg do<br />
σ neu (a 1 , b 1 ) ← σ(a 1 , b 1 )<br />
for each Kante ((a 1 , b 1 ), l, (a 2 , b 2 )) ∈ spg do // ausgehende Kanten<br />
σ neu (a 1 , b 1 ) = σ neu (a 1 , b 1 ) + σ(a 2 , b 2 ) · ω((a 1 , b 1 ), (a 2 , b 2 ));<br />
for each Kante ((a 2 , b 2 ), l, (a 1 , b 1 )) ∈ spg do // eingehende Kanten<br />
σ neu (a 1 , b 1 ) = σ neu (a 1 , b 1 ) + σ(a 2 , b 2 ) · ω((a 2 , b 2 ), (a 1 , b 1 ));<br />
for each Knoten (a 1 , b 1 ) ∈ spg do<br />
σ(a 1 , b 1 ) = normalisieren(σ neu (a 1 , b 1 ))<br />
Tabelle 4.2 stellt den Verlauf der normalisierten Ähnlichkeitswerte des SPG aus Abbildung<br />
4.3 über mehrere Iterationen dar. Als Anfangsähnlichkeiten wurde hier σ 0 = 1.0 für<br />
alle Map Pairs angenommen. Gemäß der Formel berechnet sich zum Beispiel der Wert für<br />
σ 1 (a 1 , b 3 ) als σ 1 (a 1 , b 3 ) = σ 0 (a 1 , b 3 )+σ 0 (a 1 , b 3 )·ω((a 1 , b 3 ), (a 2 , b 1 )) = 1.0+1.0·1.0 = 2.0,<br />
aufgr<strong>und</strong> der Normalisierung mit dem maximal erreichten Wert in der Iteration (in diesem<br />
Fall der Wert 3.0) ergibt sich daraus σ 0 (a 1 , b 3 ) = 2 3 = 0.6.<br />
Schon nach den dargestellen fünf Iterationen kann man erkennen, dass der Ähnlichkeitswert<br />
für (a 1 , b 1 ) konstant bei 1.0 bleibt, die Werte für (a 2 , b 2 ) <strong>und</strong> (a 3 , b 4 ) gegen 0.71<br />
konvergieren <strong>und</strong> die Ähnlichkeiten der restlichen Map Pairs immer weiter gegen 0 konvergieren.<br />
Würde man noch weitere Iterationen durchführen, könnte man beobachten,<br />
dass die Ähnlichkeitswerte für (a 1 , b 3 ), (a 2 , b 1 ), (a 2 , b 3 ), (a 3 , b 3 ) <strong>und</strong> (a 4 , b 2 ) tatsächlich<br />
23