Prof. Dr. Wolfgang Konen Spez. Gebiete der Mathematik 05.10.2009 1. Die Lineare Algebra hinter Google: Eigenwerte, Vektorräume, Flüsse 1.1. Eigenwerte und Eigenvektoren Eigenschwingungen können wichtig sein! Berühmtes Beispiel: Tacoma Bridge Failure (Video) am 07. November 1940: Was war passiert? • Ein starker Wind hatte die Brücke zu Schwingungen aufgeschaukelt, die die Brückenkonstruktion nicht geeignet dämpfte. • Die Neukonstruktion der Brücke hatte entsprechende Dämpfungselemente eingebaut und hält seither allen Winden stand. Def D 1-1 Eigenwerte und Eigenvektoren Gegeben sei eine nxn-Matrix A. Ein Vektor v≠0 heißt Eigenvektor zu A, wenn Av die gleiche oder die gegengleiche Richtung zu v hat. Als Gleichung ausgedrückt: Es gibt eine Zahl λ, so dass gilt Av = λv Die Zahl λ nennt man den Eigenwert zu A. Graphische Darstellung s. ..\..\maple\eigenwert.mws Viele Fragen schließen sich an: • Wozu braucht man Eigenvektoren und Eigenwerte? • Wie findet man Eigenwerte und Eigenvektoren? • Wieiviele Eigenwerte hat eine Matrix? Hat überhaupt jede Matrix Eigenwerte? 1.1.1. Wozu braucht man Eigenwerte? Beispiel City – Factory Outlet Lit.: [Brill01, S. 149] Kunden und Kundenwanderung von Jahr zu Jahr: © W. Konen Vorlesung-SGM-ext.doc Seite 2 Prof. Dr. Wolfgang Konen 80% Spez. Gebiete der Mathematik 05.10.2009 20% City-Kunden Outlet-Kunden cn on 10% 90% Um ihre Lagerbestände besser planen zu können, fragen sich die City-Einzelhändler: Gibt es einen stationären Zustand? D. h. gibt es ein Verhältnis von City-Kunden zu Outlet-Kunden, das im nächsten Jahr – und damit in allen Folgejahren – genau gleich sein wird? Mathematische Problemformulierung: ⎛c ⎞ v n = ⎜⎜ n ⎟⎟ ⎝ on ⎠ • cn, on: City-, Outlet-Kunden im Jahr n. • ⎛c ⎞ ⎛ 0.8 0.1⎞⎛ c n ⎞ ⎟⎟⎜⎜ ⎟⎟ ≡ Avn v n +1 = ⎜⎜ n +1 ⎟⎟ = ⎜⎜ o 0 . 2 0 . 9 ⎠⎝ on ⎠ ⎝ n +1 ⎠ ⎝ • Wenn wir einen stationären Zustand suchen, dann ist dies ein v mit v = Av . Dies ist ein Spezialfall der Gleichung aus Def D 1-1 mit λ=1. Wir suchen also Eigenvektoren v der Matrix A zu Eigenwert λ=1. Beispiel Google's PageRank [L. Page, S. Brin et al. The PageRank citation ranking: Bringing order to the web. Stanford Digital Libraries Working Paper, 1998, http://dbpubs.stanford.edu] ["PageRank" unter www.wikipedia.org] Eine der berühmtesten Suchmaschinen im Web, Google, gegründet von Larry Page und Sergej Brin, hat nicht zuletzt deshalb eine solch überragende Verbreitung erlangt, weil sie die Abertausend Weblinks zu einer Suchanfrage clever sortiert. • Grundidee: Die Websites nach Bedeutung sortieren. • Was ist "bedeutend"? Eine Website v ist umso bedeutender, je mehr bedeutende Websites u auf sie zeigen. Henne-Ei-Problem: Um die Bedeutung von v zu berechnen, müssen wir bereits die Bedeutung von u kennen. Wie kommen wir da raus? • Formulieren wir genauer (vereinfachter PageRank-Algorithmus): • xu : Bedeutung der Website u • Nu : Anzahl der Websites, auf die u zeigt (sog. Outlinks von u). Jede Website u verteilt ihre Bedeutung xu auf ihre Outlinks, und zwar zu gleichen Teilen: © W. Konen Vorlesung-SGM-ext.doc Seite 3 Prof. Dr. Wolfgang Konen Spez. Gebiete der Mathematik 05.10.2009 Abbildung 1.1: (a) Bedeutungsübertragung, (b) konvergierter Zustand im vereinfachten PageRank-Verfahren x v = ∑ A vu x u (1.1) mit u ⎧1 / Nu wenn u auf v zeigt A vu = ⎨ ⎩ 0 sonst Die Matrix A heißt spaltenstochastisch: Die Summe der Elemente in jeder Spalte ergibt 1. (s. Aufgabe 2.2 für eine einfache Folgerung daraus) Beispiel: Wir betrachten ein minimales WWW-Universum aus 5 Websites mit folgender Linkstruktur: 1 5 2 3 4 ⎛0 ⎜ ⎜0 x = Ax = ⎜ 13 ⎜ ⎜ 13 ⎜1 ⎝ 3 1 0 1 2 0 1 0 0 0 1 2 0 0 0 0 0 0 1⎞ ⎟ 0⎟ 0 ⎟x ⎟ 0⎟ ⎟ 0⎠ Der PageRank-Algorithmus hat einen konvergierten Endzustand x erreicht, wenn die Anwendung von A wieder x liefert. Kennen wir also den Eigenvektor der Matrix A zu Eigenwert λ=1, so haben wir das HenneEi-Problem zur Bedeutungsfindung gelöst! Die Web-Crawler, die für Google das gigantische WWW durchsurfen erledigen also periodisch eine gigantische Eigenwertaufgabe (letze Zählung: 3 Mrd. Webseiten) "PageRank relies on the uniquely democratic nature of the web by using its vast link structure as an indicator of an individual page's value. Google interprets a link from page A to page B as a vote, by page A, for page B. But, Google looks at more than the sheer volume of votes, or links a page receives; it also analyzes the page that casts the vote. Votes cast by pages that are themselves 'important' weigh more heavily and help to make other pages 'important'." http://www.google.com/technology [vast = enorm, ausgedehnt; to cast a vote = eine Stimme abgeben] Weitere Anwendungsfelder von Eigenwert und Eigenvektor: © W. Konen Vorlesung-SGM-ext.doc Seite 4 Prof. Dr. Wolfgang Konen Spez. Gebiete der Mathematik A10000 05.10.2009 • Wie berechnet man • Welches Mischungsverhältnis stellt sich, ein, wenn bestimmte Reaktions-DiffusionsVorgänge ablaufen? 1.1.2. OHNE 10.000 Matrixmultiplikationen zu brauchen? Wie findet man Eigenwerte und Eigenvektoren? Die nachfolgende Definition und der Satz werden in Vorlesung motiviert: Def D 1-2 Charakteristisches Polynom und Gleichung A sei eine nxn-Matrix, E die nxn Einheitsmatrix. Dann heißt p(λ) = det( A - λ E) das charakteristische Polynom zu A, bzw det ( A - λ E) = 0 charakteristische Gleichung der Matrix A. Satz S 1-1 Charakteristisches Polynom und Eigenwerte Die (j-fachen) Nullstellen des charakteristischen Polynoms von A sind (j-fache) Eigenwerte der Matrix A. Zu jedem Eigenwert λi von A existieren Vektoren v ≠ 0 mit A v = λi v Nach Def D 1-1 sind die v die Eigenvektoren von A zum Eigenwert λi. ANMERKUNGEN: • Wenn v ein Eigenvektor ist, so ist auch kv ein Eigenvektor für jedes k ≠ 0. • Wenn v und v Eigenvektoren zum Eigenwert λi sind, dann ist auch jede Linear(a) (b) kombination v = cv + dv ein Eigenvektor. (a) (b) Wir haben also folgendes Rezept zur Bestimmung von Eigenwerten und –vektoren: 1. Finde alle Nullstellen des charakteristischen Polynoms, dies sind die Eigenwerte λi. 2. Für jeden Eigenwert λi löse man das LGS (A - λi E) v = 0, das immer mindestens eine Lösung v ≠ 0 hat und das für einen mehrfachen Eigenwert auch mehrere linear unabhängige Vektoren v als Lösung haben kann. Ü ⎛ 0 .8 0 .1 ⎞ ⎟⎟ aus 0 . 2 0 . 9 ⎝ ⎠ Übung: Bestimmen Sie die Eigenwerte und –vektoren der Matrix A = ⎜⎜ dem City – Factory Outlet-Beispiel! Welcher Gleichgewichts-Kundenvektor stellt sich also ein? © W. Konen Vorlesung-SGM-ext.doc Seite 5 Prof. Dr. Wolfgang Konen Ü Spez. Gebiete der Mathematik 05.10.2009 ⎛ 5 − 6 − 6⎞ ⎜ ⎟ 1 ⎟. Übung: Bestimmen Sie die Eigenwerte der Matrix A = ⎜ − 1 4 ⎜ 3 − 6 − 4⎟ ⎝ ⎠ Hinweis: Um nicht die Nullstellen eines Polynom 3. Grades suchen zu müssen, suchen Sie besser nach Werte μ , für die die Matrix A − μE keinen vollen Rang hat. [Wenn Sie nicht mehr wissen, was der Rang einer Matrix ist, ist JETZT die richtige Zeit, das zu wiederholen!] [Hachenberger05, S. 279] Satz S 1-2 Eigenschaften von Eigenwerten a) Die Eigenvektoren eines j-fachen Eigenwertes einer Matrix A bilden einen mindestens eindimensionalen und höchstens j-dimensionalen Unterraum. b) Die Matrizen A und AT haben dieselben Eigenwerte. c) Hat die nxn-Matrix A n paarweise verschiedene Eigenwerte λi∈R, i=1,..n, dann kann man vi, i=1,..n Eigenvektoren finden, so daß die Menge dieser Eigenvektoren V={vi| vi ist Eigenvektor zu λi } n linear unabhängig ist (V ist eine Basis des R ). d) Die Matrix A ist diagonalisierbar, wenn sie n verschiedene Eigenwerte hat. Hier tauchen einige Begriffe auf (blau markiert), die ein wenig mehr Vorwissen in Linearer Algebra erfordern. Wir werden uns dieses Vorwissen in Kap. 1.3 aneignen und dann wieder auf diesen Satz zurückkommen. 1.2. Flüsse in Graphen Def D 1-3 Netzwerk und Flüsse Ein Netzwerk ist ein Digraph (gerichteter Graph) mit höchstens einer Quelle q und einer Senke s, in dem jeder Kante ki von k nach i genau eine Zahl cik ∈ R≥0, ihre Kapazität, zugeordnet ist. Ein (zulässiger) Fluss ist Kantenbelegung fik ∈ R≥0, für die gilt 1. 0≤ fik ≤ cik 2. Kirchhoff'sches Gesetz: An jedem Knoten k ≠ q,s gilt: Fluss in den Knoten k = Fluss aus dem Knoten k ∑ fki = i ∑ fok o BEACHTE: Wir notieren hier die Kantenbewertung fik für den Fluss von k nach i, also im Infki = A ki x i die Indizes, dex Ziel zuerst, Start später. Warum? – Damit in Termen wie ∑ i ∑ i über die summiert wird, zusammenstehen. Im PageRank-Anwendungsfall ist der Fluß fki = A ki x i die Menge an Bedeutung, die über Link von i nach k übertragen wird. Wenn wir der Konvention folgen, dass die Summe aller © W. Konen Vorlesung-SGM-ext.doc Seite 6 Prof. Dr. Wolfgang Konen Spez. Gebiete der Mathematik Bedeutung im WWW Eins ergeben soll, also 05.10.2009 ∑ x i = 1, dann ist cij=1 eine Kapazitätsvorgai be, die jede denkbare Bedeutungsübertragung zu einem gültigen Fluss macht (klar?). 1.2.1. Link-Farmen Ow(n) O f f 1 g 2 Link-Farm F I 3 Iw(n) (n Pages) f Web W Abbildung 1.2: Beispiel-Web mit Link-Farm für Website g Zur Definition einer Link-Farm: Zunächst gibt es nur das Web, das aus den Pages {1,2,3,g}=W besteht. (Die Seiten 1,2,3 stehen dabei nur stellvertretend für beliebige Webs W, es könnte genausogut {1,2,....,M,g} = W mit beliebig großem M lauten. Wir wollen allerdings voraussetzen, dass das Web keine unzusammenhängende Sub-Webs besitze, s. 2.4.1) Der Owner von g will die Bewertung seiner Seite steigern und baut dazu eine Link-Farm F hinzu. Jede Page der Link-Farm F hat genau einen Outlink auf g und genau einen Inlink von g. Kann er damit seine Bewertung steigern? Wenn ja, um wieviel? Die empirische und theoretische Untersuchung hierzu ist einer studentischen Ausarbeitung vorbehalten, wir greifen hier exemplarisch anhand von Abbildung 1.2 einen einfachen Sachverhalt auf, um den Nutzen von Flüssen zu zeigen: Denken Sie daran, dass Sie Flüsse im Graphen durch die Web-Matrix A darstellen können, z.B. O = A ig x g ∑ i∈F Ü (1.) Begründen Sie, warum der Input I in die Link-Farm im stationären Zustand gleich ihrem Output O sein muss. Begründen Sie, warum jede Farm-Page die gleiche Bewertung f haben muss. Leiten Sie damit her: x g = Ng f worin xg f n Ng © W. Konen Bewertung der Page g, für die die Farm ist Bewertung jeder Link-Farm-Page Anzahl der Farm-Pages = Größe der Link-Farm Anzahl der Outlinks von Page g Vorlesung-SGM-ext.doc Seite 7