studyklar
LAG · Übungsblatt 9 · Aufgabe 4

PageRank: Seitengewichte aus dem Verlinkungsgraphen

Fünf Webseiten verlinken sich gegenseitig. Jemand klickt sich von Seite zu Seite und wählt bei jedem Klick zufällig einen der Links. Wir fragen: Auf welcher Seite ist diese Person auf lange Sicht wie oft? Das ist die Grundidee des PageRank-Verfahrens, mit dem Google Seiten bewertet. Rechts steht der Verlinkungsgraph, links der Lösungsweg. Mit Weiter geht es Schritt für Schritt voran. Ein Klick auf einen Schritt springt direkt dorthin.

Die Aufgabe

Eine Anwendung der Markoff-Prozesse ist der Page-Rank-Algorithmus, der von den Google-Gründern angegeben wurde. Näheres dazu finden Sie im Buch von Teschl, S. und Teschl, G.: Mathematik für Informatiker. Band 1: Diskrete Mathematik und lineare Algebra. Das Buch ist als eBook verfügbar.

Gegeben sei folgendes Verlinkungsbeispiel (siehe Grafik rechts).

Die Seiten 1 bis 5 werden als Zustände (in denen sich der Benutzer befindet) verstanden. Alle von einem Zustand ausgehenden Übergangswahrscheinlichkeiten seien gleich.

  1. Stellen Sie die Übergangsmatrix AA auf.
  2. Berechnen Sie ausgehend von dem Eigenwert 1 die Seitengewichte.
  3. Berechnen Sie die nächsten 10 Vektoren ausgehend von dem Startvektor x0=(1/5,1/5,1/5,1/5,1/5)Tx_0 = (1/5, 1/5, 1/5, 1/5, 1/5)^T und interpretieren Sie diese Folge von Vektoren.

Die Aufgabe nennt „Markoff-Prozesse“; das ist eine ältere Schreibweise für Markov-Prozesse. Gemeint ist ein Zufallsablauf in Schritten: Man befindet sich in einem Zustand, und die Wahrscheinlichkeit für den nächsten Zustand hängt nur vom jetzigen ab. Hier sind die fünf Seiten die Zustände, und ein Klick ist ein Schritt.

Die Übergangsmatrix AA sammelt alle diese Wahrscheinlichkeiten in einer Tabelle. Mit ihr lässt sich ausrechnen, wie sich die Besucher nach jedem Klick auf die Seiten verteilen.

Merke: Ein Seitengewicht ist der Anteil der Besucher, die sich auf lange Sicht auf einer Seite aufhalten. Alle Gewichte zusammen ergeben 1 (also 100 %). Man findet sie als Eigenvektor der Übergangsmatrix zum Eigenwert 1.

So gehen wir vor:

  1. Im Graphen die Links zählen und die Matrix AA aufstellen (Teil a).
  2. Das Gleichungssystem Ax=xAx = x lösen und die Lösung so skalieren, dass die Summe 1 ist (Teil b).
  3. Ab dem Startvektor zehnmal mit AA multiplizieren und die Folge deuten (Teil c).

Die Musterlösung gibt bei b) gerundete Prozentwerte an (18 %, 18 %, 18 %, 27 %, 18 %); wir rechnen mit den exakten Brüchen und erklären den Unterschied in Schritt 8. Zu c) enthält die Musterlösung keine Angabe; die zehn Vektoren stammen aus einem eigenen Python-Lauf.

Die Links zählen

SeitePfeile führen zu SeiteAusgangsgrad
12 und 32
21 und 32
34 und 52
41, 2 und 53
541

Jede Seite ist ein Zustand. Von dort führen Pfeile (Links) zu anderen Seiten. Die Zahl der Pfeile, die von einer Seite wegführen, heißt hier Ausgangsgrad. Wir brauchen sie, weil die Aufgabe verlangt, dass alle Wege von einer Seite gleich wahrscheinlich sind: Bei drei Links ist jeder Link gleich wahrscheinlich, also jeweils 1 von 3.

Wir lesen die Pfeile aus dem Graphen ab. Zwischen den Seiten 1 und 2 sowie 4 und 5 gibt es je zwei getrennte Pfeile, einen in jede Richtung.

Die Wahrscheinlichkeiten der ersten Seite

Spalte 1: von Seite 1 aus
(a11a21a31a41a51)=(0121200)\begin{pmatrix} a_{11} \\ a_{21} \\ a_{31} \\ a_{41} \\ a_{51} \end{pmatrix} = \begin{pmatrix} 0 \\ \tfrac12 \\ \tfrac12 \\ 0 \\ 0 \end{pmatrix}

Der Eintrag aija_{ij} der Matrix steht in Zeile ii und Spalte jj. Wir legen fest: Spalte j gehört zur Ausgangsseite j, Zeile i zur Zielseite i. Diese Festlegung steht nicht in der Aufgabe. Sie ist so gewählt, dass später AxAx die Verteilung nach einem Klick liefert, und sie stimmt mit der Musterlösung überein.

Seite 1 hat zwei Pfeile, zu Seite 2 und zu Seite 3. Jeder ist gleich wahrscheinlich, also je 12\tfrac12. Zu allen anderen Seiten (auch zu sich selbst) gibt es keinen Pfeil, dort steht 0.

Noch 12 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Der Verlinkungsgraph

fünf Seiten, zehn Links

Abbildung 1Der Verlinkungsgraph

fünf Seiten, zehn Links

12345
Legendegerade gemeint (Seite oder Pfeil)Pfeil von a nach b: Seite a verlinkt auf Seite bFünf Seiten (Kreise) und zehn Links (Pfeile). Ein Pfeil von 1 nach 2 heißt: Seite 1 enthält einen Link auf Seite 2.