Om hvordan Google ordner websider

Relaterede dokumenter
DesignMat Egenværdier og Egenvektorer

Funktionalligninger - løsningsstrategier og opgaver

Secret Sharing. Olav Geil Institut for Matematiske Fag Aalborg Universitet URL: olav.

LinAlg Skriftlig prøve 20. januar 2009, 9 12 Vejledende besvarelse

TALTEORI Wilsons sætning og Euler-Fermats sætning.

Arealer under grafer

Miniprojekt 3: Fejlkorligerende køder Fejlkorrigerende koder

Variabel- sammenhænge

DesignMat Uge 11 Vektorrum

Ligninger med reelle løsninger

Løsning af præmie- og ekstraopgave

DM02 opgaver ugeseddel 2

TALTEORI Wilsons sætning og Euler-Fermats sætning.

Differentiation af Logaritmer

Afstand fra et punkt til en linje

Arbejdsmiljøgruppens problemløsning

Opgave 1 Alle tallene er reelle tal, så opgaven er at finde den mindste talmængde, som resultaterne tilhører.

Forslag til løsning af Opgaver til ligningsløsning (side172)

Pendulbevægelse. Måling af svingningstid: Jacob Nielsen 1

Tal, funktioner og grænseværdi

Bogstavregning. Formler Reduktion Ligninger Bogstavregning Side 45

9.1 Egenværdier og egenvektorer

TALTEORI Primfaktoropløsning og divisorer.

Induktion: fra naturlige tal til generaliseret skønhed Dan Saattrup Nielsen

Grafteori, Kirsten Rosenkilde, september Grafteori

Oversigt [LA] 6, 7, 8

VEKTOR I RUMMET PROJEKT 1. Jacob Weng & Jeppe Boese. Matematik A & Programmering C. Avedøre-værket. Roskilde Tekniske Gymnasium 3.4. Fag.

Finde invers funktion til en 2-gradsfunktion - ved parallelforskydning. John V Petersen

Module 2: Beskrivende Statistik

Statistikkompendium. Statistik

Manual til TI-89. Af: Martin Kyhl og Andreas Kristansen. Med denne i hånden til eksamen burde de fleste opgaver kunne løses på få minutter.

Analyse 1, Prøve juni r+1. Men vi har øjensynligt, at 2. r r+1

Statistik med GeoGebra

Oversigt [LA] 3, 4, 5

Polynomier et introforløb til TII

APV og trivsel APV og trivsel

Den bedste dåse, en optimeringsopgave

Start med at vælge hvilken afdeling der skal laves ændringer i f.eks. fodbold.

Retningslinjer for bedømmelsen. Georg Mohr-Konkurrencen runde

Rediger eller opret institutionsmedarbejder på en ungdomsuddannelse

Team Succes Vestre Engvej 10, 1. Sal, Vejle Tlf. Nr.:

Matematik Eksamensprojekt

Funktioner af flere variable

Projekt 4.8. Kerners henfald (Excel)

Matematisk modellering og numeriske metoder. Lektion 18

Forslag til løsning af Opgaver til analytisk geometri (side 338)

Navneregning. Aktivitet Emne Klassetrin Side

Delmængder af Rummet

Projekt 10.1 Er der huller i Euklids argumentation? Et moderne aksiomsystem (især for A)

EKSEMPEL PÅ INTERVIEWGUIDE

Inverse funktioner. John V Petersen

Det er altså muligt at dele lige på to kvalitativt forskellige måder: Deling uden forståelse af helheden Deling med forståelse af helheden

Programmering C. Casper Hermansen Klasse 2.7 Programmering C. Navn: Casper Hermansen. Klasse: 2.7. Fag: Programmering C

13.1 Matrixpotenser og den spektrale radius

VIA læreruddannelsen Silkeborg. WordMat kompendium

Andengradspolynomier

Temaopgave: Parameterkurver Form: 6 timer med vejledning Januar 2010

Hypotese test. Repetition fra sidst Hypoteser Test af middelværdi Test af andel Test af varians Type 1 og type 2 fejl Signifikansniveau

Når mor eller far er ulykkesskadet. når mor eller far er ulykkesskadet

Vejledning om mulighederne for genoptagelse efter såvel lovbestemte som ulovbestemte regler. 10. april 2013

Matematik projekt 4. Eksponentiel udvikling. Casper Wandrup Andresen 2.F Underskrift:

DesignMat Uge 5 Systemer af lineære differentialligninger II

L: Præsenterer og spørger om han har nogle spørgsmål inden de går i gang. Det har han ikke.

I af 12. december 2013 har I klaget over Kommunens overkørselstilladelse af 18. november 2013 til ejendommen O vej 36A.

Netværksguide. sådan bruger du dit netværk. Danmarks måske stærkeste netværk

Den svingende streng

Lille Georgs julekalender december

Det danske sundhedsvæsen

Reelle tal. Symbolbehandlingskompetencen er central gennem arbejdet med hele kapitlet i elevernes arbejde med tal og regneregler.

Sikker Slank kort fortalt Til indholdsfortegnelsen side: 1

Afstandsformlerne i Rummet

Vejledning til personlige funktioner på MIT DANSKE ARK ( eksklusive profil og cv) Indholdsfortegnelse:

1RWHWLOGLIIHUHQWLDOOLJQLQJHU

Konsekvenser af direkte adgang til fysioterapeut

Spørgeskema på HVAL.DK

Lineære Afbildninger. enote Om afbildninger

Notat om håndtering af aktualitet i matrikulære sager

Differential- regning

Djøf Offentlig Formandens vedtægtstale

EKSAMENSOPGAVELØSNINGER CALCULUS 2 (2005) AUGUST 2006 AARHUS UNIVERSITET

Succesfuld start på dine processer. En e-bog om at åbne processer succesfuldt

Tilstandsligningen for ideale gasser

Herningegnens Lærerforening DLF KREDS 121 PONTOPPIDANSVEJ HERNING TLF

Læsevejledning til resultater på regionsplan

Årsafslutning i SummaSummarum 4

Førstehjælp til opgaver

PERSONALE- OG LEDELSESPOLITIKKEN SAT I SPIL

Eksempel 9.1. Areal = (a 1 + b 1 )(a 2 + b 2 ) a 1 a 2 b 1 b 2 2a 2 b 1 = a 1 b 2 a 2 b 1 a 1 a 2 = b 1 b 2

Til underviseren. I slutningen af hver skrivelse er der plads til, at du selv kan udfylde med konkrete eksempler fra undervisningen.

qwertyuiopåasdfghjklæøzxcvbnmqw ertyuiopåasdfghjklæøzxcvbnmqwert yuiopåasdfghjklæøzxcvbnmqwertyui Polynomier opåasdfghjklæøzxcvbnmqwertyuiopå

News & Updates Arbejds- og Ansættelsesret. Vikarer ikke omfattet af brugervirksomheds overenskomst

Redskaber til bedre offentlig privat samarbejde Værdikæden afdækningsværktøj til udbudsprocessen

LinAlgDat 2014/2015 Google s page rank

Potensfunktioner, Eksponentialfunktioner og Logaritmer

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2

Bilag 14: Transskribering af interview med Anna. Interview foretaget d. 20. marts 2014.

Psykisk arbejdsmiljø og stress blandt medlemmerne af FOA

Potens & Kvadratrod. Navn: Klasse: Matematik Opgave Kompendium. Opgaver: 22 Ekstra: 4 Point: Matematik / Potens & Kvadratrod

Inverse funktioner og Sektioner

Chapter 3. Modulpakke 3: Egenværdier. 3.1 Indledning

Transkript:

Om hvordan Google ordner websider Hans Anton Salomonsen March 14, 2008 Man oplever ofte at man efter at have givet Google et par søgeord lynhurtigt får oplysning om at der er fundet et stort antal - måske 100000 - websider der indeholder ordene. Det er imponerende nok i sig selv, men dog forståeligt når man ved at Google laver index lister over hvilke sider der indeholder de forskellige ord. Mere imponerende er det at man som oftest finder den eller de sider man er interesseret i blandt de allerførste af de sider der bliver vist. Man må spørge sig selv Hvordan kan Google vide hvilke sider jeg er interesseret i? - hvor har Google den viden fra?. Det sidste spørgsmål kan vi let svare på. Google har sin viden fra websiderne da det er den eneste viden der er til rådighed for maskinen. Det interessante spørgsmål er derfor hvordan Google ud fra websiderne finder ud af hvad jeg er interesseret i, når den ikke ved andet om mig end de søgeord jeg har indtastet. Grundideen er at de forskellige webbrugere og forfattere ligner hinanden og har fælles interesser. Google har kun viden om forfatterne, og det kun gennem de websider de laver. Maskinen sidder jo ikke og læser og forstår teksten på siderne. Maskinen skal foretage en rangordning af siderne, så de mest interessante kommer først. Det er sidernes relationer til hinanden der skal bruges. Det er med andre ord de links der er på siderne som Google aflæser og benytter til at lave en ordning. I det følgende skal vi se på hvordan det sker. Den følgende beskrivelse bygger primært på en artikel af David Austin fra Grand Valley State University. Artiklen kan findes på http://www.ams.org/featurecolumn/archive/pagerank.html. Vi skal forestille os at vi nummererer alle websider. Jeg ved ikke hvor mange der er. Lad os sige der er N 25.000.000.000. Så har vi noget af den rigtige størrelsesorden. En surfer kigger på side nr.j indtil han skifter til side nr. i. Vi vil lade p ij være sandsynligheden for at han skifter fra side j til side i. Da p ij er en sandsynlighed, er 0 p ij 1. Vores model af en surfer er en der hele tiden 1

er i gang og skifter fra den ene side til den anden kun afbrudt af pauser til kaffe, søvn og lignende. Der skal derfor for hvert j gælde at p 1j + p 2j + + p Nj 1. Venstresiden er sandsynligheden for at surferen skifter fra side j til en vilkårlig anden side hvilket han gør med sikkerhed, altså med sandsynligheden 1. Vi kan forestille os at alle disse sandsynligheder opstilles i et kvadratisk skema p 11 p 12 p 1N p 21 p 22 p 2N G...... p N1 p N2 p NN Skemaet kaldes en matrix (Bøjningsformer: matricen, matricer. Opgaven for Google er ud fra de links der findes i websiderne, at finde fornuftige værdier for sandsynlighederne p ij, og ud fra disse at finde den bedste ordning af websiderne. I første tilnærmelse betragter vi en side j med et antal links. Hvis siden f.eks. indeholder tre links til siderne med numrene a, b og c antager vi at der er lige stor sandsynlighed for at surferen skifter til hver af disse. Under antagelse af at surferen ikke vælger at gå til en helt anden side skal derfor p aj p bj p cj 1 3 idet summen af sandsynlighederne skal være 1. For alle andre værdier af i sættes p ij 0. Mere generelt hvis siden j indeholder k links, sættes p ij 1 hvis der er k et link til siden i, og p ij 0 ellers. Hvis en side j ikke har links giver ovenstående regel ingen sandsynligheder p ij. Vi siger da som en ny regel at der er samme sandsynlighed for at gå til en hvilkensomhelst side, dvs. vi sætter p ij 1 N. Dermed er formlen p 1j +p 2j + +p Nj 1 også opfyldt i dette tilfælde. Vi foretager en sidste korrektion af formlen begrundet i at selv om en side har links kan det alligevel godt være at surferen vælger at gå til en helt anden side. Vi vil sige at der er en sandsynlighed α for at surferen følger et link og sandsynligheden 1 α for at surferen i stedet går til en tilfældig side. Formlen ændres da til p ij α + 1 α når siden j har k links og i er en af dem. Hvis i ikke er en af k N de k links er p ij 1 α. Hvis ikke der er links fra siden j er fortsat p N ij 1. N Størrelsen af α kan der dels argumenteres for ud fra surferes praksis og dels ud fra matematiske grunde som berøres nedenfor. Google har valgt α 0.85. Den Google matrix G vi nu er nået frem til er en grov model for surfing. Der er naturligvis ingen der kender de rigtige sandsynligheder for så vidt som de overhovedet giver mening. Det viser sig imidlertid at matricen indeholder information nok til at føre til imponerende resultater i praksis. Vi skal nu se på hvordan vi fra G kan udlede en rangordning af siderne. Det gør vi ved til hver webside i at knytte en sandsynlighed w i for at det er den man fore- 2

trækker. Der skal derfor gælde at w 1 +w 2 + +w N 1 som er sandsynligheden for at man foretrækker noget som helst. Ved en søgning finder Google først alle de sider der indeholder søgeordene. Dernæst ordnes de sådan at den fundne side i med størst værdi for w i kommer først og de øvrige derefter med faldende værdier af sandsynlighederne. Der skal endvidere gælde at w i p i1 w 1 + p i2 w 2 + p i3 w 3 + + p in w N. Hvordan kan vi forstå denne formel? Vi kan forestille os at der til stadighed er et stort antal surfere. Da kan w i fortolkes som den brøkdel af dem der er på side i. Leddet p ij w j kan nu fortolkes som den brøkdel der er på side j og derfra skifter til side i. Summen p i1 w 1 + p i2 w 2 + p i3 w 3 + + p in w N bliver da den brøkdel der ender på side i efter at alle har skiftet til næste side. Vi antager at det til stadig er den samme brøkdel w i der er på side i selv om det naturligvis ikke er de samme surfere. Det er kun deres antal der er det samme. Dermed må den udregnede sum være w i som det fremgår af ligningen. Selv om vi her har forudsat at sandsynlighederne w i er konstante, er det naturligvis ikke rigtigt. De vil ændre sig i takt med at internettets udbud af websider udvikler sig. Pointen er bare at w i ændrer sig langsomt i forhold til hvor hurtigt surferne skifter side. Vi har nu opstillet et ligningssystem til bestemmelse af sandsynlighederne w i for i 1, 2,, N. Nemlig de N ligninger w i p i1 w 1 + p i2 w 2 + p i3 w 3 + + p in w N svarende til i 1, 2,, N. Hertil kommer ligningen w 1 + w 2 + + w N 1 Vi har altså N + 1 ligninger med N ubekendte. Når man betænker at N har en størrelse på mange milliarder, kan løsning af dette ligningssystem nok forekomme skræmmende. Tidligere løste Google det en gang hver måned. Det tog et par dage hver gang under anvendelse af et stort antal computere. Nu sker genberegningen hyppigere for bedre at afspejle de stadige ændringer der sker. Når det overhovedet er muligt at løse et så stort ligningssystem, er det fordi matricen har nogle specielle egenskaber. Det er en stokastisk matrix med positive elementer. Det betyder at alle de indgående tal p ij > 0 og summerne p 1j + p 2j + + p Nj 1 for alle værdier af j 1, 2,, N. Man kan da anvende en sætning (Perrons sætning som for det første sikrer at systemet overhovedet har en løsning, og for det andet viser at der er en forholdsvis simpel måde at løse det på. 3

Vi skal ikke her komme nærmere ind på sætningen og hvordan man løser det store ligningssystem, men vi kan se løsningsmetoden illustreret ved at se metoden anvendt på et eksempel for N 2. ( ( 0.3 0.6 0.1 Betragt matricen A. Vi vil også betragte et talpar v. 0.9 Vi kalder et sådant par en vektor. Læg mærke til at matricen er en stokastisk matrix med positive elementer. Vektoren kalder vi også en stokastisk vektor da tallene begge er 0 og deres sum er 1. ( a b En matrix kan operere på en vektor c d formel ( ( a b x c d y ( x y ( ax + by cx + dy som udtrykt ved følgende I eksemplet får vi Av ( 0.3 0.6 ( 0.1 0.9 ( 0.57 0.43 Bemærk at denne vektor igen er en stokastisk vektor. Det vil altid være tilfældet når matricen er en stokastisk matrix og vektoren er en stokastisk vektor. Hvis vi lader A operere på resultatet får vi ( ( 0.3 0.6 0.57 A 2 v 0.43 ( 0.429 0.571 og en gang til A 3 v ( 0.3 0.6 ( 0.429 0.571 ( 0.4713 0.5287 og endnu en gang og en 5 te gang A 4 v A 5 v ( 0.3 0.6 ( 0.3 0.6 ( 0.4713 0.5287 ( 0.45861 0.54139 ( 0.45861 0.54139 ( 0.462417 0.537583 4

Hvis vi fortsætter på denne måde vil vi hurtigt nærme os vektoren ( 0.4615384615 w 0.5384615385 Hvis vi havde startet med et andet valg af den stokastiske vektor v havde vi fået andre tal undervejs, men vektorerne ville igen nærme sig til den samme vektor w om hvilken der derfor gælder at Aw w. Med den måde matricen virker på vektoren svarer denne ligning til Google ligningen. Den måde Google løser ligningssystemet på er ved at starte med en stokastisk vektor w som nu har lige så mange elementer som der er websider. Det betyder ikke så meget hvad det er for en vektor. Dernæst anvendes Google matricen G på w og resultaterne et antal gange indtil ændringerne er ubetydelige. Så har Google sin nye vektor til rangordning af websiderne. Størrelsen af sandsynligheden α har betydning for hvor hurtigt processen nærmer sig w. En lille værdi af α giver hurtigere tilnærmelse. Til gengæld vil en stor værdi lægge større vægt på betydningen af links. Der skal her laves et kompromis. Som nævnt ovenfor har Google valgt α 0.85. 5

Matematisk addendum Det følgende er skrevet for læsere med den nødvendige matematiske baggrund med henblik på at uddybe nogle punkter som ikke blev behandlet ovenfor. Google ligningerne kan opskrives Gw w hvor G er Google matricen som behandlet ovenfor, og w er den ønskede stokastiske vektor bestående af websidernes vægte. Med andre ord skal 1 være en egenværdi for G, og w er en tilhørende egenvektor. Det er let at se at 1 er en egenværdi for G. Lad nemlig j være vektoren hvor alle komponenter er 1. Så er G T j j. Det er nemlig bare en anden måde at udtrykke kravet om at G er en stokastisk matrix. Men det betyder at j er en egenvektor for den transponerede matrix svarende til egenværdien 1. Da G og G T har det samme karakteristiske polynomium og de samme egenværdier, er 1 også en egenværdi for G. Dette hjælper os ikke med at finde w, så vi skal i stedet se på problemet fra en mere geometrisk vinkel. Lad {x R N j x 1, 0 x i 1} hvor x i er den i te koordinat af x. er et simplex af dimension N 1, og der gælder at G. For at se det bemærker vi at for x er Gx også en stokastisk vektor, dvs. Gx j 1. Da alle komponemter i G er ikke negative bliver alle koordinater for Gx også ikke negative. Dermed er Gx. Randen af består af de vektorer x hvor en eller flere af koordinaterne er 0. Da alle komponenter i G er positive (ikke 0 ligger Gx i det indre af. Ved at betragte G : kan vi benytte Browers fixpunktsætning (se nedenfor til at konkludere at G har et fixpunkt, dvs. der er en vektor i w, så Gw w. Dermed har vi bevist eksistensen af en løsning til Google ligningerne. Vi ser endvidere at w ligger i det indre af, dvs. alle koordinater w i > 0. Vi skal nu vise at vi kan finde w ved at starte med en vilkårlig vektor w 0 og betragte følgen w n G n w 0. Da vil w n w for n. Vi betragter underrummet U R N bestående af vektorer ortogonale til j. Dvs vektorer hvor summen af koordinaterne er 0. G afbilder U ind i sig selv. Lad 0 w. Dvs. vi translaterer simplekset ned i U ved hjælp af egenvektoren w. Da G er også G 0 0 og G 0 er indeholdt i det indre af 0. Da G 0 er kompakt findes der et tal r > 1 så rg 0 0. Definer Z 0 rg 0, Z 1 G 0, Z 2 1 r Z 1,... så Z n+1 1 r Z n. Da Z 0 0, er GZ 0 G 0 Z 1. Da G er lineær følger det rekursivt at GZ n Z n+1. Derfor er G n 0 Z n for n 1. Da r > 1 vil diameteren af mængden Z n 1 r n Z 0 gå mod 0 for n. Det medfører at for en vilkårlig vektor z 0 vil følgen z, Gz, G 2 z, G 3 z, konvergere 6

mod 0 for n. Vi vender nu tilbage til hvori vi fandt egenvektoren w, dvs. Gw w. En vilkårlig vektor w 0 kan vi skrive som w 0 w + z 0 hvor z 0 0. Derfor vil følgen w n G n w 0 G n w + G n z 0 w + G n z 0 w for n. Hermed har vi vist at man kan finde egenvektoren w ved at starte med en vilkårlig stokastisk vektor w 0. Når man anvender G tilstrækkeligt mange gange kan man tilnærme w vilkårligt godt. I tillæg følger det at w er entydigt bestemt. Egenværdien 1 har altså multiplicitet 1. Hvis λ er en anden reel egenværdi for G, må egenrummet E λ U idet R N U Rw er en opspaltning som direkte sum af invariante underrum. Lad x være en egenvektor med x 1. Så gælder der dels at G n x λ n x, og at G n x 1 x. Der må derfor gælde at λ 1. Med et lignende, men lidt mere besværligt r n r argument kan man se at der også for komplekse egenværdier må gælde at λ 1. r Vi har nu set at Google ligningerne har en entydig løsning. Vi har også fået en metode til i princippet at løse dem, men er det muligt i praksis når N har en størrelse på mange milliarder? Matricen G er så stor at man ikke engang kan tænke på at skrive den op. Det er muligt på grund af matricens specielle form. Vi kan opskrive G på formen G αh + αa + (1 α 1 N J hvor J er matricen hvor alle komponenter er 1, H er vores første tilnærmelse til Google matricen og A er tilføjelsen til den ved første modifikation. Dvs. for H er komponenten i position ij 1 når siden j har k links hvoraf en går til siden i. Alle k øvrige komponenter i H er 0. I matricen A er komponenten i position ij 1 for N alle i når siden j ikke indeholder links. De øvrige søjler indeholder 0. Lad nu x. For at udregne Gx skal vi udregne Hx, Ax og Jx og kombinere resultaterne. Først Hx: Hver webside indeholder i middel omkring 10 links. Når der således i middel er ca 10 komponenter i hver søjle der er forskellig fra 0, må det samme gælde for rækkerne. Det er derfor overkommeligt at udregne Hx. Det vil kræve ca. 10N multiplikationer og additioner. Dernæst Ax: Alle rækker er ens i denne matrix. Derfor bliver alle koordinater i Ax ens. Den fælles værdi er 1 gange summen af x N i summeret over de i for hvilken siden i er uden links. Der kræves altså mindre end N additioner. Endelig Jx: Dette kræver slet ingen udregninger idet resultatet bliver Jx 1 N j, idet j som ovenfor er vektoren hvor alle koordinater er 1. 7

Browers fixpunktsætning Lad D n {x R n x 1}. Browers fixpunktsætning siger da at enhver kontinuert afbildning f : D n D n har et fixpunkt, dvs. der findes et punkt x D n for hvilket f(x x. Der findes flere beviser for sætningen. Man kan gå frem som følger. Hvis vi antager at der ikke er noget fixpunkt, for afbildningen f, kan vi definere en kontinuert afbildning h : D n S n 1 {x R n x 1} ved at lade h(x være defineret ved at de tre punkter h(x, x, f(x ligger på en ret linie i den angivne rækkefølge og h(x S n 1. Der gælder da at h(x x når x S n 1. Dvs, sammensætningen S n 1 D n S n 1 er identitetsafbildningen idet den første af afbildningerne er inklusionen der afbilder x i x. Ved anvendelse af teori for homologi eller homotopigrupper kan man vise at dette ikke er muligt. Der kan derfor ikke eksistere en afbildning f uden fixpunkter. For n 2 kan man afslutte beviset med lidt enklere midler. Vi kan for 0 t 1 definere en afbildning g t : S 1 S 1 ved g t (x h(tx. Det er en kontinuert deformation som for t 0 er g 0 (x h(0 og g 1 (x x. Vi kan betragte g t som en lukket kurve i den komplekse plan som ikke går gennem 0. Omløbstallet om 0 ændres ikke ved kontinuert deformation af kurven. Nu kommer modstriden ved at g 1 har omløbstal 1 medens den konstante afbildning g 0 har omløbstal 0. 8