Positieve matrices en hun toepassingen Mireille Kroon, Daphne Broedersz 30 augustus 2013 Bachelorscriptie Begeleiding: Dr. Tanja Eisner-Lobova KdV Instituut voor Wiskunde Faculteit der Natuurwetenschappen, Wiskunde en Informatica Universiteit van Amsterdam Samenvatting In dit verslag werken we toe naar de wiskunde achter het zoekprogramma Google. We laten de lezer kennis maken met verschillende takken van de wiskunde, namelijk positieve matrices, grafentheorie en Markovketens. Positieve matrices worden gebruikt in de grafentheorie en de theorie van Markovketens. De drie gebieden zijn dus niet helemaal onafhankelijk, maar zeker wel verschillend. We beginnen met de klassieke stelling van PerronFrobenius voor positieve matrices en beschrijven vervolgens de spectrale kenmerken van positieve matrices. In het hoofdstuk over grafentheorie kijken we naar gerichte en gewogen gerichte grafen. Dit doen we omdat ongerichte en gewogen ongerichte grafen niet nodig zijn om de wiskunde die Google gebruikt te bestuderen. Een andere toepassing van de theorie van positieve matrices is Markovketens. Na deze onderwerpen te hebben bestudeerd, gaan we het concept van Google bekijken. Gegevens Titel: Positieve matrices en hun toepassingen Auteurs: Mireille Kroon, [email protected], 5989205 Daphne Broedersz, [email protected], 6073077 Begeleider: Dr. Tanja Eisner-Lobova Einddatum: 30 augustus 2013 Korteweg de Vries Instituut voor Wiskunde Universiteit van Amsterdam Science Park 904, 1098 XH Amsterdam http://www.science.uva.nl/math Inhoudsopgave Inleiding 1 Lineaire Algebra 1.1 Normen . . . . . . . . 1.2 Eigenwaarden . . . . . 1.3 De resolvent . . . . . . 1.4 Jordan-normaalvorm . 1.5 Stochastische matrices 3 . . . . . 5 5 6 8 10 12 2 Positieve Matrices 2.1 Stelling van Perron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Dominante eigenwaarde . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Irreducibele matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 16 19 20 3 Grafentheorie 3.1 Gerichte grafen . . . . . . . . 3.2 Verbindingsmatrices . . . . . 3.3 Sterke samenhangendheid . . 3.4 Gewogen grafen . . . . . . . . 3.5 Gewogen verbindingsmatrices . . . . . 23 23 24 25 27 28 4 Markovketens 4.1 Basisbegrippen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Theorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 30 32 5 Google PageRank 5.1 Geschiedenis . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Lawrence E. Page . . . . . . . . . . . . . . . . . . . . 5.1.2 Sergey Brin . . . . . . . . . . . . . . . . . . . . . . . 5.2 Basisidee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Eerste poging om het PageRank algoritme te bepalen 5.2.2 De originele formule voor PageRank . . . . . . . . . . 5.3 Google algoritme . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Dangling nodes; transformatie naar de Googlematrix . . . . 5.5 Eigenschappen van de Google matrix . . . . . . . . . . . . . 35 35 35 36 36 36 37 39 40 41 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Populaire samenvatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 1 Verdeling De verdeling van het schrijfwerk in dit verslag is als volgt: • Samenvatting: samen. • Inleiding: samen. • Hoofdstuk 1: Mireille Kroon. • Hoofdstuk 2: Daphne Broedersz. • Hoofdstuk 3: Daphne Broedersz. • Hoofdstuk 4: Mireille Kroon. • Hoofdstuk 5: Mireille Kroon. • Populaire samenvatting: samen. We hebben allebei alle stof gelezen en begrepen. Ook hebben we beiden het verslag gelezen en het met zijn tweeën samengevoegd. 2 Inleiding De theorie van positieve matrices gaat terug naar de stelling van Perron en Frobenius uit het begin van de 20ste eeuw. Zij bestudeerden spectrale eigenschappen en asymptoten van positieve matrices. Later zijn deze onderwerpen gegeneraliseerd naar positieve operatoren over oneindig-dimensionale ruimten. Dit gebied van de wiskunde staat niet alleen bekend om zijn elegantie, maar zeker ook om zijn krachtige toepassingen in wiskundige gebieden als stochastiek en differentiaalvergelijkingen. Deze theorie heeft zelfs toepassingen in andere gebieden zoals economie en computerwetenschappen. In dit verslag introduceren we de lezers in de basistheorie van Perron en Frobenius en we geven hier wat toepassingen van voor eindige Markovketens en gerichte grafen. Als ultieme, concrete toepassing bespreken we het wiskundige concept dat Google zo briljant maakt. Bij deze toepassing komen alle onderwerpen samen. Het verslag is als volgt opgebouwd. In Hoofdstuk 1 behandelen we de basisdefinities en stellingen van de lineaire algebra. Deze kennis hebben we nodig voor de rest van het verslag. De informatie komt van [1]. In Hoofdstuk 2 hebben we het meer gedetailleerd over de theorie van positieve matrices. Dit hoofdstuk is een direct vervolg op Hoofdstuk 1. We zullen eerst kijken naar de basistheorie, dit zijn standaarddefinities en een kleine stelling. Na deze korte inleiding gaan we de stelling van Perron uitgebreid bestuderen en bewijzen. Deze stelling is zoals gezegd erg belangrijk en het bewijs hiervan hebben we dan ook zo uitgebreid mogelijk beschreven. Na deze stelling beschrijven we het begrip ‘dominante eigenwaarde’. Ook in deze paragraaf zal een stelling met bewijs staan en bij dit bewijs een verhelderend plaatje. In Paragraaf 2.3 hebben we het over irreducibele matrices, die zijn erg belangrijk voor Google. Deze paragraaf is hetzelfde opgebouwd als de voorgaande paragrafen, eerst wat basisdefinities, dan een stelling en alles wordt intuı̈tief duidelijk gemaakt aan de hand van voorbeelden. De wiskundige informatie voor dit hoofdstuk komt allemaal uit [1] en van Tanja Eisner-Lobova en de informatie over Perron en Frobenius komt van [9]. Nadat we de theorie van lineaire algebra en positieve matrices tot in de puntjes uitgelegd hebben, gaan we verder met de eerste toepassing: gerichte grafen. Ook in Hoofdstuk 3 beginnen we met een korte inleiding in het onderwerp, in dit geval dus grafentheorie. Na de uitleg over gerichte grafen gaan we kijken naar verbindingsmatrices, een nuttig concept dat grafen en matrices met elkaar verbindt. Met behulp van dit begrip kunnen we daarna sterke samenhangendheid bestuderen. Het zal de lezer opvallen dat verbindingsmatrices bij stellingen over sterke samenhangendheid een grote rol spelen. Daarna gaan we kijken naar gewogen grafen. Ook voor deze grafen bestaan verbindingsmatrices. Op Lemma 3.11 na gelden alle stellingen in Hoofdstuk 3 ook voor gewogen grafen. Alle informatie voor dit hoofdstuk komt van Tanja Eisner-Lobova. In Hoofdstuk 4 gaan we dieper in op de theorie van Markovketens. Een Markovketen kunnen we opvatten als een graaf, hierdoor is er een direct verband met Hoodstuk 3. Bij een Markovketen hoort een matrix, deze matrix is positief, hierdoor wordt er ook een 3 verband gelegd met Hoofdstuk 2.We beginnen zoals gebruikelijk met een aantal basisdefinities. Vervolgens behandelen we een aantal belangrijke stellingen. In Hoofdstuk 5 behandelen we stap voor stap de basis van de Google zoekmachine, namelijk het algoritme PageRank. PageRank wordt gebruikt om de resultaten van een zoekopdracht te rangschikken. Het World Wide Web, meestal kortweg het web genoemd, bevat wereldwijd enkele miljarden webpagina’s met informatie en ontspanning die verbonden zijn door middel van links. Dit web kunnen we zien als een grote gerichte graaf. De literatuur die we voor dit hoofdstuk hebben bestudeerd is [3], [6] en [7]. Ook hebben we gebruik gemaakt van de website [10]. 4 Hoofdstuk 1 Lineaire Algebra Lineaire algebra is een gebied van de wiskunde dat zich bezig houdt met de studie van vectoren, vectorruimte en lineaire transformaties. De lineaire algebra staat centraal in de moderne wiskunde en haar toepassingen. We beginnen met een aantal basisbegrippen en stellingen. In dit project richten wij ons op de ruimte Mn (C), de ruimte van n×n-matrices met complexe coëfficiënten. 1.1 Normen Het begrip norm heeft veel overeenkomsten met het begrip lengte. Er volgt een aantal definities die we nodig hebben in het vervolg van dit project. We beginnen met de standaardnorm van een vector x = (x1 , . . . , xn )T met reële of complexe getallen. Definitie 1.1. Stel dat X een lineaire ruimte is over het veld R . De norm || · || is een niet-negatieve reële functie die voldoet aan de volgende axioma’s: • kxk ≥ 0 met kxk = 0 dan en slechts dan als x = 0, • kαxk = |α| kxk ∀α ∈ R, ∀x ∈ X • kx + yk ≤ kxk + kyk. ∀x, y ∈ X Elke norm gedefinieerd op de lineaire ruimte X = Rn noemen we een vector norm. Voorbeelden van normen zijn de 1-norm || · ||! , de 2-norm (of Eucidische norm) || · ||2 , en de ∞-norm || · ||∞ ; deze zijn als volgt gedefinieerd. Definitie 1.2. Stel x = (x1 , . . . , xn )T , dan is de Euclidische norm gedefinieerd als kxk2 = n X ! 21 |xi |2 . i=1 In het geval van PageRank en Markovketens wordt echter vaak de 1-norm gebruikt. Definitie 1.3. De 1-norm voor een vector x = (x1 , . . . , xn )T is gedefinieerd als kxk1 = n X i=1 5 |xi |. Ook wordt vaak de ∞-norm gebruikt. Definitie 1.4. De ∞-norm is gedefinieerd als kxk∞ = max |xi |. i We hebben nu gezien dat we voor vectoren normen kunnen definiëren. Dit kunnen we ook doen voor matrices. Definitie 1.5. Laat A ∈ Mn (C) en laat k · k de norm op Cn zijn. De operatornorm op Mn (C) is gedefinieerd als kAk := sup{kAxk : x ∈ Cn , kxk ≤ 1} = max{kAxk : x ∈ Cn , kxk ≤ 1}. De rijnorm is gedefinieerd als n kAk∞ := max{kAxk∞ : x ∈ C , kxk∞ ≤ 1} = max 1≤i≤n n X |aij |. j=1 De kolomnorm is gedefinieerd als n kAk1 := max{kAxk1 : x ∈ C , kxk1 ≤ 1} = max 1≤i≤n n X |aij |. i=1 Ten slotte gaan we kijken naar een stelling die we niet gaan bewijzen. Stelling 1.6 (Tikhonov). Laat X een eindigdimensionale (complexe) vectorruimte zijn en laat k · k en ||| · ||| normen zijn op X. Dan bestaan er constanten c1 , c2 > 0 zodat c1 |||x||| ≤ kxk ≤ c2 |||x|||, ∀x ∈ X. Deze stelling gaan we niet bewijzen. Voor het bewijs verwijzen we naar [1]. 1.2 Eigenwaarden Lineaire afbeeldingen spelen een belangerijke rol in de lineaire algebra. Een speciaal geval zijn de lineaire afbeeldingen van een vectorruimte in zichzelf. We herinneren ons dat als A een n × n-matrix is, een vector x ∈ Cn , met x 6= 0, een eigenvector van A heet als geldt: Ax = λx voor zekere λ ∈ C. Deze scalair heet de eigenwaarde van A. Definitie 1.7. De verzameling σ(A) := {λ1 , λ2 , . . . , λm } van alle eigenwaarden van een matrix A wordt het spectrum van A genoemd. De resolventverzameling is het complement van σ(A). Oftewel ρ(A) := C\σ(A). Voor latere referenties introduceren we de volgende definitie. 6 Definitie 1.8. Laat λ1 , . . . , λn de eigenwaarden van een matrix A ∈ Mn (C) zijn. Dan is de spectrale straal voor een matrix een positief getal r(A) := max |λi |. 1≤i≤m (1.1) De cirkel in het complexe vlak met het middelpunt in de oorsprong en de straal gelijk aan r(A) wordt de spectraalcirkel genoemd. Dit is de kleinste cirkel die het spectrum van A bevat. Deze definitie illustreren we aan de hand van het volgende voorbeeld. Voorbeeld 1.9. Laat 1 2 1 A = 5 2 1 . 0 5 1 Dan geldt: det(A − λI) = (1 − λ)((2 − λ)(1 − λ) − 5) − 5(2(1 − λ) − 5) = (1 − λ)(2 − 3λ + λ2 − 5) − 5(2 − 2λ − 5) = −3 − 3λ + λ2 + 3λ + 3λ2 − λ3 + 15 + 10λ = −λ3 + 4λ2 + 10λ + 12 = (λ − 6)(−λ2 − 2λ − 2). Hieruit volgt dat de eigenwaarden van A gelijk zijn aan: • λ1 = 6, √ • λ2 = 2+ • λ3 = 2− √ √ (−2)2 −4·−1·−2 −2 = −1 − (−2)2 −4·−1·−2 −2 = −1 + i. 1 2 −4 = −1 − i, Dus uit Definitie 1.8 volgt nu dat: n p o n √ o p r(A) = max 6, (−1)2 + 12 , (−1)2 + (−1)2 = max 6, 2 = 6. 7 6i −1 + i 6 −1 − i −6i Figuur 1.1: Het complexe vlak met de spectraalcirkel van A en de bijbehorende eigenwaarden. Lemma 1.10. Laat k·k de operatornorm op Mn (C) zijn en laat A ∈ Mn (C) en λ ∈ σ(A). Dan geldt |λ| ≤ kAk. In het bijzonder geldt dat r(A) ≤ kAk. Bewijs. Voor elke eigenvector x 6= 0 behorend bij de eigenwaarde λ geldt dat kAxk = |λ|kxk. Bovendien geldt kAxk ≤ kAkkxk. Dus |λ|kxk = kAxk ≤ kAkkxk. Dit impliceert dat |λ| ≤ kAk. Uit Definitie 1.8 volgt direct dat r(A) ≤ A. 1.3 De resolvent Voor het bewijzen van een aantal stellingen hebben we de resolvent van een matrix nodig. De resolvent is een begrip om bepaalde toepassingen binnen de complexe analyse toe te passen. In het bijzonder om het spectrum van operatoren te bestuderen. We beginnen met de definitie van de resolvent. Definitie 1.11. De resolvent van een matrix A is de afbeelding µ 7→ R(µ, A) := (µ − A)−1 met µ ∈ ρ(A). Dit illustreren we aan de hand van het volgende voorbeeld. Voorbeeld 1.12. Stel de matrix A is gelijk aan: λ 1 λ 1 . . .. .. . . .. 1 λ 0 0 8 Dan is de resolvent R(µ, A) in het punt µ gelijk 1 1 ... µ−λ (µ−λ)2 1 1 µ−λ (µ−λ)2 .. . 0 aan: ... .. . .. . 1 (µ−λ)n .. . .. . . 1 (µ−λ)2 1 µ−λ Dit kunnen we nagaan door de matrix R(µ, A) te vermenigvuldigen met de matrix µ − λ −1 µ − λ −1 ... ... (µ − A) = . ... −1 µ−λ 0 0 De volgende reeks is belangrijk in de theorie van positieve matrices. Definitie 1.13. De formele reeks ∞ X Ak , voor µ ∈ C\{0}, k+1 µ k=0 wordt de Neumannreeks genoemd. Lemma 1.14. Laat A ∈ Mn (C) en r(A) = maxλ∈σ(A) |λ| < |µ|. Dan convergeert de Neumannreeks in µ en de volgende gelijkheid geldt: ∞ X Ak . R(µ, A) = µk+1 k=0 Bewijs. We bewijzen dit lemma alleen voor µ waarvoor geldt µ > kAk. De algemene situatie volgt uit Proposition 3.9 van [1]. R(µ, A) = (µ − A)−1 −1 A A = 1 kAk < 1 = µ I− voor µ µ |µ| ∞ k 1X A = µ k=0 µ ∞ X Ak = , µk+1 k=0 waarbij de reeks P∞ Ak k=0 µk+1 vanwege het criterium van Weierstrass absoluut convergeert. 9 1.4 Jordan-normaalvorm In de lineaire algebra is de Jordan-normaalvorm een simpele vorm waarnaar men een matrix kan transformeren met behoud van de eigenwaarden van die oorspronkelijke matrix, door een transformatie van een basis. Het begrip komt voort uit de vraag hoever men matrices die niet diagonaliseerbaar zijn kan vereenvoudigen. We herinneren ons dat voor λ ∈ C de matrix λ 1 λ 1 .. .. . . Jk = ∈ Mk×k (C) . .. 1 λ 0 0 een Jordanblok van dimensie k is. Een Jordanmatrix is een matrix van de vorm: Jn1 (λ1 ) Jn2 (λ2 ) ... J = .. . 0 0 Jnk (λk ) met Jni (λi ) Jordanblokken voor i = 1, . . . , k en λ1 , . . . , λk ∈ C. Stelling 1.15 (Jordan-normaalvorm). Laat A ∈ Mn (C). Dan bestaat er een inverteerbare P ∈ Mn (C) zodanig dat A = P JP −1 met J een Jordanmatrix. De matrix J is uniek op de rangschikking van de Jordanblokken na en wordt de Jordan-normaalvorm genoemd. Opmerking. In de Jordanmatrix J, met λj eigenwaarden van de matrix A, kunnen er blokken zijn met dezelfde λj . De dimensie van het grootste Jordanblok dat correspondeert met λj is de macht van λj − z in het minimaal polynoom van A. Vervolgens behandelen we een stelling over het convergeren van machten van matrices. Dit is een belangrijk stelling voor het Google PageRank algoritme. Stelling 1.16. De machten van A ∈ Mm (C) convergeert dan en slechts dan als: • λi = 1 en dim(Jni (λi )) = 1 óf • |λi | < 1 ∀λi ∈ σ(A). Bewijs. We weten uit Stelling 1.15 dat A te schrijven is als P JP −1 , met J een Jordanmatrix. Hieruit volgt dat n −1 −1 −1 −1 An = (P JP −1 )n = P | JP P JP {z. . . . . . P JP } = P J P . n keer 10 Dus J n = P −1 An P . Oftewel, de machten van de Jordan matrix, J n , convergeert dan en slechts dan als An convergeert. We mogen zonder verlies van algemeenheid aannemen dat A een Jordanmatrix is van de vorm: J (λ ) n1 1 Jn2 (λ2 ) . A= . .. 0 0 Jnk (λk ) Elk Jordanblok is te schrijven als λ 1 λ λ 1 .. .. . . Jk (λ) = = .. . 1 λ | 0 0 0 0 + λ .. . .. . 0 } D 1 .. .. . . .. . 0 λ {z 1 0 | 0 {z B . 1 0 } Er geldt: n n (Jk (λ)) = (D + B) = n X n i=0 i Dn−i B i 0 z }| { n n n = Dn + Dn−1 B + · · · + Dn−(k−1) B k−1 + Dn−k B k + · · · + B n 1 k−1 k n n n n−1 =D + D B + ··· + Dn−(k−1) B k−1 . 1 k−1 In matrixnotatie zien we dat: n λ nλn−1 λn (Jk (λ))n = n(n−1) n−2 λ 2 .. . ... ··· .. . ... .. . 0 n k−1 λn−(k−1) .. . n(n−1) n−2 λ . 2 nλn−1 n λ Nu zullen we een aantal gevallen onderscheiden: i) Stel λ = 1. Dan geldt: n (Jk (1)) = 1 n 1 n(n−1) 2 .. . ... 0 ··· .. . ... .. . n k−1 .. . n(n−1) . 2 n 1 (1.2) De matrix (Jk (1))n convergeert dan en slecht dan als de dimensie van dit Jordanblok één is. 11 ii) Stel |λ| > 1. Dan geldt: (Jk (λ))n11 → ∞. Dus An convergeert niet. iii) Stel |λ| < 1. Dan geldt: (Jk (λ))n → 0. Dus An convergeert ook. iv) Stel |λ| = 1, λ 6= 1. Dan convergeert λk niet, dus de matrix (Jk (λ))n convergeert ook niet. Kortom, uit de gevallen i), ii), iii) en iv) volgt dat (Jk (λ))n , en dus ook de matrix An , alleen convergeert als λi = 1 en dim(Jki (λi )) = 1 óf als |λi | < 1. Voorbeeld 1.17. Als we nu de matrix A en de resolvent R(µ, A) gebruiken als in Voorbeeld 1.12, dan zien we dat de Jordan-normaalvorm van de resolvent gelijk is aan R(µ, Jn1 (λ1 )) R(µ, Jn2 (λ2 )) R(µ, A) = .. . 0 0 R(µ, Jnk (λk )) met dezelfde Jordanbasis als A. Hierbij geldt dat 1 1 µ−λi R(µ, Jni (λi )) = (µ−λi )2 1 µ−λi 0 ··· 1 (µ−λi )2 .. . ··· .. . .. . 1 (µ−λi )ni .. . .. . 1 (µ−λi )2 1 µ−λi , waarbij ni gelijk is aan de dimensie van het blok corresponderend met λi voor i = 1, . . . , k. 1.5 Stochastische matrices Stochastische matrices zijn matrices die de overgangen van een Markovketen beschrijven. Dit soort matrices worden ook door Google gebruikt. Daarom zullen we een aantal definities en lemma’s over stochastische matrices behandelen. Definitie 1.18. Een n × n-matrix A heet kolomstochastisch als alle entries aij positief zijn en n X aij = 1 ∀j ∈ {1, ..., n}. i=0 Definitie 1.19. Een n×n-matrix A heet kolom-deelstochastisch als alle entries aij positief zijn en n X aij ≤ 1 ∀j ∈ {1, ..., n}. i=0 12 Een stochastische matrix heeft een aantal eigenschappen, die we in het volgende lemma gaan bewijzen. Lemma 1.20. Stel A is een vierkante stochastische matrix. Dan gelden de volgende beweringen: i) 1 ∈ σ(A), ii) de spectrale straal r(A) is gelijk aan 1. Bewijs. i) Stel A is een kolomstochastische n×n-matrix. We weten dat de eigenwaarden van de matrix A en de eigenwaarden van zijn getransponeerde AT gelijk zijn. De matrix A is kolomstochastisch, dus de som van iedere kolom van de matrix is gelijk aan 1. Dit is equivalent met de gelijkheid AT 1 = 1, met 1 = (1, . . . , 1)T . We zien dat λ = 1 een eigenwaarde van de matrix AT is en dus ook een eigenwaarde van de matrix A is. ii) Voor elke matrixnorm geldt dat r(A) ≤ kAk (zie Lemma 1.10) en uit i) volgt dat er een eigenwaarde gelijk aan 1 is. Hieruit volgt dat: 1 ≤ r(A) ≤ kAk1 = 1, dus r(A) = 1. Kolomstochastische matrices worden gebruikt bij Google PageRank. Voor de wiskunde achter Google willen we ook dat de machtreeks van een kolomstochastische matrix weer kolomstoschastisch is. Daarom willen we, met behulp van inductie, het volgende lemma bewijzen. Lemma 1.21. Laat A, B twee n × n kolomstochastische matrices zijn. Dan geldt dat A × B is kolomstochastisch. Bewijs. Laat a11 . . . .. A= . an1 . . . a1n .. , . b11 . . . b1n .. , B = ... . bn1 . . . bnn ann We bewijzen dat de som van de eerste kolom van de matrix AB gelijk is aan 1 en nemen dan zonder verlies van algemeenheid aan dat de som van alle kollommen gelijk is aan 1. Het bewijs dat de som van elke andere kolom gelijk is aan 1 gaat analoog. Met behulp van matrixvermenigvuldiging zien we dat de eerste kolom van AB gelijk is aan: a11 b11 + · · · + a1n bn1 .. . . an1 b11 + · · · + ann bn1 Als we de elementen van de eerste kolom van AB optellen, krijgen we: b11 (a11 + · · · + an1 ) + · · · + bn1 (a1n + · · · + ann ). 13 De som van de eerste kolom van AB is gelijk aan 1 1 }| { }| { z z b11 (a11 + · · · + an1 ) + · · · + bn1 (a1n + · · · + ann ) = b11 + · · · + bn1 = 1. Dit volgt omdat de matrix A en de matrix B kolomstochastisch zijn. Hieruit volgt dat AB kolomstochastisch is. 14 Hoofdstuk 2 Positieve Matrices Nu de basis van de lineaire algebra bekend is, gaan we wat dieper in op deze basisbegrippen. Dit doen we in het bijzonder voor positieve matrices. Later in dit verslag, met name in Hoofdstuk 5, zullen we de stellingen uit dit hoofdstuk nodig hebben om het Google-probleem te versimpelen. We beginnen met een aantal definities. Definitie 2.1. Een vector x = (x1 , . . . , xn )T is positief als xi ≥ voor elke i ∈ {1, . . . , n}. Dit noteren we met x ≥ 0. Een n × m-matrix T = (tij ) is positief als tij ≥ 0 voor elke i ∈ {1, . . . , n}, j ∈ {1, . . . , m}. Dit noteren we met T ≥ 0. Opmerking. We noemen een vector x (of matrix T ) strikt positief als alle entries groter dan nul zijn. Dit noteren we met x 0 (of T 0). Definitie 2.2. De absolute waarde van x = (x1 , . . . , xn )T ∈ Cn is de vector |x| = (|x1 |, . . . , |xn |)T . De absolute waarde van T = (tij )i,j=1,...,n ∈ Mn (C) is |T | = (|tij |)i,j=1,...,n . Het volgende lemma wordt gegeven zonder bewijs. Het bewijs van dit lemma is erg simpel, de lezer wordt uitgedaagd het voor zichzelf te bewijzen. Lemma 2.3. Laat T ∈ Mn (C). Er geldt: (i) T ≥ 0 ⇐⇒ T x ≥ 0 voor elke x ≥ 0, (ii) |T x| ≤ |T ||x| voor elke x ∈ Cn , dus T ≥ 0 =⇒ |T x| ≤ T |x| voor elke x ∈ Cn . Met dit lemma kunnen we een stelling bewijzen die gemakkelijk in te zien is maar grote gevolgen met zich meebrengt. Stelling 2.4. Laat T een positieve matrix zijn met spectrale straal r(T ). Er geldt: (i) µ > r(T ) =⇒ R(µ, T ) ≥ 0, (ii) |µ| > r(T ) =⇒ |R(µ, T )| ≤ R(|µ|, T ). Bewijs. Volgens Lemma 1.14 kunnen we voor |µ| > r(T ) de resolvent schrijven als Neumannreeks: ∞ X Tn . R(µ, T ) = µn+1 n=0 15 (i) Er geldt dat T ≥ 0, dus dat T n ≥ 0 voor elke n, en µ > r(T ) ≥ 0 impliceert µn > 0 voor elke n, dus voor µ > r(T ) hebben we ∞ X Tn R(µ, T ) = ≥ 0. n+1 µ n=0 (ii) Voor µ met |µ| > r(T ) ≥ 0 geldt dat ∞ ∞ X T n X T n |R(µ, T )| = ≤ n=0 µn+1 n=0 µn+1 ≤ ∞ ∞ X X |T |n Tn = |µ|n+1 |µ|n+1 n=0 n=0 = R(|µ|, T ). Dit maakt het bewijs compleet. 2.1 Stelling van Perron Oskar Perron was een Duits wiskundige die op 7 mei 1880 in Frankenthal werd geboren en tot 22 februari 1975 leefde. Hij gaf les aan de Ruprecht-Karls-Universität Heidelberg en aan de Ludwig-Maximilians-Universität München en was voornamelijk werkzaam in het gebied van de differentiaalvergelijkingen en partiële differentiaalvergelijkingen. Zijn bekendste werk is de ‘Perron methode’, een methode voor het oplossen van Dirichletproblemen voor Laplacevergelijkingen. Hij hield zich echter ook bezig met de lineaire algebra, voornamelijk met strikt positieve matrices. In 1907 heeft hij verschillende eigenschappen van strikt positieve matrices bewezen, onder andere een variant van de volgende stelling: Stelling 2.5 (Perron). Laat T een positieve matrix zijn. Dan is r(T ) een eigenwaarde van T met een positieve eigenvector. In het bijzonder geldt dat r(T ) de grootste positieve eigenwaarde van T is. Deze stelling is dus eigenlijk niet helemaal bedacht en bewezen door Oskar Perron. Hij bewees dat voor een strikt positieve matrix T de spectrale straal een strikt positieve eigenvector heeft. Stelling 2.5 is in werkelijkheid in 1912 bewezen door Ferdinand Georg Frobenius, een andere Duits wiskundige. We noemen de stelling in dit verslag wel de stelling van Perron, omdat Frobenius de originele stelling van Perron alleen veralgemeniseerd heeft. (In dit geval heeft hij het feit dat positieve matrices te schrijven zijn als limieten van strikt positieve matrices gebruikt, Stelling 2.5 volgt dan meteen uit de originele stelling.) Om deze stelling te bewijzen, hebben we nog een extra lemma nodig. Lemma 2.6. Voor elke n × m-matrix A 6= 0 geldt dat er een y ≥ 0 is zdd. Ay = x 6= 0. Bewijs. Stel Ay = 0 voor elke y ≥ 0. Elke reële vector z kan geschreven worden als z = y1 − y2 met y1 , y2 ≥ 0, dus voor elke z ∈ Rm geldt Az = Ay1 − Ay2 = 0. Dit impliceert dat Ac = Az1 + i · Az2 = 0 voor elke c = z1 + i · z2 met z1 , z2 ∈ Rm , dus voor elke c ∈ Cm . Dit betekent dat A de nulmatrix is. Dus er is een y ≥ 0 zdd. Ay = x 6= 0. 16 Alternatief bewijs. Omdat A 6= 0, is er een j waarvoor de j-de kolom van A niet gelijk is aan nul. Neem y = ej , de nulvector met een één op de j-de plaats, dan geldt Ay 6= 0. Bewijs (stelling van Perron). We gaan de stelling van Perron bewijzen in twee delen: 1. Wat we moeten bewijzen is dat r(T ) ∈ σ(T ). We nemen een µ met |µ| > r(T ) en schrijven T in zijn Jordan T = P JP −1 . Herinner dat de resolvent van J gelijk is aan 1 1 · · · (µ−λ11 )n1 µ−λ1 (µ−λ1 )2 .. .. .. . . . ... 1 (µ−λ1 )2 1 0 µ−λ1 .. R(µ, J) = . 1 1 µ−λk (µ−λk )2 .. . 0 normaalvorm, dus 0 0 ··· .. . .. . . 1 (µ−λk )nk .. . 1 (µ−λk )2 1 µ−λk Hierbij geldt σ(T ) = {λi | i = 1, . . . , k} en ni is de dimensie van het Jordanblok behorend bij λi . De λi ’s hoeven niet allemaal verschillend te zijn. Er geldt r(T ) = max1≤i≤k |λi |, dus er is een λ0 ∈ σ(T ) met |λ0 | = r(T ). Omdat λ0 = λi voor een i ∈ {1, . . . , k}, geldt dat lim kR(µ, J)k → ∞. µ→λ0 Aangezien T = P JP −1 , geldt dat R(µ, T ) = (µI−T )−1 = (P (µI−J)P −1 )−1 = P R(µ, J)P −1 , en dus geldt ook dat lim kR(µ, T )k → ∞. µ→λ0 Voor |µ| > r(T ) geldt |R(µ, T )| ≤ R(|µ|, T ) (zie Stelling 2.4 (ii)), dus er geldt ook dat lim kR(|µ|, T )k → ∞. µ→λ0 |µ|>r(T ) Vanwege de continuı̈teit van de resolvent betekent dit dat r(T ) ∈ / ρ(T ), dus dat r(T ) ∈ σ(T ). 2. Wat we moeten bewijzen is dat er een x ≥ 0, x 6= 0, is zdd. T x = r(T )x. We weten dat er minstens één Jordanblok behorend bij r(T ) is. Laat n0 de dimensie van het grootste blok dat bij r(T ) hoort zijn. Noteer dit grootste blok met J(r(T )). Neem S = lim (R(µ, T )(µ − r(T ))n0 ). µ&r(T ) Er geldt S ≥ 0, want R(µ, T ) en µ − r(T ) zijn beide groter dan of gelijk aan nul voor elke µ > r(T ). Ook geldt S 6= 0, want in het deel van S behorend bij J(r(T )) 17 is er één entry die gelijk is aan één: 1 µ−r(T ) SJ(r(T )) = lim (µ − r(T ))n0 µ&r(T ) 0 ··· ... = 0 ··· .. . 0 0 1 1 (µ−r(T ))n0 .. . 1 µ−r(T ) 0 . . . . .. . 0 Uit Lemma 2.6 volgt nu dat er een y ≥ 0 en x 6= 0 bestaan zdd. Sy = x. Omdat S ≥ 0, hebben we ook dat x ≥ 0. We gaan laten zien dat T x = r(T )x. Er geldt inderdaad dat (r(T )I − T )x = (r(T )I − T )Sy = (r(T )I − T ) lim (R(µ, T )(µ − r(T ))n0 )y µ&r(T ) = lim ((r(T )I − T )R(µ, T )(µ − r(T ))n0 )y {z } µ&r(T ) | commuterend = lim (R(µ, T )(r(T )I − T )(µ − r(T ))n0 )y µ&r(T ) = lim [R(µ, T )((r(T ) − µ)I + (µI − T ))(µ − r(T ))n0 ]y µ&r(T ) = − lim (R(µ, T )(µ − r(T ))n0 +1 )y {z } µ&r(T ) | =0 + lim (R(µ, T )(µI − T )(µ − r(T ))n0 )y {z } µ&r(T ) | =I = 0. Dus er is een x ≥ 0, x 6= 0, zdd. T x = r(T )x. Dus r(T ) is een eigenwaarde van T met een positieve eigenvector. Dat r(T ) de grootste positieve eigenwaarde van T is, volgt nu uit de Definitie 1.8. Voorbeeld 2.7. We gaan deze stelling controleren voor de matrix uit Voorbeeld 1.9. Voor deze matrix geldt r(A) = 6 ∈ σ(A), dus r(A) is een eigenwaarde van A. X Voor de eigenvector x van r(A) geldt Ax = r(A)x, dus we willen een x vinden waarvoor Ax = 6x, dus waarvoor (A − 6I)x = 0. We hebben −5 2 1 A − 6I = 5 −4 1 . 0 5 −5 Nu kunnen we de vergelijking (A − 6I)x = 0 in een matrix zetten en de oplossing vinden met behulp van rijvegen: −5 2 1 0 1 − 52 − 15 0 1 0 − 35 0 5 −4 1 0 ∼ 0 −2 2 0 ∼ 0 1 −1 0 =⇒ x1 = 3 x3 , x2 = x3 . 5 0 5 −5 0 0 1 −1 0 0 0 0 0 18 Neem x3 = 5, dan hebben we als eigenvector 3 x = 5 5 en deze vector is positief! X Verder is 6 de enige positieve eigenwaarde, dus ook de grootste. X Later zullen we zien dat x 0 volgt uit de irreducibiliteit van A. 2.2 Dominante eigenwaarde Voordat we verdergaan met irreducibiliteit, gaan we eerst kijken naar dominante eigenwaarden. Dit lijkt nu los te staan van de verdere onderwerpen, maar alles zal in Hoofdstuk 5 op zijn plaats vallen. Voordat we aan de hoofdstelling van deze paragraaf toekomen, moeten we eerst nog definiëren wat een dominante eigenwaarde is. Definitie 2.8. Laat T ∈ Mn (C). elke µ ∈ σ(T ), µ 6= λ. Een λ ∈ σ(T ) is dominant als |µ| < |λ| voor Stelling 2.9. Laat T ≥ 0 met een strikt positieve diagonaal. Dan is r(T ) een dominante eigenwaarde van T . Om deze stelling te bewijzen hebben we eerst nog een lemma nodig. Het bewijs van dit lemma volgt direct uit de definitie van een eigenwaarde. Lemma 2.10. Laat A ∈ Mn (C) en t ∈ C. Dan geldt dat de eigenwaarden van A − tI de eigenwaarden van A minus t zijn, dus λ is een eigenwaarde van A ⇐⇒ λ − t is een eigenwaarde van A − tI. Bewijs (Stelling 2.9). We gaan bewijzen dat r(T ) de enige eigenwaarde is op de cirkel met straal r(T ). (Dan ligt de rest van de eigenwaarden binnen die cirkel en geldt dus dat r(T ) dominant is.) Om het bewijs duidelijk te maken, tekenen we intussen een plaatje, deze staat onder het bewijs. De eigenwaarden van T liggen allemaal binnen en op de cirkel met straal r(T ), cirkel 1 in het plaatje. Neem een ε zdd. 0 < ε < mini=1,...,n (tii ). Uit Lemma 2.10 volgt dat de eigenwaarden van T − εI de eigenwaarden van T minus ε zijn, dus de eigenwaarden van T − εI liggen allemaal binnen en op de cirkel met middelpunt −ε en straal r(T ), cirkel 2 in het plaatje. Er geldt dat T −εI ≥ 0, dus dat r(T −εI) ∈ σ(T −εI). Uit Stelling 2.5 volgt dat r(T −εI) de grootste positieve eigenwaarde van T − εI is. Uit Lemma 2.10 volgt dat r(T ) − ε de grootste positieve eigenwaarde van T − εI is, dus r(T − εI) = r(T ) − ε. De eigenwaarden van T − εI liggen dus allemaal binnen en op de cirkel met straal r(T − εI) = r(T ) − ε, cirkel 3 in het plaatje. Nu volgt uit Lemma 2.10 dat de eigenwaarden van T de eigenwaarden van T − εI plus ε zijn, dus de eigenwaarden van T liggen allemaal binnen en op de cirkel met middelpunt ε en straal r(T ) − ε, cirkel 4 in het plaatje. 19 2 1 3 4 ε r(T ) − ε r(T ) −ε 0 Figuur 2.1: De bijbehorende cirkels waarin en waarop de eigenwaarden liggen. De roze cirkels horen bij T en de groene bij T − εI. Aangezien alle eigenwaarden van T in en op cirkel 4 liggen, is r(T ) de enige eigenwaarde op cirkel 1 en dus is r(T ) dominant. Voorbeeld 2.11. We gaan deze stelling controleren voor de matrix uit Voorbeeld 1.9. De spectrale straal is dominant als hij de enige eigenwaarde op de cirkel met straal r(A) is. In het plaatje in Voorbeeld 1.9 is duidelijk te zien dat dit zo is, dus r(A) = 6 is inderdaad dominant. X 2.3 Irreducibele matrices Na het kleine uitstapje naar dominante eigenwaarden komen we nu aan bij de irreducibele matrices. Dit is een erg belangrijke eigenschap voor matrices, omdat dit een van de condities blijkt te zijn waarvoor het grootste Jordanblok behorend bij de spectrale straal dimensie één heeft. Het feit dat dit wel of niet zo is zegt veel over het gedrag van de machten van de matrices als de macht naar oneindig gaat. Definitie 2.12. Een matrix T ∈ Mn (C) is reducibel als er een verzameling M $ {1, . . . , n}, M 6= ∅, bestaat voor welke de deelverzameling JM = {(x1 , . . . , xn )T | xi = 0 voor elke i ∈ M } ⊂ Cn invariant onder T is. Er moet dus gelden dat x ∈ JM =⇒ T x ∈ JM . Als T niet reducibel is, heet T irreducibel. Doordat we de kanonieke basisvectoren van Cn ongestraft mogen permuteren, kunnen we de verzameling JM uit deze definitie vervangen door de verzameling JMk = {(x1 , . . . , xn )T | xk+1 = . . . = xn = 0} 20 voor een k ∈ {1, . . . , n}. Hieruit volgt de volgende karakterizering van (ir)reducibele matrices: Lemma 2.13. Een matrix T ∈ Mn (C) is reducibel ⇐⇒ er bestaat een permutatiematrix P zdd. S = P T P −1 een blokvorm heeft: A B . S= 0 C Hierbij geldt dat A en C vierkante matrices zijn en minstens 1 × 1 groot zijn. Opmerking. De bewerking P T P −1 is simpelweg het gelijktijdig verwisselen van kolommen en rijen van T . Dus stel dat de bewerking P T ervoor zorgt dat rij 1 en 2 verwisseld worden, dan zorgt de bewerking P T P −1 ervoor dat rij 1 en 2 verwisseld worden en dat kolom 1 en 2 verwisseld worden. (De volgorde van de verwisselingen maakt natuurlijk niet uit.) Stelling 2.14. Laat T ∈ Mn (C) een irreducibele en positieve matrix zijn. Er geldt: (i) r(T ) > 0. (ii) De eigenruimte van r(T ) is 1-dimensionaal en wordt opgespannen door een strikt positieve stochastische vector z = (z1 , . . . , zn )T . (iii) In de Jordan normaalvorm heeft het (unieke) blok behorend bij r(T ) dimensie één. Bewijs. (i) Wat we moeten bewijzen is dat r(T ) > 0. We laten zien dat er een z 0 bestaat zdd. T z = r(T )z. Dan volgt uit T ≥ 0 meteen dat r(T ) > 0, want het product van een positieve matrix en een strikt positieve vector is niet gelijk aan nul als de matrix niet gelijk aan nul is, en dus kan r(T ) dan niet gelijk zijn aan nul. Uit Stelling 2.5 volgt dat er een z ≥ 0, z 6= 0, bestaat zdd. T z = r(T )z. Stel nu dat z nulcoördinaten heeft. Zonder verlies van algemeenheid kunnen we z dan schrijven als z = (z1 , . . . , zk , 0, . . . , 0)T met z1 , . . . , zk > 0. Laat nu Y = lin{e1 , . . . , ek } en neem een y ∈ Y , dus yk+1 , . . . , yn = 0. Er geldt: voor elke t ∈ R en t0 > 0 is er een a > 0 zdd. |t| ≤ at0 , dus er is een c > 0 zdd. |y| ≤ cz. Dit betekent dat het volgende geldt: |T y| ≤ T |y| ≤ cT z = cr(T )z. Dit impliceert dat (T y)k+1 , . . . , (T y)n = 0, dus dat T y ∈ Y . Dit betekent dat Y invariant is onder T en dat impliceert dat T reducibel is. Dus z 0. (ii) Wat we moeten bewijzen is dat de eigenruimte van r(T ) 1-dimensionaal is en opgespannen wordt door een stochastische vector y 0. We laten zien dat de eigenruimte van r(T ) wordt opgespannen door y = Pn1 zi z i=1 waarbij z gelijk is aan de z uit (i). Dus we laten zien dat T x = r(T )x =⇒ x = cy voor een c ∈ C. Laat x ∈ Cn , x 6= 0, zdd. T x = r(T )x. We mogen aannemen dat x reëel is. (Beschouw anders Re(x) en Im(x) als twee losse gevallen.) Er bestaat een c > 0 zdd. x̃ = y − cx ≥ 0 en zdd. x̃ minstens één nulcoördinaat heeft. Dus als x̃ 6= 0, geldt dat x̃ een eigenvector van r(T ) is met minstens één nulcoördinaat, dus dat T reducibel 21 is, zie het bewijs van (i). Er moet dus gelden dat x̃ = 0, dus dat y = cx. Oftewel, x = 1c y voor een c > 0. P P De vector y is ten duidelijkste een stochastische vector ( ni=1 yi = Pn1 zi ni=1 zi = 1), i=1 dus de eigenruimte van r(T ) wordt opgespannen door een strikt positieve stochastische vector. (iii) Wat we moeten bewijzen is dat het Jordanblok behorend bij r(T ) dimensie één heeft. Zonder verlies van algemeenheid mogen we aannemen dat r(T ) = 1, beschouw T anders de matrix r(T (die heeft dezelfde Jordanrepresentatie als T ). Dan geldt voor ) de z hierboven dus dat T z = z. Laat D de diagonaalmatrix zijn met z1 , . . . , zn op de diagonaal en definieer S = D−1 T D ≥ 0. Schrijf de n-dimensionale 1-vector als 1. Er geldt: S 1 = D−1 T z = D−1 z = 1. Verder geldt voor de rijnorm van S en de ∞-norm van Cn dan ook dat kSk = kS 1k = k1k = 1, N dus dat S ≤ kSkN = 1 voor elke N ∈ N. Dus N T = (DSD−1 )N = DS N D−1 ≤ kDk D−1 voor elke N ∈ N. Dit betekent dat {T N }∞ N =1 begrensd is. Dat kan alleen zo zijn als alle Jordanblokken behorend bij 1 dimensie één hebben, zie formule (1.2). Voorbeeld 2.15. We gaan deze stelling controleren voor de matrix uit Voorbeeld 1.9. Eerst moeten we laten zien dat deze matrix irreducibel is. Om dit in te zien rekenen we A2 uit: 1 2 1 1 2 1 11 11 4 A2 = 5 2 1 5 2 1 = 15 19 8 . 0 5 1 0 5 1 25 15 6 Dus A2 0. Dit betekent dat S 2 = (P AP −1 )2 = P A2 P −1 0 voor elke permutatiematrix P , dus dat S niet in blokvorm te schrijven is voor elke permutatiematrix P . (Als er wel een permutatiematrix P is waarvoor S in blokvorm te schrijven is, moet ook gelden dat S 2 in blokvorm staat voor die P , want de nulmatrix in de blokvorm blijft een nulmatrix in alle machten.) Dus A is irreducibel. (i) r(A) = 6 > 0. X (ii) De eigenwaarde 6 heeft maar één eigenvector (op vermenigvuldiging na) en deze is strikt positief (zie Voorbeeld 2.7), dus de eigenruimte van r(A) is 1-dimensionaal en wordt opgespannen door een strikt positieve vector x = (3, 5, 5)T . Deze eigenruimte wordt opgespannen door alle veelvouden van x, dus ook door de stochastische 3 5 5 T 1 vector z = 13 x = 13 , 13 , 13 . X (iii) De matrix A heeft eigenwaarden 6, −i + 1 en −i − 1, dus de Jordanmatrix van A ziet er als volgt uit: 6 0 0 0 . J = 0 −i + 1 0 0 −i − 1 (De eigenwaarden kunnen natuurlijk gepermuteerd worden.) Het Jordanblok behorend bij r(T ) = 6 heeft dus dimensie één. X 22 Hoofdstuk 3 Grafentheorie In dit verslag werken we toe naar Google, een van de bekendste toepassingen van de theorie van positieve matrices. Voordat we echter zover zijn, gaan we eerst in Hoofdstuk 3 en Hoofdstuk 4 wat vertellen over respectievelijk grafen en Markovketens, omdat ook vanuit deze gebieden van de wiskunde gekeken kan worden naar het algoritme van Google. Verder is er een hechte relatie tussen grafentheorie en de theorie van positieve matrices. 3.1 Gerichte grafen Definitie 3.1. Een gerichte graaf G is een paar G = (V, E) met V de verzameling ‘punten’, in het Engels ‘vertices’, en E ⊂ V × V de verzameling ‘lijnen’, in het Engels ‘edges’. De lijnen kunnen gezien worden als verbindingen met een richting tussen punten, sommige punten zijn dus met elkaar verbonden en andere niet. Als e = (v, w), is e de lijn w van v ∈ V naar w ∈ V . Dus we kunnen e = (v, w) schrijven als e = v Alle grafen waar we het in dit hoofdstuk over hebben zijn gerichte grafen. Definitie 3.2. Een graaf van graad n is een graaf met n punten. We schrijven dan V = {v1 , . . . , vn } en E = {e1 , . . . , em }, waarbij voor elke i ∈ {1, . . . , m} geldt dat ei = (vj , vk ) voor een j, k ∈ {1, . . . , n}. Voorbeeld 3.3 (Graaf van graad 4). Laat V = {1, 2, 3, 4} en E = {e1 , e2 , e3 , e4 , e5 } waarbij e1 = (1, 2), e2 = (1, 3), e3 = (3, 2), e4 = (3, 4) en e5 = (4, 2). De bijbehorende graaf ziet er als volgt uit: e1 1 2 e2 e3 e5 4 e4 3 Definitie 3.4. Er is een wandeling van lengte n van vi naar vj als er vi1 , . . . , vin−1 ∈ V bestaan zdd. (vi , vi1 ), (vi1 , vi2 ), . . . , (vin−2 , vin−1 )(vin−1 , vj ) ∈ E. Intuı̈tief is er zo’n wandeling als je in n stappen van vi naar vj kunt ‘lopen’ terwijl je de richting van de lijnen volgt. 23 We schrijven een wandeling van lengte n van vi naar vj als (vi , vi1 )(vi1 , vi2 ) · · · (vin−1 , vj ). We zeggen dat vi verbonden is met vj als er een wandeling van vi naar vj bestaat. Voorbeeld 3.5. In de graaf uit Voorbeeld 3.3 zijn er wandelingen van 1 naar 2: 1. (1, 2), een wandeling van lengte één, 2. (1, 3)(3, 2), een wandeling van lengte twee, 3. (1, 3)(3, 4)(4, 2), een wandeling van lengte drie. Zoals je ziet zitten in wandeling 2 ook een wandeling van 1 naar 3 ((1, 3)) en een wandeling van 3 naar 2 ((3, 2)) bevat. De andere wandelingen in deze graaf zijn (1, 3)(3, 4), (3, 4)(4, 2), (3, 4) en (4, 2). 3.2 Verbindingsmatrices Er is een nuttige relatie tussen matrices en grafen, om specifiek te zijn tussen positieve matrices en grafen. Definitie 3.6. De verbindingsmatrix A = (aij )i,j=1,...,n van een graaf G van graad n is de matrix met ( 1 als (vj , vi ) ∈ E, aij = 0 anders. De verbindingsmatrix beschrijft de graaf helemaal, de relatie is één-op-één. Voorbeeld 3.7. De verbindingsmatrix van de graaf uit Voorbeeld 3.3 is 0 0 0 0 1 0 1 1 A= 1 0 0 0 . 0 0 1 0 Op een soortgelijke wijze beschrijft een ‘gewone’ positieve matrix ook een graaf. Stel namelijk dat A ≥ 0 een n × n-matrix is en definieer A = (aij )i,j=1,...,n met ( 1 als (A)ij > 0, aij = 0 als (A)ij = 0. Dan is er dus een unieke graaf die bij A hoort, en deze wordt gedefinieerd door zijn verbindingsmatrix A. Definitie 3.8. Deze unieke graaf noemen we de geassocieerde graaf van de matrix A. Voorbeeld 3.9. Neem 0 12 3 A = 2 π 8 . 1 0 0 Dan is de geassocieerde graaf als volgt: 24 1 2 3 De matrix A die door A gedefinieerd wordt is 0 1 1 A = 1 1 1 1 0 0 en dit is inderdaad de verbindingsmatrix van de graaf! Opmerking. Deze relatie is niet één-op-één, want de positieve matrices met nullen op dezelfde plek hebben dezelfde geassocieerde graaf. Dus bij een positieve matrix hoort een unieke graaf, maar bij een graaf hoort geen unieke positieve matrix. Voorbeeld 3.10. We hebben in Voorbeeld 3.7 gezien wat de verbindingsmatrix van de graaf uit Voorbeeld 3.3 is: 0 0 0 0 1 0 1 1 A= 1 0 0 0 . 0 0 1 0 Dit betekent dat deze graaf de geassocieerde graaf is van alle positieve 4 × 4-matrices met een nul op plek (1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (3, 2), (3, 3), (3, 4), (4, 1), (4, 2) en (4, 4). Dus het is de geassocieerde graaf van de matrices van de vorm 0 0 0 0 z1 0 z2 z3 A= z4 0 0 0 0 0 z5 0 met z1 , . . . , z5 > 0. Na al deze definities kunnen we nu een handig lemma formuleren. Met dit lemma kun je met behulp van een computer snel zien of er wandelingen zijn tussen de punten van een grote graaf. Het bewijs volgt uit de definitie van een verbindingsmatrix en de regels voor matrixvermenigvuldiging. Dit wordt aan de lezer overgelaten. Lemma 3.11. Laat G = (V, E) een graaf van graad n zijn en laat A de bijbehorende verbindingsmatrix zijn. Dan geldt dat er een wandeling van vi naar vj van lengte k bestaat d.e.s.d.a. (Ak )ji > 0. Bovendien geldt voor elke i, j ∈ {1, . . . , n} dat (Ak )ji = #{wandelingen van vi naar vj }. 3.3 Sterke samenhangendheid Er is een relatie tussen samenhangende grafen en irreducibele matrices die heel bruikbaar is. Deze relatie staat in Stelling 3.16, maar eerst volgen er een aantal definities. 25 Definitie 3.12. Een graaf G is sterk samenhangend als er tussen elke twee punten een wandeling in beide richtingen is. Intuı̈tief betekent sterke samenhangendheid dus dat je van elk punt naar elk ander punt kunt lopen in de richting van de lijnen. Equivalent hieraan is dat alle punten met elkaar verbonden zijn. Uit Lemma 3.11 volgt dus dat een graaf van graad n sterk samenhangend is als er voor elke i, j ∈ {1, . . . , n} een k ∈ N is zdd. (Ak )ji > 0. Voorbeeld 3.13. We bekijken de grafen uit de voorgaande voorbeelden: • De graaf uit Voorbeeld 3.3 is niet sterk samenhangend. Er is bijvoorbeeld geen wandeling van 2 naar 1 (er is zelfs helemaal geen wandeling met 2 als beginpunt of 1 als eindpunt). • De graaf uit Voorbeeld 3.9 is wel sterk samenhangend, er zijn wandelingen van elk punt naar elk ander punt. Voorbeeld 3.14. De geassocieerde graaf 1 0 8 A= 5 0 0 van 0 0 5 0 0 0 0 1 0 5 10 0 3 0 0 0 7 0 0 5 is een graaf die niet sterk samenhangend is: 3 1 4 2 5 Het is duidelijk dat het onmogelijk is om van het bovenste deel van de graaf, {1, 3, 4}, naar het onderste deel, {2, 5}, te komen. We gaan nu een stelling bewijzen die erg op de hoofdstelling (Stelling 3.16) van deze paragraaf lijkt. Met deze stelling op zak wordt het bewijs van Stelling 3.16 een stuk simpeler. Stelling 3.15. Een graaf G van graad n is sterk samenhangend ⇐⇒ de verbindingsmatrix A van G is irreducibel. Bewijs. ‘=⇒’ Wat we moeten bewijzen is dat als er voor elke i, j ∈ {1, . . . , n} een k ∈ N bestaat zdd. (Ak )ij > 0, A irreducibel is. 26 Stel dat A reducibel is. Dan volgt uit Lemma 2.13 dat er een permutatiematrix P is zdd. S = P AP −1 te schrijven is als ∗ ∗ S= , 0 ∗ waarbij de sterretjes matrices zijn met willekeurige reële getallen en de twee matrices linksboven en rechtsonder kwadratisch zijn. (Deze getallen zitten zelfs in {0, 1}.) Dan geldt ook voor elke k ∈ N dat S k = P Ak P −1 zo te schrijven is: ∗ ∗ k S = . 0 ∗ (Nu zijn de sterretjes matrices met willekeurige getallen in Z≥0 .) Voor sommige entries van Ak geldt dus dat ze voor elke k ∈ N gelijk zijn aan nul. (Dit is omdat de permutaties die op Ak toegepast worden voor elke k ∈ N gelijk zijn.) Dit betekent dat er geen k is waarvoor geldt dat er een wandeling van lengte k is tussen de punten die bij die entries horen. Dus A is irreducibel. ‘⇐=’ Wat we moeten bewijzen is dat A irreducibel =⇒ voor elke i, j ∈ {1, . . . , n} er is een k ∈ N zdd. (Ak )ji > 0. Deze helft van het bewijs maakt geen deel uit van dit verslag. Dit deel van het bewijs volgt uit Proposition 1 op pagina 533 van [8]. Dus een graaf G is sterk samenhangend ⇐⇒ de verbindingsmatrix A van G is irreducibel. Nu kunnen we de langverwachte belangrijke stelling over irreducibiliteit van matrices bewijzen. Stelling 3.16. Laat A een positieve matrix zijn. Dan geldt dat A irreducibel is d.e.s.d.a. zijn geassocieerde graaf sterk samenhangend is. Bewijs. Uit de definitie van de verbindingsmatrix volgt dat A irreducibel is d.e.s.d.a. de bijbehorende verbindingsmatrix A irreducibel is. Stelling 3.15 zegt dat A irreducibel is d.e.s.d.a. zijn geassocieerde graaf sterk samenhangend is, dus A is irreducibel ⇐⇒ de geassocieerde graaf van A is sterk samenhangend. Opmerking. Met behulp van deze stelling kan je op een gemakkelijke manier zien of een matrix irreducibel is, mits deze matrix niet al te groot is. Zo is de matrix uit Voorbeeld 3.7 niet irreducibel, omdat de geassocieerde graaf (die staat in Voorbeeld 3.3) niet sterk samenhangend is. De matrices A en A uit Voorbeeld 3.9 zijn wel irreducibel, want de geassocieerde graaf is sterk samenhangend. 3.4 Gewogen grafen Voor Google is het fijn om te weten hoeveel waarde een bepaalde link van de ene site naar de andere heeft. Om dit makkelijk in te zien kun je gewogen grafen gebruiken. 27 Definitie 3.17. Een graaf G = (V, E) is een gewogen graaf als er voor elke ei ∈ E een bijbehorende wi is zdd. (i) wi > 0, P (ii) j:ej uitgaande lijn van v wj = 1 voor elke v ∈ V met minstens één uitgaande lijn. De wi ’s noemen we de gewichten. Voorbeeld 3.18 (Gewogen graaf van graad 4). De graaf 1 2 1 1 3 2 1 1 6 1 4 1 4 3 4 3 is een gewogen graaf: (i) wi > 0 voor elke i ∈ {1, . . . 7}. P 1 1 1 (ii) • j:ej uitgaande lijn van 1 wj = 2 + 3 + 6 = 1. P • j:ej uitgaande lijn van 2 wj = 1. P 1 3 • j:ej uitgaande lijn van 3 wj = 4 + 4 = 1. P • j:ej uitgaande lijn van 4 wj = 1. 3.5 Gewogen verbindingsmatrices Ook tussen gewogen grafen en matrices is een relatie die het rekenen met grafen een stuk makkelijker maakt doordat de computer er met behulp van matrices aan kan rekenen. Deze matrices beginnen al erg op de matrices die Google gebruikt te lijken. Definitie 3.19. De gewogen verbindingsmatrix Aw = (aw ij )i,j=1,...,n van een gewogen graaf G van graad n is de matrix met ( wk als ek = (vj , vi ) ∈ E, aw ij = 0 als (vj , vi ) ∈ / E. Net als de verbindingsmatrix voor ongewogen grafen beschrijft de gewogen verbindingsmatrix de gewogen graaf helemaal. Ook de relatie tussen gewogen verbindingsmatrices en gewogen grafen is één-op-één. Opmerking. De kolomsommen van een gewogen verbindingsmatrix Aw zijn allemaal gelijk aan één of nul. Als de kolomsom gelijk is aan nul, heeft het punt behorend bij die kolom geen uitgaande lijnen. 28 Voorbeeld 3.20. De gewogen verbindingsmatrix 0 0 0 1 0 1 4 Aw = 12 3 0 0 1 6 1 3 4 van de graaf uit Voorbeeld 3.18 is 1 0 . 0 0 Op een soortgelijke wijze beschrijft een ‘gewone’ kolomstochastische matrix ook een gewogen graaf. Stel namelijk dat Aw een kolomstochastische n × n-matrix is. Dan is er, op isomorfie van lijnen na, een unieke gewogen graaf die bij Aw hoort, en deze wordt gedefinieerd door zijn gewogen verbindingsmatrix Aw = Aw , dus door de matrix zelf. Zo kun je elke kolomstochastische matrix dus zien als een gewogen verbindingsmatrix. Definitie 3.21. Deze unieke gewogen graaf noemen we de gewogen geassocieerde graaf van de kolomstochastische matrix Aw . Voorbeeld 3.22. Neem 0 Aw = 12 1 2 1 π 2 π π−3 π 1 0 . 0 Dan is de gewogen geassocieerde graaf als volgt: 1 2 1 2 1 π 1 2 π−3 π 1 3 29 2 π Hoofdstuk 4 Markovketens Een andere toepassing van de theorie van positieve matrices (zie Hoofdstuk 2) is Markovketens. De kennis die we in dit hoofdstuk behandelen is ook zeer gebruikelijk voor Google. Een Markovketen is genoemd naar de Russische wiskundige Andrej Markov (1856−1922). Een Markovketen beschrijft een systeem dat zich door een aantal toestanden beweegt en stapsgewijs overgangen vertoont van de ene naar de andere toestand. Markovketens worden in veel gebieden gebruikt voor het simuleren en analyseren van (computer)modellen van systemen waarvan de toestand geheel of voor een deel van het toeval afhangt. 4.1 Basisbegrippen Om te beginnen introduceren we een aantal basisbegrippen. Definitie 4.1. Een eindig discreet stochastisch proces is een verzameling stochasten {Xt }∞ t=0 met een gemeenschappelijke toestandsruimte S = {S1 , . . . , Sn }. Hierbij geeft Xt de toestand van het proces op tijdstip t. Een Markovketen heeft de volgende eigenschap. Definitie 4.2. Een Markovketen is een stochastisch proces dat voldoet aan de Markoveigenschap: P(Xt+1 = Sj | Xt = Sit , Xt−1 = Sit−1 , . . . , X0 = Si0 ) = P(Xt+1 = Sj | Xt = Sit ) ∀t = 0, 1, 2, . . . . Oftewel, de kans dat het proces op tijdstip t + 1 zich in toestand Sj bevindt, hangt alleen af van de toestand op tijdstip t. Opmerking. De notatie P(X|F ) is de kans op een bepaalde gebeurtenis X gegeven dat er een andere gebeurtenis F plaatsvindt. Dit wordt de voorwaardelijke kans genoemd. De Markov-eigenschap houdt in dat een proces geheugenloos is. De toekomst gegeven het heden hangt niet af van het verleden. Dus de toestand van de keten in de toekomst hangt alleen af van de huidige toestand, niet van het verleden. Voorbeeld 4.3. Surfen op het web is een voorbeeld van een Markovketen waarbij de Markov-eigenschap de volgende eigenschap is: het surfen naar de volgende website is onafhankelijk van de websites die in het verleden zijn bezocht, dus is alleen afhankelijk van de huidige website. 30 Definitie 4.4. De overgangsmatrix T = T (t) = (pij (t)) is een vierkante matrix waarbij pij (t) = P(Xt = Si | Xt−1 = Sj ) de kans is om van toestand Si naar Sj te komen op tijdstip t, zodat • pij (t) ≥ 0, 1 ≤ i, j ≤ n, t ≥ 0, Pn • 1 ≤ i ≤ n, t ≥ 0. j=1 pij (t) = 1, Opmerking. Uit de definitie volgt dat de matrix T een positieve kolomstochastische matrix is. Ook hebben we in Paragraaf 3.5 gezien dat er bij elke kolomstochastische matrix een unieke gewogen graaf hoort. Voorbeeld 4.5. De matrix uit Voorbeeld 3.22 is dus een overgangsmatrix en de graaf uit het voorbeeld is een weergave van de bijbehorende Markovketen. Definitie 4.6. Een Markovketen heet stationair als pij (t) = pij ∀t = 0, 1, 2, . . . . Een stationaire Markovketen wordt ook wel een homogene Markovketen genoemd. Opmerking. Als de Markovketen homogeen is, is de overgangsmatrix T = (pij ) een eindige matrix. Definitie 4.7. Een Markovketen is (ir)reducibel als de overgangsmatrix T een (ir)reducibele matrix is. Definitie 4.8. Een stochastische vector is een positieve vector x = (x1 , . . . , xn )T zodat: X xn = 1. n Opmerking. We kunnen een Markovketen noteren met M = (T, p(0)). Hierbij is T de bijbehorende overgangsmatrix en p(0) de initiële kansverdelingsvector. We hebben nu een aantal definities behandeld. Om de definities iets duidelijker te maken, gaan we nu naar een voorbeeld kijken. Voorbeeld 4.9. Stel dat de populatie van Atlantis uit 2900 mensen bestaat en stel dat er drie steden A, B, en C zijn in Atlantis. Elk jaar zal de gehele populatie van elke stad verhuizen naar de andere steden door zich in twee gelijke delen te verdelen. Laat a(t), b(t) en c(t) de populatiegrootte van A, B, en C na t jaar zijn en neem p(t) = (a(t), b(t), c(t))T . Stel dat de beginpopulaties van de steden A, B en C repectievelijk a(0) = 700, b(0) = 1000 en c(0) = 1200 zijn. Wat is de populatie dan over een aantal jaar? De overgangsmatrix is gelijk aan: 1 1 0 2 2 1 T = 2 0 12 en p(0) = (700, 1000, 1200)T . 1 1 0 2 2 31 Dan geldt: p(1) = T p(0) = (1100, 950, 850)T p(2) = T p(1) = (900, 975, 1025)T . Met inductie volgt nu dat: pk pk+1 pk+1 T k = pk+1 pk pk+1 pk+1 pk+1 pk Dus en pk = 1 3 (−1)k 1 + k−1 2 . 1 1 1 1 lim T k = 1 1 1 . k→∞ 3 1 1 1 Hieruit volgt dat 1 p = lim pk = lim T k p0 = (2900, 2900, 2900)T k→∞ k→∞ 3 de uiteindelijke verdeling van de populatie is. 4.2 Theorie We hebben een aantal definities behandeld met betrekking tot Markovketens. Nu gaan we verder met een aantal klassieke theorieën over Markovketens. Definitie 4.10. Een toestand Si heeft toegang tot een toestand Sj , Si → Sj , als P{Si → Sj in k stappen voor een k ∈ N} > 0, oftewel als het mogelijk is om in een eindig aantal stappen van Si naar Sj te komen. Als Si → Sj en Sj → Si , dan noemen we Si en Sj samenhangend, Si ↔ Sj . Opmerking. Het is makkelijk na te gaan dat dit een equivalentierelatie definieert. Definitie 4.11. De klassen van een Markovketen zijn de equivalentieklassen geı̈nduceerd door de samenhangende relatie op de verzameling S. We zeggen dat een klas α toegang heeft tot een klas β als Si → Sj voor een Si ∈ α en Sj ∈ β. Een klas heet gesloten als het geen toegang heeft tot een andere klas. Als een geslotenl klas één toestand bevat dan heet de toestand absorberend. Een Markovketen heet ergodisch als het bestaat uit één unieke klas. Opmerking. Een Markovketen is ergodisch als alle toestanden samenhangend zijn. Dit is equivalent met Definitie 3.12. Voorbeeld 4.12. Een voorbeeld van een ergodische Markovketen is 1 1 T = 21 12 , 2 2 omdat alle toestanden samenhangend zijn. Het volgende lemma heeft veel overeenkomsten met een stelling die we al eerder zijn tegengekomen in de grafentheorie. 32 Lemma 4.13. Laat T de overgangsmatrix voor een Markovketen M zijn. Dan geldt: M is ergodisch dan en slechts dan als T irreducibel is. Bewijs. De Markovketen is ergodisch dan en slechts dan als de bijbehorende graaf sterk samenhangend is. Dus uit Stelling 3.15 volgt dit lemma. Stelling 4.14. De Markovketen is ergodisch dan en slechts dan als er een unieke stationaire kansverdelingsvector bestaat. Bewijs. De overgangsmatrix T is kolomstoschastisch dus r(P ) = 1. We weten uit Lemma 4.13 dat een Markovketen ergodisch is dan en slechts dan als T irreducibel is. Dus we willen bewijzen dat T irreducibel is dan en slechts dan als er een unieke vector x 0 P bestaat zodat T x = x en xj = 1. P ‘⇐=’ We nemen aan dat er een unieke vector x 0 bestaat zodat T x = x en xj = 1. Stel dat T reducibel is. Dan mogen we zonder verlies van algemeenheid aannemen dat er een permutatiematrix T is zodat S = P T P −1 van de vorm A C 0 B is. Als T kolomstoschastisch is, dan is de matrix S ook kolomstochastisch. Dit betekent dat A ook kolomstochastisch is, dus dat r(A) = 1. Dus volgens Stelling 2.5 bestaat er een y > 0 zodat Ay = y. Dit impliceert dat x = (y, 0, . . . 0)T een eigenvector van P is waarvoor geldt dat T x = x. Dit is in tegenspraak met de aanname dat de unieke eigenvector strikt positief moet zijn. Dus P is irreducibel. ‘=⇒’ Dit hebben we bewezen in Stelling 2.14. We willen nog één belangrijke stelling bewijzen. Hiervoor hebben we nog een definitie nodig. Definitie 4.15. Een Markovketen heet regular als ∃k ∈ N zodat P{Sj → Sj in k stappen } > 0, ∀i, j. Opmerking. Elke regular Markovketen is ergodisch, maar niet elke ergodische Markovketen is regular. Voorbeeld 4.16. Laat 0 1 T = . 1 0 Deze matrix is ergodisch, maar niet regular. In Hoofdstuk 2 over positieve matrices hebben we de definities van irreducibele matrices en dominante eigenwaarden behandeld. Die zullen nu in de volgende stelling van pas komen. Stelling 4.17. Markovketen is regular dan en slechts dan als T irreducibel is en 1 een dominante eigenwaarde is van T . 33 Bewijs. ‘⇐=’ We weten dat T irreducibel, kolomstochastisch en positief is met 1 als dominante eigenwaarde. Ook weten we dat T k → P 0. Dus ∃k0 zodanig dat T k0 → P 0. Dit impliceert dat de Markovketen regular is. ‘=⇒’ Stel dat de Markovketen regular is. Dan volgt uit Definitie 4.15: P{Sj → Sj in k stappen } > 0, ∀i, j. Stel dat T reducibel is. Dan is er een permutatiematrix P zodat S = P T P −1 van de vorm A C 0 B is. Ook geldt dat: n S = An ∗ 0 Bn . Dit is in tegenspraak met de aanname dat de Markovketen regular is. Nu willen we nog aantonen dat 1 een dominante eigenwaarde is van T . We weten dat T kolomstochastisch is, dus r(T ) = 1. Ook weten we dat T k0 0. Neem aan dat ∃λ ∈ σ(T ) met |λ| = 1. Dan moeten we laten zien dat λ = 1. Voor k0 geldt dat λk0 = 1. Maar als T k0 0, dan ook T k0 +1 0. Dus λk0 +1 = 1. Dit impliceert dat 1= λk0 +1 = λ. λk0 Hieruit volgt dat 1 een dominante eigenwaarde is. 34 Hoofdstuk 5 Google PageRank Google onderscheidt zich van andere zoekmachines doordat de zoekresultaten worden gesorteerd zodanig dat de relevante webpagina’s als eerste worden gezien. Bij het bedrijf Google Inc. werken nu 19.385 mensen voltijd. Het hoofdkantoor is gevestigd in Mountain View in Californië. Sinds 19 augustus 2004 is het bedrijf beursgenoteerd. Het bedrijf is uitgegroeid tot één van de grootste bedrijven in de ICT-industrie en het nam verschillende bedrijven over, zoals YouTube en DoubleClick. 5.1 Geschiedenis Het bedrijf Google Inc. is een bedrijf dat startte met een zoekmachine op internet voor site’s op het World Wide Web. In 1998 is deze zoekmachine door Larry Page en Sergey Brin opgericht. De naam ‘Google’ komt van het woord “googol”, dit is een term voor 10100 . De term geeft het doel aan van de zoekmachine om alle informatie van de wereld toegankelijk en nuttig te maken. Eigenlijk zou het bedrijf “Googol”heten, maar door een fout van één van de oprichters werd het Google. Het bedrijf maakt gebruik van een netwerk van zeer veel relatief goedkope computers. Googles server bestaat naar schatting uit meer dan 450.000 systemen die zijn opgebouwd uit standaard hardwaredocumenten. 5.1.1 Lawrence E. Page Lawrence E. Page, beter bekend als Larry Page, is op 26 maart 1973 geboren in Michigan. Larry Page heeft gestu- Figuur 5.1: Lawrence E. deerd aan de Universiteit van Michigan, hier heeft hij zijn Page, geboren op 26 maart bachelor behaald. Zijn mastertitel heeft hij behaald aan de 1973 Stanford University in computerbouwkunde. Hier ontmoette hij Sergey Brin. Vervolgens is hij in Stanford begonnen als promovendus. Tijdens zijn promotie ontwikkelde hij samen met Sergey Brin de Google zoekmachine. Tot 2001 was Larry Page mede-directeur van Google. Vanaf 4 april 2011 werkt hij als Chief Executive Officer bij Google Inc.. 35 5.1.2 Sergey Brin Sergej Michailovitsj Brin is op 21 augustus 1973 geboren in Moskou. In 1979 is hij samen met zijn familie geëmigreerd naar de Verenigde Staten om te ontsnappen aan de Jodenvervolging. Hij is één van de oprichters van Google Inc.. Sergey heeft zijn bachelor in wiskunde en computerwetenschappen aan de Universiteit van Maryland behaald. Vervolgens haalde hij zijn mastertitel aan de Stanford University. Daar ontmoette hij in 1995 Larry Page met wie hij de technologie achter de zoekmachine ontwierp. Vanwege zijn werkzaamheden bij Google Inc. ligt zijn promotie stil. Figuur 5.2: Sergej MiLarry Page en Sergey Brin hebben elkaar ontmoet chailovitsj Brin, geboren op Stanford University. Stanford University heeft het patent op 21 augustus 1973 op PageRank terwijl de naam een handelsmerk van Google is. 5.2 Basisidee Het idee is dat het internet zelf beslist hoe belangrijk een pagina is, dit wordt bepaald met behulp van een bepaalde waarde. De basis van de Google zoekmachine is een algoritme met de naam PageRank. De waarde van een pagina wordt bepaald door het aantal keer dat er naar gelinkt wordt vanaf andere webpagina’s. Google analyseert de pagina waar de link vandaan komt. PageRank wordt gebruikt om de zoekresultaten van een zoekopdracht te rangschikken. Elke zoekopdracht doorzoekt in minder dan één seconde een index die is opgebouwd uit bijna 10 miljard webpagina’s (stand in juli 2007). Om te bepalen welke pagina het eerst in de resultatenlijst verschijnt wordt er gekeken naar hoe vaak er een pagina gelinkt wordt, vanaf welke pagina’s en met welke tekst. Google heeft in totaal ongeveer 200 algoritmes om te bepalen welke website het eerst in de resultatenlijst verschijnt. Van ongeveer 150 algoritmes is de werking van het algoritme bekend. Veel gebruikers van Google willen natuurlijk hoog in de resultatenlijst komen, daarom worden er methoden gebruikt om de waarde van een website in Google te verhogen, bijvoorbeeld door het maken van webpagina’s die alleen dienen om naar andere webpagina’s te verwijzen zodat deze een hogere rang krijgen. We kunnen niet exact uitleggen hoe de plaats van een website in de resultatenlijst wordt bepaald. Het algoritme van Google wordt namelijk door de uitvinders geheimgehouden. 5.2.1 Eerste poging om het PageRank algoritme te bepalen Stel het web bevat d webpagina’s W1 , . . . , Wd . De waarde die wordt gegeven aan webpagina Wk definiëren we met xk en is positief. Als xk > xj , zeggen we dat pagina Wk belangrijker is dan pagina Wj . Een simpele manier om de waarde van een pagina te bepalen is om xk gelijk te stellen aan het aantal backlinks van webpagina Wk . De backlinks van een webpagina zijn de links naar die gegeven webpagina. 36 Voorbeeld 5.1. Beschouw een web met webpagina’s W1 = 1, W2 = 2, W3 = 3 en W4 = 4. Figuur 5.3: Voorbeeld van een web met 4 webpagina’s. De pijl van i naar j geeft aan dat er een link bestaat van pagina i naar j, met i, j ∈ {1, 2, 3, 4} Dan zien we dat de waarden van deze pagina’s gelijk zijn aan x1 = 0, x2 = 3, x3 = 1 en x4 = 1. De score van pagina W3 en W4 zijn gelijk, maar W3 wordt gelinkt door W1 en W4 door W2 , waarbij W2 belangrijker is dan W3 . Opmerking. In Paragraaf 3.1 en Paragraaf 3.2 hebben we de onderwerpen gerichte grafen en de relatie tussen matrices en grafen behandeld. Het web in Voorbeeld 5.1 kunnen we zien als een gerichte graaf van graad 4 met verbindingsmatrix 0 0 1 0 1 0 1 1 A= 1 0 0 0 . 0 1 1 0 We willen dat een website belangrijk is als de website gelinkt wordt door andere belangrijke pagina’s. In Voorbeeld 5.1 zien we dat twee websites dezelfde waarde krijgen, terwijl de webpagina’s gelinkt worden door webpagina’s met een verschillende waarde. Om dit te voorkomen moeten we dus ook rekening houden met waar de links vandaan komen. Stel dat de waarde van een webpagina Wk voldoet aan X xj , xk = j∈Lk waarbij Lk ⊂ {1, 2, . . . , n} de verzameling backlinks van webpagina Wk is. Nu zijn de waarden van de webpagina’s met een link naar Wk verwerkt in de formule. Maar op deze manier kunnen webpagina’s de waarde van hun website heel makkelijk manipuleren, namelijk door af te spreken om heel vaak naar elkaar te linken. Daarom hebben Sergey Brin en Larry Page een ander manier bedacht om een waarde te geven aan een webpagina. 5.2.2 De originele formule voor PageRank Om te beginnen, berekenen we de waarde van webpagina Wj door de som te nemen van alle waarden van alle webpagina’s die een link hebben naar webpagina Wj . Als pagina Wj , P x nj links bevat waarvan er één linkt naar pagina Wk , geven we Wk de waarde j∈Lk njj . We definiëren: X xj xk = , (5.1) nj j∈L k met nj het aantal uitgaande links van site Wj . Deze reeks wordt gebruikt bij het Google algoritme. 37 Voorbeeld 5.2. We beschouwen een web met webpagina’s W1 = 1, . . . , W6 = 6. Hieruit volgt dat het aantal uitgaande links n1 , . . . , n6 gelijk is aan n1 =, n2 = 1, n3 = 2, n4 = 3, n5 = 1 en n6 = 0. De backlinks van de webpagina’s zijn L1 = ∅, L2 = {1, 3, 4}, L3 = {1}, L4 = {2}, L5 = {3, 4} en L6 = {4, 5}. Met vergelijking (5.1) volgt dat de waarden x1 , . . . x6 gelijk zijn aan: i) x1 = 0, ii) x3 = x1 n1 = x1 , 2 iii) x2 = x1 n1 + x3 n3 + iv) x4 = x2 n2 = x2 1 = x2 , v) x5 = x3 n3 + x4 n4 = x3 2 + x4 , 3 vi) x6 = x4 n4 + x5 n5 = x4 3 + x5 . 1 x4 n4 = x1 2 + x3 2 + x4 , 3 Deze lineaire vergelijkingen zijn te schrijven als Ax en 0 0 0 0 0 1 0 1 1 0 2 2 3 1 2 0 0 0 0 A= 0 1 0 0 0 0 0 12 31 0 0 0 0 1 3 = x, met x = (x1 , x2 , x3 , x4 , x5 , x6 )T 0 0 0 . (5.2) 0 0 1 0 De matrix A die geconstrueerd wordt met dit principe wordt de linkmatrix genoemd. We gaan de linkmatrix formeel definiëren, met behulp van de volgende definitie. Definitie 5.3. De linkmatrix A = (aij ) definiëren we als: ( 1 als j ∈ Li aij = nj 0 anders. Opmerking. Om terug te komen op het hoofdstuk over grafen 3, kunnen we de linkmatrix A ook zien als een gewogen verbindingsmatrix 3.19. We kunnen bij Voorbeeld 5.2 een gewogen graaf tekenen, zoals we al eerder hebben gezien in Paragraaf 3.4. 38 1 2 1 1 2 3 1 3 1 2 1 1 1 2 1 3 4 2 5 1 3 6 Dit is een gewogen graaf van graad 6. We willen de vergelijking Ax = x oplossen. We zoeken dus naar een stochastische eigenvector x 6= 0 met eigenwaarde λ = 1 en we willen ook dat x uniek is op vermenigvuldiging met een constante na, zodat het altijd duideljk is welk van de twee pagina’s belangrijker is. Bovendien willen we een algoritme vinden om deze unieke eigenvector x te vinden. Deze vector wordt de ranking vector genoemd. 5.3 Google algoritme Het algoritme dat wordt toegepast is het volgende: Stel x0 is een stochastische vector, dan definiëren we: x1 := Ax0 , x2 := Ax1 = A2 x0 , .. . xn = Axn−1 = An x0 , enzovoorts. Op deze manier krijgen we een rij {xn }∞ n=1 . Opmerking. Als xn convergeert naar x, geldt Ax = x, omdat lim xn = lim Axn−1 = Ax. n→∞ n→∞ We willen dat {xn } convergeert voor alle x0 , dit is equivalent met het convergeren van An naar een P 6= 0, omdat xn = An x0 . Bovendien willen we dat elke kolom van P gelijk is aan de unieke stochastische eigenvector. Echter kunnen er een aantal problemen voorkomen met onze matrix A: i) de machten Ak convergeren niet. Stel namelijk dat 0 1 A= , 1 0 oftewel we hebben twee webpagina’s W1 en W2 die naar elkaar linken. Dan convergeert Ak niet; ii) het probleem Ax = x heeft alleen een triviale oplossing; iii) de eigenvector van A behorend bij λ = 1 is niet uniek op vermenigvuldiging met een constante na. Bekijk de matrix 1 0 A= , 0 1 39 de eigenvector behorend bij λ = 1 is niet uniek. Om dit soort problemen te voorkomen, willen we A veranderen in een matrix G, die zoveel mogelijk informatie uit A bevat zodat: • G kolom stochastisch en irreducibel is, • dim(Ker(I − G)) = 1, • Gn → P 6= 0, waarbij alle kolommen van P gelijk zijn. In de volgende paragraaf zullen we laten zien hoe we A transformeren in een matrix G zodat deze matrix aan alle eigenschappen voldoet. 5.4 Dangling nodes; transformatie naar de Googlematrix Een dangling node is een webpagina die naar geen enkele andere webpagina verwijst. Als er webpagina’s zijn die geen uitgaande links hebben, zien we dat de linkmatrix uit een kolom met nullen bestaat. In Voorbeeld 5.2 zien we dat webpagina 6 geen uitgaande links heeft, dit geeft een kolom met nullen in de linkmatrix A. Een web met dangling nodes geeft een matrix A die uit één of meer kolommen bestaat met allemaal nullen. Hieruit volgt dat A kolom-deelstochastisch is. Voorbeeld 5.4. Laat 0 A= 0 1 3 2 3 . Dit is een kolom-deelstochastische matrix met eigenwaarden σ(A) = {0, 32 }. Dus A is kolom-deelstochastisch, maar 1 is geen eigenwaarde. Om het probleem van dangling nodes op te lossen vervangen we de kolommen als volgt: 1 n 0 1 0 n .. .. . . 0 1 n waarbij n gelijk is aan het aantal webpagina’s in het web. Dit betekent dat als een webpagina geen uitgaande links heeft, we het zo construeren dat die webpagina linkt naar alle webpagina’s. De nieuwe matrix duiden we aan met S. Voorbeeld 5.5. Stel we hebben de zonder dangling nodes gelijk aan 0 1 2 1 2 0 0 matrix A gelijk aan (5.2). Dan wordt de matrix S 0 0 0 0 0 1 2 1 3 0 0 0 0 0 1 0 0 0 0 1 2 0 0 0 1 3 1 3 0 1 1 6 1 6 1 6 , 1 6 1 6 1 6 waarbij het aantal websites, d, in Voorbeeld 5.2 gelijk is aan 6. 40 Opmerking. De matrix S is kolomstochastisch en kan dus worden vergeleken met de overgangsmatrix voor een Markovketen. De webpagina’s kunnen we interpreteren als toestanden en de coördinaten Sij met de overgangskans om van toestand Wj naar Wi te komen. Deze matrix geeft ons nog geen garantie dat de unieke positieve vector x 6= 0 bestaat en dat het algoritme convergeert, omdat S nog entries heeft die gelijk zijn aan 0. Dus we moeten nog een andere aanpassing uitvoeren. Laat 1 1 . . . n n .. . D := ... . 1 n ... 1 n We vervangen de matrix A nu door de matrix: G := αS + (1 − α)D met α ∈ (0, 1). De matrix G is een gemiddelde van de matrices D en S en wordt ook wel de Googlematrix genoemd. Als α te klein is, dan zal er informatie verloren gaan en als α te groot is dan zal de matrix Gn te langzaam convergeren. De waarde α wordt door Google gebruikt en heeft ongeveer de waarde 0, 85. Deze waarde blijkt effectief en efficient te zijn. Oftewel als G een positieve matrix is, dan convergeert Gn naar P , waarbij P stochastisch is en alle kolommen gelijk zijn aan de ranking vector x, zoals we in de volgende paragraaf zullen zien. 5.5 Eigenschappen van de Google matrix De matrix G 0 is kolomstochastisch, want G is een combinatie van een kolomstochastische matrix S en een kolomstochastische matrix D. Ook geldt dat de Googlematrix positief en irreducibel is. Om te laten zien dat de machtreeks convergeert naar een matrix P die bestaat uit kolommen die gelijk zijn aan de ranking vector hebben we nog één stelling nodig. Stelling 5.6. Stel G is een strikt positieve, irreducibele matrix met r(G) = 1. Dan geldt lim Gk = P, k→∞ waarbij alle kolommen van P gelijk zijn aan de unieke stochastische strikt positieve eigenvector van G behorend bij eigenwaarde 1. Bewijs. We weten dat G kolomstochastisch is, dus r(G) = 1. Uit Stelling 2.14 volgt dat Ker(I − G) ééndimensionaal is en opgespannen wordt door een strikt positieve stochastische vector z = (z1 , . . . , zd )T . Bovendien is het Jordanblok behorend bij eigenwaarde 1 in de Jordan-normaalvorm van dimensie 1. Ook is G 0 en heeft dus ook een strikt positieve diagonaal, dus uit Stelling 2.9 volgt dat 1 een dominante eigenwaarde is. Uit Stelling 1.16 volgt nu dat de machtreeks Gn convergeert naar een P en uit Lemma 1.21 volgt ook dat Gn kolomstochastisch is. Dus P is ook kolomstochastisch. Bovendien hebben we in Paragraaf 5.3 gezien dat elke kolom van P een eigenvector is behorend bij eigenwaarde 1. Deze eigenvector is stochastisch dus moet hij gelijk zijn aan (z1 , . . . , zd )T , de unieke stochastische eigenvector. 41 Met behulp van deze stelling en met behulp van het algoritme in Paragraaf 5.3 kunnen we concluderen dat lim Gn x0 = P x0 , n→∞ waarbij elke kolom van P gelijk is aan de ranking vector die we zoeken. Google berekent Gn x0 net zolang totdat er een bepaald aantal decimalen achter de komma niet meer verandert. De precieze waarde van de eigenvector x is niet belangrijk, maar de manier waarop de webpagina’s worden gerangschikt is wel belangrijk. Nu hebben we de unieke eigenvector (de ranking vector) gevonden en hebben we ons doel bereikt. 42 Populaire samenvatting Per dag gebruiken miljoenen internetgebruikers de zoekmachine Google. Google is veruit de meest geliefde zoekmachine die er is. Wat maakt Google nou zo speciaal? Dat is de vraag achter dit project. Als we de Google zoekmachine willen gebruiken naar het zoeken van een bepaalde website, willen we dat de voor ons relevante website bovenaan komt te staan in de resultatenlijst. Het basisidee is dat elke site een waarde krijgt die alleen afhangt van de waarde van de andere sites. Deze waarden worden bepaald met behulp van de links van de ene site naar de andere. Als er een link is van site W1 naar site W2 , hangt de waarde x1 van W1 , af van de waarde x2 van W2 . Hoe groter de waarde van de pagina, hoe belangrijker die website is. Google wordt bekeken vanuit verschillende takken van de wiskunde. Ten eerste vanuit de matrixtheorie. Je kunt de vector met waarden van de sites uitdrukken met een matrix. Dit kan omdat de waarden alleen afhangen van elkaar, waardoor je een stelsel lineaire vergelijkingen krijgt. Een lineaire vergelijking is een vergelijking zonder kwadraten of hogere machten. Dit betekent dat x1 = 12 x2 +x3 wel een lineaire vergelijking is, maar x1 = 21 x2 + x23 niet. Als je meerdere lineaire vergelijkingen hebt met dezelfde variabelen, noemen we al deze vergelijkingen samen een stelsel lineaire vergelijkingen. De vector die Google zoekt is dan de vector x waarvoor geldt dat Ax = x, waarbij A een vierkante kolom-deelstochastische matrix is. Deze vector is uniek en geeft de waarde van alle pagina’s aan. De waarden van deze vector geven aan welke websites belangrijker zijn dan andere websites. De matrix A is kolom-deelstochastisch, dit betekent dat alle waarden van A positief zijn, dat wil zeggen groter dan of gelijk aan 0 zijn, en dat voor elke kolom (van boven naar beneden) van A geldt dat de som van alle getallen in die kolom kleiner dan of gelijk is aan 1. In dit geval is het zelfs zo dat de som gelijk is aan 1 of dat alle getallen van die kolom gelijk zijn aan 0. Een stelling die erg belangrijk is voor het feit dat deze vector x bestaat en uniek is, is de stelling van Perron. Stelling 5.7 (Perron). Laat T een positieve matrix zijn. Dan is r(T ) een eigenwaarde van T met een positieve eigenvector. In het bijzonder geldt dat r(T ) de grootste positieve eigenwaarde van T is. Opmerking. Er staan wat termen in deze stelling die nog onbekend kunnen zijn voor de lezer. We leggen ze even uit: • Een positieve matrix is een matrix waarvan alle waarden positief zijn. • Een eigenwaarde van een matrix T is een complex getal λ waarvoor er een vector x 6= 0 is zodat T x = λx. • Een eigenvector behorend bij een eigenwaarde λ is een vector x 6= 0 waarvoor geldt dat T x = λx. 43 • De waarde r(T ) is de spectrale straal van een matrix T en die is gelijk aan r(T ) = max1≤i≤m |λi |, waarbij λi de eigenwaarden van T zijn. Dit is altijd een positief getal. Verder wordt Google bekeken vanuit de grafentheorie. Je kunt alle sites samen namelijk zien als een enorme gerichte graaf. Een gerichte graaf is een verzameling punten en pijlen, waarbij alle pijlen van één punt naar een ander punt wijzen. Voorbeeld 5.8. Een voorbeeld van een gerichte graaf is het volgende plaatje: 1 2 4 3 De sites zijn dan de punten van de graaf en de links zijn de pijlen. Dus in het voorbeeld heeft site 1 een link naar site 2 en 3, site 3 een link naar site 2 en 4, en site 4 een link naar site 2. Het stelsel lineaire vergelijkingen ziet er dan als volgt uit: x1 = 0 x2 = 12 x1 + 21 x3 + x4 . x3 = 12 x1 x4 = 12 x3 . Nu kunnen we de matrix A opschrijven: 0 0 0 0 1 0 1 1 2 A = 21 . 2 0 0 0 0 0 1 2 0 We willen dat de matrix kolomstochastisch is, dat wil zeggen dat de som van iedere kolom gelijk is aan 1. Het is daarom niet fijn als er een kolom is waarvan de som niet gelijk is aan 1. Daarom vervormt Google de matrix A. Als een webpagina zelf geen uitgaande links heeft, dan ontstaat er een kolom met allemaal nullen. Om dit probleem te voorkomen geven we de webpagina zelf een waarde. Eerst veranderen we van alle kolommen die helemaal gelijk zijn aan 0, dit doen we door in die kolommen alle getallen te veranderen in n1 , waarbij n het aantal sites is. (Dat is dus de grootte van de matrix.) 1 n 0 1 0 n .. .. . . 0 1 n De nieuwe matrix die we op deze manier krijgen noemen ze S. Met behulp van deze S krijgen ze uiteindelijk de Google-matrix G = αS + (1 − α)D. Hierbij geldt α ∈ (0, 1) en D is de n × n-matrix met alle waarden gelijk aan n1 . We weten niet wat α precies is, Google houdt dat geheim. Wel weten we dat α ongeveer gelijk is aan 0, 85. Door 44 de transformaties van A, weten we nu dat G irreducibel, positief en kolomstochastisch is met dim(Ker(I − G)) = 1. Nu kunnen we een sterkere variant van de stelling van Perron gebruiken en dan zien we dat de ranking vector als de unieke positieve eigenvector waarvan de som van de entries van de vector gelijk is aan 1 ten opzichte van de matrix G. Stelling 5.9. Stel G is een strikt positieve, irreducibele matrix met r(G) = 1. Dan geldt lim Gk = P, k→∞ waarbij alle kolommen van P gelijk zijn aan de unieke stochastische strikt positieve eigenvector van G behorend bij eigenwaarde 1. Met behulp van deze stelling hebben we de unieke stochastische strikt positieve eigenvector van G, de ranking vector, gevonden en weten we de waarden van de webpagina’s. Oftewel we weten welke pagina belangrijker is dan de andere pagina. Op deze manier kan de Google zoekmachine de juiste volgorde bepalen in de resultatenlijst. 45 Bibliografie [1] András Bátkai, Rainer Nagel en Ulf Schlotterbeck, An invitation to positive matrices, 22 juni 2006. [2] David C. Lay, Linear Algebra and Its Applications, derde editie, Pearson. [3] Kurt Bryan en Tanya Leise, The $25,000,000,000 Eigenvector: The linear algebra behind Google, SIAM Review, 3, 569–581, 2006. [4] Abraham Berman en Robert J. Plemmons, Nonnegative Matrices in the mathematical sciences, Academic Press, 1979. [5] E. Seneta, Non-negative Matrices and Markov Chains, Springer-Verlag, 1973. [6] Amy N. Langville en Carl D. Meyer, Google’s PageRank and Beyond: The Science of Search Engine Rankings, Princeton University Press, 2006. [7] David A. Vise en Mark Malseed, The Google Story, Delacorte Press, 2005. [8] Peter Lancaster en Miron Tismenetsky, The Theory of Matrices, tweede editie, Academic Press, 1985. [9] http://en.wikipedia.org [10] http://nl.wikipedia.org/wiki/Google 46