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.)