Ursprüngliche Autorin ist Christiane Rousseau. (Übersetzt ins Deutsche von Reinhild Kokula, Universität Würzburg)
Schon von Anfang an war Google „die“ Suchmaschine. Der Grund dafür ist die Überlegenheit seines Rangfolgenalgorithmus: der PageRank Algorithmus. Wegen der enormen Menge an Seiten im World-Wide-Web enden viele Suchanfragen tatsächlich mit Tausenden oder Millionen von Ergebnissen. Wenn diese nicht richtig geordnet sind, ist die Suche vielleicht gar keine Hilfe, weil man keine Millionen Einträge erkunden kann.
Wie funktioniert der PageRank Algorithmus?
Dies werden wir klären. Doch lassen Sie uns zunächst eine Suche mit Google starten. Am 4. Juni 2010 erhält man 16.300.000 Ergebnisse für Klein project, obwohl das Projekt gerade erst begonnen hat. An genau diesem Tag ist das erste Ergebnis
http://www.mathunion.org/icmi/other-activities/klein-project/introduction/
und nicht
http://www.kleinproject.org/
Die erste URL ist die URL einer Seite, die sich auf der Internetseite der International Mathematical Union befindet: http://www.mathunion.org.
Weil die International Mathematical Union eine wichtige Gesellschaft ist, erscheint ihre offizielle Internetseite als erstes Ergebnis, wenn man die Suchanfrage „International Mathematical Union“ startet. Weiterhin kommuniziert sie die Wichtigkeit all ihrer Seiten, von welchen eine
als erstes Ergebnis für die Suche Klein project erscheint.
Um den Algorithmus zu erklären, modellieren wir das Internet als einen orientierten Graphen. Die Knoten sind die Seiten und die orientierten Kanten sind die Links zwischen Seiten. Wie gerade erklärt entspricht jede Seite einer anderen URL. Somit kann jede Webseite mehrere Seiten enthalten. Im Modell gibt es keinen Unterschied zwischen den einzelnen Unterseiten einer Webseite und der Titelseite, allerdings wird der Algorithmus mit großer Wahrscheinlichkeit die Titelseite einer wichtigen Webseite höher platzieren.
Ein einfaches Beispiel
Betrachten wir das obige einfache Netz, das die fünf Seiten
,
,
,
und
beschreibt. Dieses Netz enthält wenige Links. Wenn wir auf Seite
sind, dann gibt es nur einen Link zu Seite
. Doch wenn man auf Seite
ist, findet man drei Links und kann wählen, ob man zu Seite
,
oder
fortfahren möchte. Beachten Sie, dass es mindestens einen Link von jeder Seite aus gibt.
Spielen wir ein Spiel, das lediglich ein zufälliger Spaziergang auf dem orientierten Graphen ist. Bei Beginn an einer Seite wählen wir bei jedem Schritt einen beliebigen Link von der Seite, auf der wir gerade sind, und folgen ihm. Wenn man in diesem Beispiel o.B.d.A. auf der Seite beginnen, so können wir zu
oder zu
gehen, wobei jeder Fall eine Wahrscheinlichkeit von
aufweist. Wenn wir jedoch auf
beginnen, so sind wir gezwungen, mit einer Wahrscheinlichkeit von
nach
zu gehen. Wir wiederholen das Spiel.


Wir weisen darauf hin, dass die Summe der Einträge jeder Spalte gleich ist und dass alle Einträge größer oder gleich
sind. Matrizen mit diesen zwei Eigenschaften sind besondere Matrizen: Jede solche Matrix ist die Matrix eines Markow-Ketten-Prozesses und heißt deswegen die Markow-Übergangsmatrix. Sie besitzt immer
als Eigenwert und es gibt einen Eigenvektor zum Eigenwert
, dessen Komponenten alle kleiner gleich
und größer gleich
sind, wobei ihre Summe
ergibt. Doch bevor wir uns die Definition von Eigenwert und Eigenvektor ins Gedächtnis rufen erkunden wir die Vorteile der Matrixrepräsentation des Netzgraphs.
Betrachten wir eine zufällige Variable mit Werten in der Menge der Seiten
, die
viele Seiten enthält (hier
).
repräsentiert die Seite, auf der wir nach n Schritten des zufälligen Spaziergangs gelandet sind. Wenn wir
den Eintrag der Matrix
nennen, der sich in der
-ten Zeile und
-ten Spalte befindet, so ist folglich pij die bedingte Wahrscheinlichkeit, dass wir im
-ten Schritt auf der i-ten Seite landen, wenn wir im
-ten Schritt auf der
-ten Seite sind:
Beachten Sie, dass diese Wahrscheinlichkeit unabhängig von ist! Wir sagen, dass ein Markow-Kettenprozess keine Erinnerung an die Vergangenheit hat. Man sieht leicht, dass die Wahrscheinlichkeiten nach zwei Schritten in der Matrix
summiert werden können.
Beweisen wir dies (wenn Sie wollen, können Sie den Beweis überspringen). Das Gesetz der totalen Wahrscheinlichkeit ergibt
Nach Definition der bedingten Wahrscheinlichkeit gilt
Wir nutzen einen altbekannten Trick und multiplizieren und dividieren mit derselben Menge:
Der erste Quotient ist gleich
weil der Markow-Kettenprozess keine Erinnerung vor dem vorherigen Schritt hat. Daher gilt
In unserem Beispiel folgt
Wenn man diese Idee wiederholt, wird klar, dass der Eintrag der Matrix
die Wahrscheinlichkeit
beschreibt. Zum Beispiel:
Alle Spalten von sind identisch, wenn wir die Genauigkeit auf 3 Dezimalen festsetzen, und sie sind dieselben wie die Spalten von Pn, wenn
ist. Wenn wir eine höhere Genauigkeit wählen, so findet man auch eine Stabilisierung, aber für
größer als
. Daher ist nach
Schritten, sofern
ausreichend groß ist, die Wahrscheinlichkeit, auf einer Seite zu sein, unabhängig von der Startposition!
Betrachten wir zudem den Vektor
( ist ein vertikaler Vektor und seine Transposition
ist ein horizontaler Vektor). Man kann leicht zeigen, dass
. Wenn wir die
-te Koordinate des Vektors
als die Wahrscheinlichkeit setzen, auf der Seite
zu einer gegebenen Zeit
zu sein, und somit die Wahrscheinlichkeitsverteilung der Seiten zum Zeitpunkt
ist, so ist sie auch die Wahrscheinlichkeitsverteilung zum Zeitpunkt
. Aus diesem Grund wird der Vektor
auch als stabile Verteilung bezeichnet. Diese stabile Verteilung erlaubt es, die Seiten zu ordnen. In unserem Beispiel ordnen wir die Seiten als
,
,
,
,
und bestimmen
als die wichtigste Seite.
Der allgemeine Fall
Der allgemeine Fall kann genau wie unser Beispiel behandelt werden. Wir stellen das Netz als einen orientierten Graphen dar, in dem die Knoten die
Seiten des Netzes repräsentieren und die orientierten Kanten die Links zwischen den Seiten sind. Wir fassen den Graphen in einer N
-Matrix zusammen,
, wobei die
-Spalte die
-te Startseite beschreibt und die
-Zeile die
-te Zielseite. In unserem Beispiel haben wir einen Vektor gefunden, der erfüllt. Dieser Vektor ist ein Eigenvektor zum Eigenwert
. Rufen wir uns die Definition von Eigenwert und Eigenvektor in den Sinn.
Definition. Sei P eine N x N-Matrix. Eine Zahl ist ein Eigenwert von
, falls es einen nichttrivialen Vektor
gibt, sodass
. Einen solchen Vektor
nennt man einen Eigenvektor von
.
Wir erinnern uns ebenfalls an die Methode zur Ermittlung von Eigenwerten und Eigenvektoren.
Proposition Sei Eine
Matrix. Die Eigenwerte von
sind die Wurzeln des charakteristischen Poynoms
, wobei
die
-Einheitsmatrix ist. Die Eigenvektoren zu einem Eigenwert
sind die nichttrivialen Lösungen des homogenen linearen Gleichungssystems
.
Der folgende tiefergehende Satz von Frobenius garantiert, dass wir für eine mit einem Netzgraphen verknüpfte Matrix immer eine feste Lösung finden.
Satz (Satz von Frobenius) Wir betrachten eine Markow-Übergangsmatrix
(wobei
für alle
, und die Summe der Einträge jeder Spalte gleich
ist, also
).
Dann gilt:
ist ein Eigenwert von
.
- Für jeden Eigenwert
von P gilt
.
- Es gibt einen Eigenvektor
zum Eigenwert
, dessen Koordinaten alle größer oder gleich Null sind. O.B.d.A. können wir annehmen, dass die Summe seiner Koordinaten
ist.
Nun ist es Zeit, die Stärke dieses Satzes zu bewundern. Aus diesem Grund werden wir die vereinfachte Hypothese stellen, dass die Matrix eine Basis
an Eigenvektoren hat und wir nehmen an, dass
der Vektor
des Satzes von Frobenius ist. Für jedes
existiert ein
derart, dass
. Betrachten wir einen beliebigen nichttrivialen Vektor
mit
, wobei
und
. Wir zerlegen
in die Basis
:
Ein technischer Beweis, den wir überspringen werden, erlaubt es zu zeigen, dass . Berechnen wir nun
:
Da ein Eigenvektor zum Eigenwert
ist. Und bei Iteration erhalten wir
Falls alle für
die Bedingung
erfüllen, dann gilt
Genau das passiert in unserem Beispiel!
Beachten Sie jedoch, dass der Satz nicht garantiert, dass eine beliebige Matrix , die die Hypothese des Satzes erfüllt, diese Eigenschaft aufweisen wird. Beschreiben wir die möglichen Symptome und das Gegenmittel.
Mögliche Symptome.
- Der Eigenwert
kann eine mehrfache Wurzel des charakteristischen Polynoms
sein.
- Die Matrix
kann andere Eigenwerte
haben als
, die mit Modulo gleich
sind.
Was tun wir in diesem Fall?
Wir nennen eine Markow-Übergangsmatrix ohne Symptome eine reguläre Markow-Übergangsmatrix, nämlich:
Definition. Eine Markow-Übergangsmatrix ist regulär, falls
- Der Eigenwert
eine einfache Wurzel des charakteristischen Polynoms
ist.
- Alle anderen Eigenwerte
von
außer
haben Modulos kleiner als
. Bedenken Sie, dass die meisten Matrizen
regulär sind. Wenn also die Markow-Übergangsmatrix eines Netzes nicht regulär ist, so lautet die Strategie, die Matrix leicht umzuformen, sodass sie regulär wird.
Gegenmittel. Wir betrachten die Matrix
mit
für alle
. Wir ersetzen die Matrix
des Netzes mit der Matrix
(1)
für kleine (der Wert
wird von Google benutzt). Bedenken Sie, dass die Matrix
noch nichtnegative Einträge besitzt und dass die Summe der Einträge jeder Spalte immer noch gleich
ist, wodurch es noch eine Markow-Übergangsmatrix ist. Der folgende Satz sichert, dass ein solches
existiert, für das wir die Symptome kuriert haben.
Satz Für eine beliebige Markow-Übergangsmatrix gibt es immer ein beliebig kleines, positives
, sodass die Matrix
regulär ist. Sei
der Eigenvektor von
zur Matrix normiert, sodass die Summe seiner Koordinaten 1 sei. Für die Matrix und einen nichttrivialen Vektor
, wobei
mit
und
, gilt
(2)
Zusammenhang zum Banachschen Fixpunktsatz
Eine andere (anstehende) Vignette behandelt den Banachschen Fixpunktsatz. Der obige Satz kann als Spezialisierung dessen angesehen werden. Sie können diesen Teil überspringen, wenn Sie die andere Vignette nicht gelesen haben. In der Tat gilt:
Satz Sei eine reguläre Markow-Transformationsmatrix. Betrachten wir
, mit angemessenem Abstand
zwischen den Punkten (dieser Abstand ist abhängig von
). Auf
betrachten wir den linearen Operator
, definiert durch
. Der Operator
ist eine Kontraktion auf
und es existiert ein
, sodass für alle
gilt
Dann existiert ein eindeutiger Vektor derart, dass
.
Zudem können wir anhand eines beliebigen gegebenen die Folge
durch Induktion definieren, wobei
. Dann gilt
.
Definition des Abstands . Die Definition des Abstands
ist recht geschickt und kann übersprungen werden. Hier wird er nur der Vollständigkeit zuliebe eingefügt und für den Leser, der auf die Details drängt. Wir beschränken uns auf den Fall, in dem die Matrix
diagonalisierbar ist. Sei
eine Basis aus Eigenvektoren. Vektoren
können mithilfe der Basis
geschrieben werden:
Wobei . Dann definieren wir
Mit diesem Anstand ist ein abgeschlossener metrischer Raum, was bedeutet, dass alle Cauchyfolgen konvergieren.
Dieser Satz sichert nicht nur die Existenz eines , sondern liefert eine Methode, um es als den Grenzwert der Folge
zu konstruieren. Wir haben eine Illustration dieser Konvergenz in unserem Beispiel gesehen. Tatsächlich ist die
-te Spalte von
der Vektor
, wobei
der
-te Vektor der kanonischen Basis ist. In unserem Beispiel hätten wir den Vektor
auch direkt finden können durch Lösung des Systems
mit der Matrix
Wir hätten herausgefunden, dass alle Lösungen der Form sind für
. Die Lösung, deren Summe der Koordinaten
ergibt, ist folglich
mit
Praktische Berechnung der festen Verteilung
Wir haben die einfache Idee identifiziert, die dem Algorithmus unterliegt. Allerdings ist es nicht so trivial, die feste Verteilung , also einen Eigenvektor zum Eigenwert
für die Matrix
in (1), zu finden, wenn die Matrix Milliarden Zeilen und Spalten hat: sowohl die Rechenzeit als auch der benötigte Speicherplatz erweisen sich als große Herausforderungen. Die normale Methode der Gauß-Elimination ist in diesem Fall unbrauchbar, wegen der Größe der Berechnung und weil man dabei durch kleine Koeffizienten teilen muss. Ein effektiverer Algorithmus nutzt die Eigenschaft (2) (siehe [LM]). Dies bildet den Zusammenhang zur bevorstehenden Vignette über den Banachschen Fixpunktsatz, die klarstellen wird, dass der Beweis des Banachschen Fixpunktsatzes einen Algorithmus liefert, um den Fixpunkt zu konstruieren.
Tatsächlich beginnen wir mit derart, dass
und wir müssen berechnen. Normalerweise liefert
für
zwischen
und
eine relativ gute Approximation von
. Durch Induktion berechnen wir
. Sogar solche Berechnungen sind recht lang. Tatsächlich hat die Matrix
in (1) aufgrund der Berechnung keine Nulleinträge. Andererseits sind die meisten Einträge von
gleich Null. Also müssen wir die Berechnung zerlegen um dies auszunutzen, nämlich durch
Aufgrund dieser speziellen Form von prüft man leicht nach, dass
, wenn
ein Vektor ist, deren Einträge summiert
ergeben. Folglich genügt es, die folgende Folge zu berechnen:
Schlussfolgerung
Wir haben hiermit den öffentlichen Teil von Googles PageRank Algorithmus präsentiert. Man kann bereits mit einfachen Netzen experimentieren und das Ranking seiner eigenen Seite verbessern, indem man zusätzliche interne und externe Links an optimalen Stellen einfügt. Manche private kultiviertere Teile werden weiterhin entwickelt. Manche von ihnen bestehen daraus, die „neutrale“ Matrix Q aus (1) mit einer Matrix zu ersetzen, die den Geschmack des Internetsurfers reflektiert. Andere sichern, dass das Ranking nicht zu sehr sensibel auf Manipulationen reagiert, die von denjenigen vorgenommen werden, die das Ranking ihrer Seiten zu verbessern suchen.
Als generelle Schlussfolgerung können wir festhalten: Eine einfache, clevere Idee hat zu einem immensen Durchbruch in der Effizienz von Suchmaschinen geführt und zur Geburt eines kommerziellen Empires. Auch wenn die Implementation selbst eine rechenbetonte Tat ist, benötigte die zugrundeliegende Idee „elementare“ Mathematik, nämlich die lineare Algebra und die Wahrscheinlichkeitstheorie. Diese mathematischen Standardtools, vor allem die Diagonalisierung von Matrizen, konnten ihre volle Kraft entfalten, weil sie außerhalb ihres „normalen“ Kontexts genutzt wurden. Außerdem haben wir die vereinenden Ideen innerhalb der Wissenschaft hervorgehoben, mit denen der Banachsche Fixpunktsatz Anwendungen so weit entfernt seines Ursprungs findet.
Bibliographie
[E] M. Eisermann, Comment Google classe les pages webb, http://images.math.cnrs.fr/Comment-Google-classe-les-pages.html, 2009.
[LM] A. N. Langville and C. D. Meyer, A Survey of Eigenvector Methods
for Web Information Retrieval, SIAM Review, Volume 47, Issue 1,
(2005), pp. 135–161.
[RS] C. Rousseau and Y. Saint-Aubin, Mathematics and
technology, SUMAT Series, Springer-Verlag, 2008 (A French version of the book exists, published in the same series.)