Der ursprüngliche PageRank-Algorithmus wurde
von Lawrence Page und Sergey Brin mehrfach beschrieben. Er hat die
folgende Form:
PR(A) = (1-d) + d (PR(T1)/C(T1) + ...
+ PR(Tn)/C(Tn))
Hierbei ist:
PR(A) der PageRank einer Seite A,
PR(Ti) der PageRank der Seiten Ti, von denen ein Link
auf die Seite A zeigt,
C(Ti) die Gesamtanzahl der Links auf Seite Ti und
d ein Dämpfungsfaktor (Damping Factor), wobei 0 <= d <= 1 ist.
Das PageRank-Verfahren bewertet damit grundsätzlich nicht
Websites in ihrer Gesamtheit, sondern basiert ausschließlich auf
der Beziehung einzelner Webseiten zueinander. Der PageRank
einer Seite A bestimmt sich dabei rekursiv aus dem PageRank
derjenigen Seiten, von denen ein Link auf die Seite A zeigt.
Der PageRank der Seiten Ti, die auf eine Seite A verlinken,
fließt nicht gleichmäßig in den PageRank von Seite A ein.
Der PageRank einer Seiten T wird stets anhand der Anzahl C(T)
der von Seite T ausgehenden Links gewichtet. Das bedeutet, dass
je mehr ausgehende Links eine Seite T hat, umso weniger PageRank
gibt sie an Seite A weiter.
Der anhand der Anzahl an ausgehenden Links gewichtete PageRank
der Seiten Ti wird nun addiert. Dies hat zur Folge, dass jeder zusätzliche
eingehende Link für eine Seite A stets den PageRank dieser
Seite A erhöht.
Schließlich wird die Summe der gewichteten PageRanks der Seiten
Ti mit dem Dämpfungsfaktor d, der stets zwischen 0 und 1 liegt multipliziert.
Hierdurch wird das Ausmaß der Weitergabe des PageRanks von einer
Seite auf einer andere verringert.
Das Random Surfer Modell:
Lawrence Page und Sergey Brin bieten in ihren Veröffentlichungen
eine sehr einfache, intuitive Rechtfertigung des PageRank-Algorithmus
an. Sie betrachten PageRank-Verfahren als ein Modell zur Abbildung
von Benutzer-Verhalten. Hierzu führen sie einen Zufalls-Surfer an,
der von einer Webseite zur nächsten jeweils beliebige Links verfolgt,
ohne dabei auf Inhalte zu achten.
Der Zufalls-Surfer befindet sich mit einer bestimmten
Wahrscheinlichkeit auf einer Website, die sich aus deren PageRank
herleiten lässt. Die Wahrscheinlichkeit, dass der Zufalls-Surfer
nun einen bestimmten Link verfolgt, ergibt sich dann einzig und
allein daraus, aus wievielen Links er die Auswahl hat. Aus diesem
Grunde fließt der PageRank einer verlinkenden Seite stets
nach der Anzahl Ihrer ausgehenden Links gewichtet in die PageRank
Berechnung einer verlinkten Seite ein.
Die Wahrscheinlichkeit, dass der Zufalls-Surfer
auf eine Seite gelangt, ist also die Summe der Wahrscheinlichkeiten,
mit der er von einer verlinkenden Seite den entsprechenden Link
verfolgt. Nun wird allerdings die Wahrscheinlichkeit, mit der der
Zufalls-Surfer auf eine Seite gelangt, um den Faktor d gedämpft.
Dies hat im Rahmen des Random Surfer Modells den Hintergrund, dass
der Zufalls-Surfer nicht unendlich viele Links verfolgt. Nach einer
bestimmten Zeit wird er gelangweilt und ruft eine beliebige andere
Webseite auf.
Die Wahrscheinlichkeit, mit der der Zufalls-Surfer
die Verfolgung von Links nicht abbricht und somit weiterklickt,
wird durch den Dämpfungsfaktor d angegeben, der abhängig von der
Höhe der Wahrscheinlichkeit einen Wert von 0 bis 1 annimmt. Je höher
d ist, um so wahrscheinlicher ist es, dass der Zufalls-Surfer Links
verfolgt. Da der Zufalls-Surfer nach dem Abbruch der Link-Verfolgung
eine beliebige Seite aufruft, geht die Wahrscheinlichkeit mit er
er dies tut, mit dem Wert (1-d) als Konstante in die Berechnung
des PageRanks einer jeden Seite ein.
Abweichende Formulierung des
PageRank-Algorithmus:
Lawrence Page und Sergey Brin bieten in ihren Veröffentlichungen
zwei unterschiedliche Versionen des PageRank-Algorithmus an.
In dieser zweiten Version bestimmt sich der PageRank einer
Seite A wie folgt:
PR(A) = (1-d) / N + d (PR(T1)/C(T1)
+ ... + PR(Tn)/C(Tn))
Hierbei ist N die Anzahl aller Seiten des Webs.
Diese zweite Version des PageRank-Algorithmus unterscheidet
sich allerdings nicht grundlegend von der ersten. In der zweiten
Version beschreibt der PageRank einer Seite im Sinne des Random
Surfer Modells lediglich die tatsächliche Wahrscheinlichkeit, mit
der der Zufalls-Surfer nach dem Verfolgen vieler Links eine Seite
erreichen wird. Dieser Algorithmus bildet damit eine Wahrscheinlichkeitsverteilung
über alle Seiten des Webs ab. Die Summe aller PageRank-Werte
des Webs ist damit bei dieser Version des Algorithmus gleich 1.
In der oben genannten, ersten Version erfolgt eine
Gewichtung der Wahrscheinlichkeit des Besuchs einer Seite nach der
Anzahl der Seiten des Webs. Demnach ist der PageRank in dieser
Version im Grunde der Erwartungswert für den Besuch des Zufalls-Surfers
auf einer Seite, wenn er hierfür Anläufe in genau der Höhe der Anzahl
der Seiten des Webs nimmt. Bestünde das Web also aus 100 Seiten,
und eine Seite hat einen PageRank von 2, so würde der Zufalls-Surfer
sie bei 100 "Surfgängen" im Mittel zweimal erreichen.
Wie bereits erwähnt, unterscheiden sich die beiden
Versionen des Algorithmus sich nicht grundlegend. Letztlich muss
der PageRank einer Seite aus der Algorithmus-Version 2 lediglich
mit der Anzahl der Webseiten multipliziert werden, um zum PageRank
der Algorithmus-Version 1 zu gelangen. Selbst Page und Brin ist
in Ihrer wohl bekanntesten Veröffentlichung "The Anatomy of a Large-Scale
Hypertextual Web Search Engine" der Fehler unterlaufen, die erste
Version des PageRank-Algorithmus als Wahrscheinlichkeitsverteilung
zu charakterisieren, bei der die Summe der PageRank-Werte
aller Seiten gleich eins sei.
Im Folgenden wird für die weiteren Betrachtungen
der oben zuerst genannte Algorithmus verwandt. Dies hat den einfachen
Hintergrund, dass Berechnungen hiermit wesentlich einfacher sind,
da die Größe des Webs vollkommen außer Acht gelassen werden kann.
Die Eigenschaften des PageRank:
Die Eigenschaften des PageRank sollen jetzt
anhand eines Beispieles veranschaulicht werden.
Hierzu
wird ein kleines 3-Seiten-Web aus den Seiten A, B und C betrachtet,
wobei Seite A sowohl auf Seite B als auch auf Seite C verlinkt.
Seite B verlinkt lediglich auf Seite C und Seite C wiederum verlinkt
auf Seite A. Der Dämfungsfaktor d wird Angaben von Lawrence Page
und Sergey Brin zufolge für tatsächliche Berechnungen üblicherweise
auf 0.85 gesetzt. Der Einfachheit halber wird d an dieser Stelle
ein Wert von 0.5 zugewiesen, wobei die Höhe von d zwar Auswirkungen
auf den PageRank hat, das hier zu erläuternde Prinzip jedoch
nicht beeinflusst. Es ergeben sich die folgenden Gleichungen für
den PageRank der einzelnen Seiten:
PR(A) = 0.5 + 0.5 PR(C)
PR(B) = 0.5 + 0.5 (PR(A) / 2)
PR(C) = 0.5 + 0.5 (PR(A) / 2 + PR(B))
Dieses Gleichungssystem lässt sich sehr einfach für den PageRank
der einzelnen Seiten lösen. Es ergeben sich die folgenden Werte:
PR(A) = 14/13 = 1.07692308
PR(B) = 10/13 = 0.76923077
PR(C) = 15/13 = 1.15384615
Es zeigt sich, dass die Summe der PageRanks aller Seiten gleich drei
und somit gleich der Anzahl der Seiten ist. Dies ist keine spezifisches
Ergebnis für unser Beispiel, da der PageRank Algorithmus einen
Erwartungswert für den Besuch von Seiten bei Anläufen in Höhe der
Anzahl der Seiten darstellt.
Für ein kleines 3-Seiten-Beispiel lässt sich ein Gleichungssystem
unproblematisch lösen. Das tatsächliche WWW besteht jedoch mittlerweile
aus mehreren Milliarden Webseiten, so dass die Lösung eines entsprechenden
Gleichungssystems nicht mehr möglich ist.
Die iterative Berechnung des
PageRank:
Aufgrund der Größe des Webs erfolgt in der Praxis
der Suchmaschine Google eine näherungsweise, iterative Berechnung
des PageRank. Dies bedeutet, dass zunächst jeder Seite ein
PageRank zugewiesen wird, und anschließend der PageRank
aller Seiten in mehreren Berechnungsrunden ermittelt wird. Diese
näherungsweise Berechung soll wiederum anhand unseres kleinen Beispiels
demonstriert werden, wobei als Ausganswert für den PageRank
einer jeden Seite zunächst 1 angenommen wird.
Iteration
PR(A)
PR(B)
PR(C)
0
1
1
1
1
1
0.75
1.125
2
1.0625
0.765625
1.1484375
3
1.07421875
0.76855469
1.15283203
4
1.07641602
0.76910400
1.15365601
5
1.07682800
0.76920700
1.15381050
6
1.07690525
0.76922631
1.15383947
7
1.07691973
0.76922993
1.15384490
8
1.07692245
0.76923061
1.15384592
9
1.07692296
0.76923074
1.15384611
10
1.07692305
0.76923076
1.15384615
11
1.07692307
0.76923077
1.15384615
12
1.07692308
0.76923077
1.15384615
Es zeigt sich, dass sich in unserem Beispiel bereits
nach sehr wenigen Iterationen eine sehr gute Näherung an die tatsächlichen
Werte ergibt. Für die Berechnung des PageRanks für das komplette
WWW werden von Lawrence Page und Sergey Brin ca. 100 Iterationen
als hinreichend genannt.
Entscheidend ist, dass die Summe der PageRanks
aller Seiten nach der Durchführung der iterativen Berechnung gegen
die Anzahl aller Seiten konvergiert. Der durchschnittliche PageRank
aller Seiten geht mithin gegen 1. Jede Seite hat einen minimalen
PageRank von (1-d). Der theoretisch maximale PageRank
einer Seite beträgt dN+(1-d), wobei N die Anzahl aller Webseiten
ist. Dieser theoretische Wert käme zustande, wenn sämtliche Webseiten
ausschließlich auf eine Seite verlinken, und auch diese wiederum
ausschließlich auf sich selbst verlinkt.