Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische Informatik nationales Algorithmische Forschungszentrum Methoden in der Helmholtz-Gemeinschaft zur Netzwerkanalyse www.kit.edu
Vorlesung 8 Programm des Tages: Besprechung Übungsblatt 2, Aufgabe 6 : Eigenvektoren, PageRank 2 Henning Meyerhenke, Institut für Theoretische Informatik
Wiederholung Eigenschaften von Netzwerken: Gradverteilung k-kerne Clusterkoeffizienten (Dreiecke) Zusammenhang Durchmesser Eigenschaften von Knoten(paaren): Paarweise Abstände Kürzeste Wege Zuletzt: Algorithmus von Seidel für APSP Nun: ("Wie wichtig ist ein Knoten?") 3 Henning Meyerhenke, Institut für Theoretische Informatik
Zentralitäten Einführung Zentralitäten: Maße für die Bedeutung eines Knotens (oder evtl. auch einer Kante) in einem Netzwerk Beispiel Gradzentralität: Grad des Knotens Gibt einen Bonuspunkt für jeden Nachbarn Kann ein Indikator für die Bedeutung sein Frage: Was wird dadurch aber schlecht modelliert? 4 Henning Meyerhenke, Institut für Theoretische Informatik
Inhalt PageRank 5 Henning Meyerhenke, Institut für Theoretische Informatik
Nicht alle Nachbarn sind gleich wichtig Die Wichtigkeit einer Person in einem Netzwerk hängt auch von der Wichtigkeit seiner Nachbarn ab Wert der Nachbarn soll proportional eingehen in eigenen Wert Berechnung: Seien x der Zentralitätsvektor, x (0) sein initialer Zustand Aktualisierung eines Knotens: x (t+1) i = A ij x (t) j j Matrixnotation: x (t+1) = Ax (t) 6 Henning Meyerhenke, Institut für Theoretische Informatik
Exkurs: Eigenwerte und -vektoren (1) Definition (Eigenwert, Eigenvektor) Sei A eine symmetrische n n-matrix mit reellen Einträgen. Die Zahl λ heißt Eigenwert von A, wenn es einen Vektor z = 0 gibt, so dass Az = λz. Der Vektor z heißt Eigenvektor zum Eigenwert λ. Theorem (Eigenvektorbasis) Eine symmetrische reelle n n-matrix hat n unterschiedliche Eigenvektoren z 1,..., z n R n, die in R n eine Basis bilden. Ferner gilt z i z j für alle 1 i = j n. Der betragsmäßig größte Eigenwert ist nicht größer als eine induzierte Matrixnorm. 7 Henning Meyerhenke, Institut für Theoretische Informatik
Exkurs: Eigenwerte und -vektoren (2) Corollary Die Adjazenzmatrix A eines ungewichteten ungerichteten Graphen besitzt n unterschiedliche Eigenvektoren z 1,..., z n R n, die in R n eine Basis bilden. Ferner gilt z i z j für alle 1 i = j n. Die Eigenwerte von A liegen zwischen d max und d max, wobei d max den maximalen Knotengrad in G darstellt. Erinnerung zur iterativen Berechnung der EV-Zentralität: x (t+1) = Ax (t) Frage: Wie würden Sie das Ergebnis bei Konvergenz beschreiben? 8 Henning Meyerhenke, Institut für Theoretische Informatik
Darstellung in spektraler Form Lemma EV-Zentralität (EVZ) genügt Ax = κ 1 x. Daher ist x der Eigenvektor von A zum Eigenwert κ 1. Beweis: Siehe Tafel! EVZ von i ist proportional zur EVZ der Nachbarn: Beweis: Übung! x i = κ 1 EVZ kann groß sein, weil ein Knoten viele Nachbarn hat, die Nachbarn hohe EVZ haben oder beides 1 j A ij x j 9 Henning Meyerhenke, Institut für Theoretische Informatik
Eigenschaften der EVZ EVZ-Werte sind alle nicht-negativ (Beweis in Übung) EVZ ist prinzipiell anwendbar auf ungerichtete und gerichtete Netzwerke, aber: Problematisch bei gerichteten Netzwerken wegen unsymmetrischer Adjazenzmatrix Es gibt einen linken und einen rechten EV Welcher ist der richtige? Wichtiger ist, wie viele zu mir zeigen als zu wie vielen ich zeige der rechte EV ist sinnvoller 10 Henning Meyerhenke, Institut für Theoretische Informatik
EVZ in gerichteten Netzwerken Weiteres Problem: Knoten mit Eingangsgrad 0 haben EVZ 0 Problem: Das kann kaskadieren! Werte ungleich 0 bestenfalls in starken ZHK mit mind. 2 Knoten 11 Henning Meyerhenke, Institut für Theoretische Informatik
Berechnung der EVZ Sei G dünn besetzt. Frage: Warum berechnet man nicht A t und dann A t x (0)? Es gilt: A t i,j ist die Anzahl der Pfade der Länge t von i nach j in G. (Beweis: Selbstübung!) Matrix würde sich schnell auffüllen Fortgesetzte Matrix-Vektor-Multiplikation Potenzmethode, wird auch power method oder power iteration genannt 12 Henning Meyerhenke, Institut für Theoretische Informatik
Zu beachten bei der Potenzmethode Für die Bestimmung eines einzigen EV in dünnen Graphen effizient Startvektor darf nicht senkrecht zum Eigenvektor sein Lemma Die Einträge des führenden EV einer nicht-negativen Matrix haben alle dasselbe Vorzeichen. Corollary Wähle einen Startvektor, in dem alle Einträge dasselbe Vorzeichen haben! Normalisierung notwendig wegen Zahlengröße Frage: Wann ist Konvergenz erreicht? 13 Henning Meyerhenke, Institut für Theoretische Informatik
Konvergenz Eine Möglichkeit: Zwei verschiedene Startvektoren Nach Normalisierung in jeder Iteration (oder alle paar Iterationen) beide Vektoren vergleichen Funktioniert besonders gut, wenn sich die Vektoren von zwei unterschiedlichen Richtungen annähern Nach Konvergenz auch EW leicht zu berechnen: Dividieren eines Eintrags an demselben Index vor und nach der Iteration Achtung: Numerische Fehler möglich! 14 Henning Meyerhenke, Institut für Theoretische Informatik
Zeitkomplexität Komplexität des Algorithmus: Kosten pro Iteration Anzahl Iterationen (Konvergenzgeschwindigkeit) Kosten pro Iteration abhängig von Datenstruktur: Adjazenzmatrix: O(n 2 ) Adjazenzliste: O(m) Konvergenzgeschwindigkeit bestimmt von Eigenwerten Weiter an der Tafel! 15 Henning Meyerhenke, Institut für Theoretische Informatik
Inhalt PageRank 16 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
PageRank Der Algorithmus, mit dem / durch den Google gegründet wurde Zutaten einer Suchmaschine (stark vereinfacht): Crawler Index Ranking The Anatomy of a Large-Scale Hypertextual Web Search Engine Sergey Brin and Lawrence Page Computer Science Department, Stanford University, Stanford, CA 94305, USA sergey@cs.stanford.edu and page@cs.stanford.edu Abstract In this paper, we present Google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext. Google is designed to crawl and index the Web efficiently and produce much more satisfying search results than existing systems. The prototype with a full text and hyperlink database of at least 24 million pages is available at http://google.stanford.edu/ To engineer a search engine is a challenging task. Search engines index tens to hundreds of millions of web pages involving a comparable number of distinct terms. They answer tens of millions of queries every day. Despite the importance of large-scale search engines on the web, Google mit PageRank damals überlegen beim Ranking very little academic research has been done on them. Furthermore, due to rapid advance in 17 Henning Meyerhenke, technology Institut and für web Theoretische proliferation, Informatik creating a web search engine today is very different from three Beruhte auf years Algorithmus ago. This paper provides und an in-depth schneller description of Berechnung our large-scale web search engine -- the Algorithmische Methoden first such zur detailed Netzwerkanalyse public description we know of to date. Apart from the problems of scaling PageRank
Ideen hinter PageRank Bewertung von Webseiten anhand der Link-Struktur Je mehr Links auf eine Seite verweisen, desto wichtiger ist sie Ähnlich wie bei EV-Zentralität: Je wichtiger eine Seite ist, desto wichtiger ist ihr Verweis auf eine andere Seite 18 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Modell des Zufallssurfers Surfer bewegt sich zufällig im Webgraphen Er folgt dabei den ausgehenden Kanten mit gleicher Wahrscheinlichkeit (Klick auf Link) Außerdem kann man eine Seite verlassen, indem man sich wegteleportiert (eine neue URL im Browser eingibt) PageRank ist stationärer Zustand eines stochastischen Prozesses 19 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Die Mathematik hinter PageRank Zumindest ein wenig davon... Siehe Tafel! Verbindung zur ergibt sich aus der Umformung direkt, nur die Matrix ist eine andere! 20 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Zwischenfazit Mit entsprechender Hardware und Know-how kann man PageRank auch für große Graphen in akzeptabler Zeit berechnen Interessantes Maß, reichhaltige mathematische Analyse, in der Praxis nur ein Maß unter vielen Alternativer Algorithmus: Hubs and Authorities von Jon Kleinberg Netzwerkanalyse und das Engineering paralleler Algorithmen können einen reich machen 21 Henning Meyerhenke, Institut für Theoretische Informatik PageRank