LinAlgDat 4/5 Google s page rank Resumé Vi viser hvordan lineære ligninger naturligt optræder i forbindelse med en simpel udgave af Google s algoritme for at vise de mest interessante links først i en søgning på internettet. Linkmatricer Når man foretager en søgning på internettet med Google vises de sider som indeholder søgeordene i en given rækkefølge, og det er ret ofte, at de første links der vises, faktisk er de mest brugbare. Vi skal se lidt nærmere på hvilken strategi der kan anvendes for at få en god rangordning af siderne. Vi vil i det væsentlige følge artiklen []. Eksempel Vi betragter et (meget) lille web med 4 sider, kaldet,,,4. Disse sider refererer (linker) til hinanden på følgende måde: Side refererer til side, og 4 Side refererer til side og 4 Side refererer til side Side 4 refererer til side og 4 Figuren viser en orienteret graf, med {,,,4} som de fire knuder (punkter) og med pile mellem knuderne. Retningen af en pil afgør hvilken side der refererer til hvilken, fx betyder pilen fra til, at side har et link til side. Man kan tænke på, at side er vigtig, fordi der er en side der henviser til den. Vi vil nu definere en score for hver side, der viser hvor vigtig den er. Vi opridser to muligheder. Første mulighed går ud på følgende: Vi kunne sætte scoren x k for side k til antallet af sider der henviser til side k. Dermed er x =, x =, x = og x 4 =. Altså er side den højst rangerende. Denne metode tager imidlertid ikke hensyn til at et link fra en vigtig side bør øge sidens vigtighed mere end et link fra en ikke så vigtig side. Så denne mulighed er nok alligevel for simpel.
En anden og bedre mulighed er at sætte scoren x k for side k til summen af alle scorerne for de sider, der henviser til side k (i stedet for antallet af sider der henviser til side k). Det giver fx, at x = x + x 4. De øvrige ligninger udtrykker x, x og x 4 ved kombinationer af x, x, x og x 4. Et problem ved denne tilgang er, at en webside med mange udgående links får større inflydelse på de andre siders score end en side med få links. Dette omgås ved en normalisering, hvor den samlede score som en side kan give til andre sættes til : hvis side j indeholder et link til side k og N j links i alt, så øger vi scoren for side k med x j /N j (i stedet for x j ). Vi vil benytte denne metode for at bestemme rangordenen af siderne i webbet. Overvejelserne oven for giver N =, N = = N 4 og N = og dermed følgende ligninger for tallene x, x, x og x 4 : x = x + /x 4 x = /x x = /x + /x + /x 4 x 4 = /x + /x. Dette ligningssystem kan skrives på formen Ax = x, hvor / x / A = / / / og x = x x. / / x 4 Vi omskriver systemet til Ax x = og opskriver den tilsvarende totalmatrix: / / / / /. / / Vi løser ligningssystemet ved at lave rækkeoperationer på totalmatricen! Resultatet bliver (se begrundelse nedenfor) x x x = t / /. x 4 Heraf ses, at rangordningen bør være: side er den vigtigste, så side, derefter side 4 og endelig side. Resultatet kan opnås ved følgende rækkeoperationer: først multipliceres rækkerne med hhv,6,6 og 6; / / / / / / / r r 6r r 6r r 6r 4 r 4 6 6 6.
Derefter foretages følgende kæde af rækkeoperationer 6 6 6 r + r r r + r r r + r 4 r 4 r + r r r + r 4 r 4 r + r 4 r 4 r r /r r r + r r r + r r 6 4 4 5 6 9 4 4 6 9 4 4 6 9 4 4 4 /r r /r r /r r / /, hvoraf resultatet aflæses. Vi vil nu beskrive metoden mere generelt. Lad W være et web med n sider, som nummereres,,..., n. For k {,...,n} sætter vi L k = {de sidenumre, der indeholder et link til side k}. Lad N j være det totale antal links som udgår fra side j. Vi bemærker, at N j > for alle j L k, fordi der i hvert fald udgår et link til side k. Scoren x k for side k udregnes da vha formlerne x j x k =, j L k N j k =,...,n. Disse ligninger kan skrives på matrixfom som Ax = x, hvor A er en n n matrix med elementerne { /N j hvis der er et link fra side j til side i, a i j = ellers.
I Eksempel var det muligt at løse ligningssystemet Ax = x. Det er ikke altid tilfældet og det skyldes tilstedeværelsen af hængende sider i et web: En hængende side i et web er en side uden links til andre sider. Hvis side j er en hængende side vil der ikke udgå nogen links fra siden og N j =. Dermed vil matricen A have udelukkende er i søjle j. Betragter vi et web W uden hængende sider er alle tallene N,..., N n positive, og der gælder, at summen af elementerne i hver af A s søjler er : faktisk indeholder den j te søjle i A præcis N j elementer hver med værdi /N j og de resterende elementer er. Med andre ord er matricen A en overgangsmatrix, hvis webbet ikke har nogen hængende sider. Egenværdier og -vektorer Lad os vende tilbage til ligningen Ax = x oven for. Denne ligning udtrykker, at den rangordning x vi søger faktisk er en egenvektor for matricen A hørende til egenværdien λ =. Vi var succesfulde: det var faktisk muligt at finde en sådan egenvektor! Det er ikke nogen tilfældighed: Matricen fra Eksempel er en såkaldt overgangsmatrix. Der gælder faktisk, at en vilkårlig overgangsmatrix A har λ = som egenværdi, se Afsnit 4. Det tilsvarende egenrum E er defineret ved E = E (A) = {x Ax = x}. I Eksempel foretog vi en rangordning af websiderne via en ordning af elementerne i en (normaliseret) egenvektor efter størrelse. Der er i det generelle tilfælde en del problemer, som kan opstå, fx: Matricen har muligvis ikke λ = som egenværdi (det kan være tilfældet hvis der er hængende sider). Måske er det ikke muligt naturligt at ordne egenvektorerne hørende til egenværdien λ = ; dette sker i hvert fald hvis dimensionen af egenrummet E er større end. Måske er der både positive og negative koordinater i en egenvektor hørende til egenværdien. Eksempel Vi ser på webbet hvor links er givet som følger: Side linker til side Side linker til side Side linker til side 4 Side 4 linker til side Side 5 linker til side og side 4 4 5 4
(Faktisk er der to dele af webbet som ikke linker til hinanden.) Den tilsvarende matrix er i dette tilfælde givet ved A = / / Denne matrix er også en overgangsmatrix så λ = er en egenværdi. Udregninger viser, at egenrummet E udspændes af de to lineært uafhængige vektorer / / x =, x = Se vi udelukkende på x kunne vi tro, at side eller side er de vigtigste, mens side og side 4 kunne vær de vigtigste hvis vi alene ser på x. Vi kunne også se på linearkombinationen /x + /x = og nu ser hver af siderne,, og 4 lige vigtige ud. Eksempel Vi modificerer webbet fra Eksempel idet side nu ikke længere linker til side. I det tilfælde bliver linkmatricen / / A = / / / / / Planen er at bestemme en egenvektor hørende til egenværdien λ =. Men allerede nu er situationen anderledes: matricen A har ikke som en egenværdi. Man kan vise, at matricen har følgende fire egenværdier (afrundede værdier): λ =.564, λ =.87 +.64i, λ =.87.64i, λ 4 =. Vi ser også, at egenværdierne λ og λ ikke er reelle tal, men komplekse. Udregninger giver, at.897 x =.589.897. er en egenvektor hørende til egenværdien λ. Hvis man bruger en egenvektor hørende til den numerisk største egenværdi (her λ ) for at rangordne websiderne er side den vigtigste. Dette er ikke hensigtsmæssigt, idet siderne og 4 optræder symmetrisk i webbet. /4 /4 /4 /4 / /,. 5
Entydig rangordning i web uden hængende sider Vi så i Eksempel, at et web med to adskilte delweb leder til et egenrum E af dimension større end, og dermed, at der ikke var nogen strategi for rangordningen. Dette problem kan omgås på en snedig måde, som beskrives neden for. Lad W være et web med n sider, hvoraf ingen er hængende og lad A være den tilsvarende n n linkmatrix. Vi lader S betegne den n n matrix, hvor alle elementer er lig med /n. Denne matrix er en overgangsmatrix, så λ = er en egenværdi. Man kan vise, at det tilsvarende egenrum E er -dimensionalt; faktisk gælder E = span.. () Ideen er nu at arbejde med en kombination af A og S: Vi definerer M = ( m)a + ms, hvor m. (Man kan tænke på M som et vægtet gennemsnit af A og S.) Matricen M er igen en overgangsmatrix (da A og S begge er det) og det viser sig, at egenrummet for M hørende til λ = er -dimensionalt, for m (, ], og at man finde en egenvektor med udelukkende positive koordinater. Se Afsnit 4. Rangordningen af siderne kan dermed findes via numerisk ordning af en (normaliseret) egenvektor. Hvis m = er M lig med A, mens M lig med S for m =. Matricen S svarer i øvrigt til et ganske særligt web: et web hvor hver side refererer præcis gang til alle andre sider. I et sådant web er alle sider lige vigtige, og det reflekteres i udseendet af egenvektoren i (). Eksempel 4 Vi betragter linkmatricen A fra Eksempel og lader m =.5 (det har Google faktisk gjort). Det vægtede gennemsnit M af A og S er givet ved (afrundede tal).75.75.8875.465 M =.8.75.75.75.8.465.75.465..8.465.75.75 I dette tilfælde kan man vise, at egenrummet hørende til egenværdien λ = lig med.68 span.4.88.. Igen er side den vigtigste. Ser vi på matricen fra Eksempel (med de to adskilte delweb) er det vægtede gennemsnit (for m =.5) givet ved..88....88.... M =....88.455...88..455...... 6
I dette tilfælde kan man vise, at egenrummet hørende til egenværdien λ = lig med.. span.85..85. Nu har vi mulighed for at sammenligne de to adskilte delweb i samme ramme, og side og 4 er de vigtigste. 4 Positive matricer og bestemmelse af egenvektorer ved iteration Eksempel viser, at det er en relativt krævende opgave at bestemme selv egenvektorer med 4 koordinater ved at løse ligningssystemer. I dette afsnit vil vi give en forsmag på hvordan egenvektorer kan bestemmes uden at løse ligningssystemer. Der er hel teori om bestemmelse af den numerisk største egenværdi og tilhørende egenvektorer ved iteration, men her vil vi kun nævne resultater for overgangsatricer. Definition 5 En matrix er en overgangsmatrix, hvis alle elementer i matricen er ikke-negative, og hvis summen af alle elementerne i hver søjle er lig med. Følgende sætning viser, at positive overgangsmatricer altid har positive egenvektorer. Sætning 6 Lad M være en overgangsmatrix hvor alle elementer er strengt positive. Da er λ = en egenværdi for M, og der findes en entydigt bestemt tilhørende egenvektor q = (q,...,q n ), som opfylder n j= q j = og q j > for alle j. Endvidere gælder lim k Mk x = q, hvor x = (x,..., x n ) er en vilkårlig vektor, som opfylder n j= x j =. Lad nu A være en linkmatrix for et web uden hængende sider, og lad som i Afsnit M = ( m)a + ms, hvor < m <. Vi har tidligere bemærket, at M er en positiv overgangsmatrix. Sætningen ovenfor giver så, at egenvektoren q kan bestemmes ved grænseværdien lim k M k x, eller rekursivt ved x k+ = Mx k. Udregningen Mx k involverer typisk omkring n multiplikationer og additioner (fordi alle elementer i M er positive), hvilket er en del allerede for n = 5, men uoverskueligt mange for n = alverdenswebsider. Der er dog en væsentlig beregningsmæssig forenkling, som går ud på følgende: hvis der gælder x k = (x k,,..., x k,n ), hvor n j= x k, j =, så har vi x k+ = Mx k = ( m)ax k + msx k = ( m)ax k + ms. 7
Her har vi brugt, at summen af koordinaterne i x k er lig med, sådan, at Sx k = (/n,...,/n) = s. Beregningen af Mx k svarer til beregningen af Ax k, og denne er langt enklere, idet linkmatricen A næsten udelukkende består af nuller. Litteratur [] Kurt Bryan and Tanya Leise, The $5,,, eigenvector, The Linear Algebra Behind Google, SIAM Rev., 48(), 569 58. http://www.rose-hulman.edu/~bryan/google. html Henrik Holm (holm@math.ku.dk) Henrik Laurberg Pedersen (henrikp@math.ku.dk) 8
Hvad nu? Søgemaskiner og egenværdier Mød MATH på KU Henrik L. Pedersen Institut for Matematiske Fag henrikp@math.ku.dk Lidt om mig Forskningsområder inkluderer kompleks funktionsteori og komplekse metoder inden for specielle funktioner Det er der meget at sige om... (bare ikke nu ) Baggrunden Udvikling af et kursus i lineær algebra for førsteårsstuderende i datalogi. Samarbejde mellem Henrik Holm (homologisk algebra) og mig, med input fra dataloger. Motiverende eksempler! 4. november 4 Dias /4 Dias /4 Oversigt Indledning Nabo- og linkmatricer Rangordning af siderne i en søgning Lidt om egenværdier 4 Nabomatricen og antal veje i grafen Google rangordner siderne i min søgning. De første sider er helt klart de mest brugbare. Skyldes det nu blot, at jeg aldrig rigtigt når til de sidste, eller er der mon en forbindelse mellem rangordning og egenværdier? Google bruger matricer, lineære ligningssytemer, egenværdier og meget mere! Og i vanlig googlestil er det meget store matricer! Målet er at beskrive en strategi for hvordan rangordning kan foregå ved at benytte en blanding af lineær algebra og grafteori. Dias /4 Dias 4/4
KØBENHAVNS UNIVERSITET INSTITUT FOR MATEMATISKE FAG KØBENHAVNS UNIVERSITET INSTITUT FOR MATEMATISKE FAG Eksempel: Et meget lille web med 4 sider og 8 links Sådan er afhængighederne i webbet: Side refererer til side, og 4 Side refererer til side og 4 Side refererer til side Side 4 refererer til side og Sådan repræsenteres afhængighederne i en graf: o e / 9O /% 4 Sådan en graf repræsenteres ved en af to matricer: nabomatrix = linkmatrix = Dias 5/4 KØBENHAVNS UNIVERSITET INSTITUT FOR MATEMATISKE FAG Dias 7/4 KØBENHAVNS UNIVERSITET INSTITUT FOR MATEMATISKE FAG Eksempel: Et meget lille web med 4 sider og 8 links o e / 9O /% 4 N= Regel: + Det element aij i N der står i i te række, j te søjle er hvis der er et link fra side i til side j, ellers er det nul. Eksempler: I række, søjle i N står der : der er et link fra side til side. I række, søjle i N står der : der er ikke noget link fra side til side. Opgave: Hvilke af følgende to udsagn passer på søjle i N? De tre -taller viser hvilke links der går til side. Dias 6/4 De tre -taller viser hvilke links der udgår fra side. Dias 8/4
Google s page rank Giv hver side i webbet en score, der fortæller hvor vigtig den er! Giv side k scoren x k. Hvordan skal x k udregnes? 4 Mulighed x k = antallet af sider der linker til side k. Dermed er x =, x =, x = og x 4 =. Altså er side den højst rangerende. Denne metode tager imidlertid ikke hensyn til at et link fra en vigtig side bør øge sidens vigtighed mere end et link fra en ikke så vigtig side. Duer ikke Dias 9/4 4 Tæl antal udgående links: N = ( links udgår fra Side ), N =, N = og N 4 =. Ligninger for scorerne x, x, x og x 4 : x = N x + N 4 x 4 = x + x 4 x = x x = x + x + x 4 x 4 = x + x. Men er det ikke? Jo, det er! Dias /4 4 Mulighed x k = summen af scorer for de sider der linker til side k. Dermed gælder fx x = x + x 4. Øvrige ligninger udtrykker x, x og x 4 ved x, x, x og x 4. Et problem ved denne tilgang er, at en webside med mange udgående links får større indflydelse på de andre siders score end en side med få links. Duer næsten Mulighed Den samlede score som en side kan give til andre sættes til (normalisering): hvis side j indeholder et link til side k og N j links i alt, så øger vi scoren for side k med x j /N j (i stedet for x j ). Duer ET LINEÆRT LIGNINGSSYSTEM Dias /4 Dias /4
Ligningssystemet er / x x / linkmatrix x = x / / / x = x x / / x 4 x 4 Hvordan vi løser systemet Ligningssystemet omskrives Løsningerne er x + x + /x 4 = /x x = /x + /x x + /x 4 = /x + /x x 4 =. x x = x x = t / /. x 4 Side er den vigtigste, så, derefter 4 og endelig. Dias /4 Dias 5/4 Hvordan løser vi systemet? Med brug af totalmatrix og rækkeoperationer / / / / / / / / / Ved brug af Maple LinearSolve(A-IdentityMatrix(4), <,,, >) Hvilken metode bruger vi mon i kurset? Generelt om web og linkmatricer Lad W være et web med n sider, som nummereres,,..., n. For k {,..., n} sætter vi L k = {de sidenumre, der indeholder et link til side k}. Lad N j være det totale antal links som udgår fra side j. (N j > for alle j L k, fordi der i hvert fald udgår et link til side k.) Scoren x k for side k udregnes da vha formlerne x j, k =,..., n. N j x k = j L k Disse ligninger kan skrives på matrixfom som Ax = x, hvor A er en n n matrix med elementerne { /N j hvis der er et link fra side j til side i, a ij = ellers. Matricen A kaldes linkmatricen for webbet. Ligningen Ax = x er eksempel på et egenværdiproblem! Dias 4/4 Dias 6/4
To matricer der repræsenterer en graf Graf Adskilte delweb Et adskilt web: Nabomatrix Linkmatrix 4 N = / / A = / / / / / Linkmatrix 4 A = / / Rangordning: Ax = x kan godt løses, men giver ikke en god måde at rangordne siderne! 5 Dias 7/4 Dias 9/4 Web med hængende sider Eller nulsøjler i linkmatricen Vores gamle web: Alle sider har udgående links Vi fjerner et link fra til : Side er en hængende side Egenværdier og -vektorer Definition: Egenværdier og -vektorer Et (komplekst) tal λ er en egenværdi for A hvis der findes x sådan, at Ax = λx (og x kaldes en egenvektor hørende til egenværdien λ). 4 / / A = / / / / / Ax = x kan godt løses! 4 / / A = / / / / / Ax = x giver x =! Princip for rangordning Rangordning af siderne i et web svarer til ordning af koordinaterne (efter størrelse) i en egenvektor x for linkmatricen A for webbet hørende til egenværdien. Smart ikke Men hov! Er λ = altid en egenværdi? Hvad nu hvis der er både positive og negative tal i en af disse egenvektorer? Dias 8/4 Dias /4
Nogle fundamentale spørgsmål Givet en n n matrix A. Har A i det hele taget nogen egenværdier? ja Er en egenværdi for A? Er der kun positive koordinater i egenvektorerne? nej, nok ikke Perron-Frobenius Sætningen er et specielt tilfælde af Perron-Frobenius sætninger om positive matricer: Enhver positiv matrix har en positiv egenværdi med en tilhørende positiv egenvektor! Overgangsmatrix En n n matrix A er en overgangsmatrix, hvis alle elementer i matricen er ikke-negative, og hvis summen af alle elementerne i hver søjle er lig med. p p p n p p p n... p n p n p nn Linkmatricen for et web uden hængende sider er et nydeligt eksempel på en overgangsmatrix Dias /4 Dias /4 Sætning Enhver overgangsmatrix har λ = som egenværdi. Hvis overgangsmatricen M har lutter positive elementer så findes en entydigt bestemt egenvektor q = q. q n, hørende til egenværdien, som opfylder n j= q j = og q j > for alle j. Endvidere gælder lim k Mk x. x n = q. q n, Bestemmelse af egenvektorer Eksemplet med vores meget lille web viser, at selvom det er muligt så er det en relativt krævende opgave at bestemme selv egenvektorer med 4 koordinater ved at løse ligningssystemer. Men egenvektorer kan bestemmes uden at løse ligningssystemer! Bestemmelse af egenvektorer Lad A være linkmatricen for et web uden hængende sider. Hvis alle elementer i A er positive så bruger vi lim k A k x = q, dvs vi bestemmer q ved iterativ udregning. (Sådan da.) Hvis der er nuller i A virker det også, nogen gange. Selv selv i Maple. Hvad nu hvis der er nuller i A? for vilkårlige x,, x n > med n j= x j =. Dias /4 Dias 4/4
Linkmatricer uden hængende sider Gentlemen webbet Webbet G w indeholder n sider, og hver side linker til alle andre sider! (altså netop én gang). Linkmatricen L for dette web er L = {l ij }, l ii =, l ij = /(n ) for i j Det er fristende at bruge denne matrix, men smartere at bruge en lidt anderledes matrix S = {s ij }, s ij = /n Under alle omstændigheder: alle sider må altså være lige vigtige, og det reflekteres i udseendet af egenvektoren (for både L og S) s = /n. /n. Eksempel: Adskilte delweb 4 / / Konklusion: Side og Side 4 er vigtigst 5 Dias 5/4 Dias 7/4 Linkmatricer uden hængende sider Gentlemen webbet redder situationen M = ( m)a + ms, hvor m. (Man kan tænke på M som et vægtet gennemsnit af A og S.) M er igen en overgangsmatrix (da A og S begge er det) og den har udelukkende positive elementer! Brug Sætningen om positiv overgangsmatrix og brug ordningen af den normaliserede egenvektors koordinater som rangordning af webbet. Gentlemen webbet får kun ringe tak m vælges ret tæt på. Der er hørt rygter om, at m =.5 er blevet brugt. Beregningsmæssig forenkling Egenvektoren q for M kan bestemmes ved beregning af x k+ = Mx k, for k =,..., K hvor K er stor, men forhåbentligt ikke alt for stor! Udregningen Mx k involverer typisk omkring n multiplikationer og additioner (fordi alle elementer i M er positive), hvilket er en del allerede for n = 4, men uoverskueligt mange for n = alverdenswebsider. Der er dog en væsentlig beregningsmæssig forenkling, som går ud på følgende: hvis x k = (x k,..., x kn ), hvor n j= x kj =, så gælder x k+ = Mx k = ( m)ax k + msx k = ( m)ax k + ms. Beregningen Ax k er langt enklere end Mx k, idet linkmatricen A næsten udelukkende består af nuller. Dias 6/4 Dias 8/4
Reference til denne del Klik dig videre hvorhen? Webproblem: kan man klikke sig fra en side til en anden i et web? På hvor mange måder? Grafproblem: kan man komme fra et hjørne til et andet i en graf? På hvor mange måder? Kurt Bryan and Tanya Leise, The $5,,, eigenvector, The Linear Algebra Behind Google, SIAM Rev., 48(), 569 58. http://www.rose-hulman.edu/~bryan/google.html Eksempel N = = Der er måde at klikke sig fra Side til Side 4, med klik, fordi Første række indeholder de udgående links fra Side til de øvrige sider Fjerde søjle indeholder de indgående linke til Side 4 fra de øvrige sider Dias 9/4 Dias /4 Lad N være nabomatricen for en graf. Da er summen af række i = summen af søjle j = n a ij = antallet af udgående kanter fra v i, j= n a ij = antallet af indgående kanter til v j. i= Eksempel: grafen fra vores web 4 N = Eksempel: grafen fra vores web N = 4 5 7 5 N 4 = 4 5 5 5 Der er altså 5 veje af længde 4 fra side til side 4. Hvordan ser de ud? Er det muligt at komme fra hjørne til hjørne ved at følge en vej af længde? Hvor mange veje af længde starter og slutter i samme hjørne? Dias /4 Dias /4
Sætning: nabomatrixpotenser Lad N være nabomatricen for en (orienteret) graf med hjørner v,..., v n. Da gælder: Den ij te indgang i N k er lig med antallet af veje i grafen af længde k fra v i til v j. Den ij te indgang i I + N + + N k er lig med antallet af veje i grafen af længde højst k fra v i til v j. Hvorfor er det nu sådan? Matricen N har elementerne {b ij }, hvor Fasthold i og j. b ij = n a ik a kj. k= Hvis både a ik = og a kj = er a ik a kj = og der er jo en vej fra hjørne i via hjørne k til hjørne j, dvs en vej af længde. Hvis a ik = eller a kj = er a ik a kj = og der er ikke nogen vej fra hjørne i via hjørne k til hjørne j. Dias /4 Her er en graf med 4 hjørner og 44 kanter 4 9 8 4 5 7 6 Hvor mange veje af længde 4 er der fra til 8? Svaret er elementet i række, og søjle 8 i matricen N 4, dvs 5 Mellem hvilke hjørner går der flest veje af længde 4? Og hvad er flest? Svaret er de pladser der indeholder den maksimale værdi i N 4, og det er plads [8, ] og værdien er 7 Dias 4/4