Internetwiskunde: over de webgraaf



Vergelijkbare documenten
Aanvullingen bij Hoofdstuk 8

Lineaire Algebra voor W 2Y650

4 Positieve en niet-negatieve lineaire algebra

Jordan normaalvorm. Hoofdstuk 7

Eigenwaarden en eigenvectoren in R n

Kies voor i een willekeurige index tussen 1 en r. Neem het inproduct van v i met de relatie. We krijgen

Blokmatrices. , I 21 = ( 0 0 ) en I 22 = 1.

Eigenwaarden en Diagonaliseerbaarheid

Lineaire Algebra voor W 2Y650

Basiskennis lineaire algebra

Lineaire Algebra voor ST

Definities, stellingen en methoden uit David Poole s Linear Algebra A Modern Introduction - Second Edtion benodigd voor het tentamen Matrix Algebra 2

De dimensie van een deelruimte

Toepassingen op discrete dynamische systemen

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Tentamen Lineaire Algebra voor ST (2DS06) op , uur.

Lineaire Algebra Een Samenvatting

ONBETWIST ONderwijs verbeteren met WISkunde Toetsen Voorbeeldtoetsen Lineaire Algebra Deliverable 3.10 Henk van der Kooij ONBETWIST Deliverable 3.

VIA PUZZELS GOOGLE LEREN

Efficiente benadering van Google s PageRank (Engelse titel: Efficient approximation of Google s PageRank)

Over de wiskunde die Google groot maakte

Tentamen lineaire algebra voor BWI dinsdag 17 februari 2009, uur.

Tentamen Lineaire Algebra 1 (Wiskundigen)

Bilineaire Vormen. Hoofdstuk 9

3.2 Vectoren and matrices

Lineaire Algebra voor ST

Tentamen lineaire algebra voor BWI maandag 15 december 2008, uur.

Bekijk nog een keer het stelsel van twee vergelijkingen met twee onbekenden x en y: { De tweede vergelijking van de eerste aftrekken geeft:

Lineaire Algebra en Vectorcalculus 2DN60 College 5.a Basis en dimensie

Stelsels Vergelijkingen

Antwoorden op de theoretische vragen in de examen voorbereiding

Eigenwaarden en eigenvectoren

Unitaire en Hermitese transformaties

Lineaire algebra I (wiskundigen)

Complexe eigenwaarden

Geadjungeerde en normaliteit

Uitwerkingen tentamen Lineaire Algebra 2 16 januari, en B =

III.2 De ordening op R en ongelijkheden

Vierde huiswerkopdracht Lineaire algebra 1

extra sommen bij Numerieke lineaire algebra

Uitwerkingen tentamen lineaire algebra 2 13 januari 2017, 10:00 13:00

Toepassingen op differentievergelijkingen

Lineaire Algebra voor ST

Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b

Samenvatting Lineaire Algebra, periode 4

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Tentamen Lineaire Algebra voor ST (2DS06) op , uur.

Aanvullingen bij Hoofdstuk 6

Tentamen lineaire algebra 2 18 januari 2019, 10:00 13:00 Uitwerkingen (schets)

Grafen. Indien de uitgraad van ieder punt 1 is, dan bevat de graaf een cykel. Indien de ingraad van ieder punt 1 is, dan bevat de graaf een cykel.

Symmetrische matrices

Cover Page. The handle holds various files of this Leiden University dissertation

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III

π* = π*(αs + (1 α)e) Thema Discrete wiskunde aflevering 1

Geef niet alleen antwoorden, maar bewijs al je beweringen.

Voorwaardelijke optimalisatie

FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie

Ter Leering ende Vermaeck

Leeswijzer bij het college Functies en Reeksen

8 De PageRank van Google: de grootste matrixberekening ooit

P (X n+1 = j X n = i, X n 1,..., X 0 ) = P (X n+1 = j X n = i). P (X n+1 = j X n = i) MARKOV KETENS. Definitie van Markov keten:

Lineaire Algebra voor ST

Uitwerkingen tentamen Lineaire Algebra 2 16 januari, en B =

Modellen en Simulatie Lesliematrices Markovketens

Numerieke aspecten van de vergelijking van Cantor. Opgedragen aan Th. J. Dekker. H. W. Lenstra, Jr.

Lineaire Algebra. Bovendriehoeks- en onderdriehoeks vorm: onder (boven) elke leidende term staan enkel nullen

Linalg.nb 1. Werk het notebook aandachtig door en maak de (genummerde) oefeningen aan het einde van elke sectie. Succes!

MARKOV KETENS, OF: WAT IS DE KANS DAT MEVROUW DE VRIES NAT ZAL WORDEN?

Lineaire Algebra TW1205TI. I.A.M. Goddijn, Faculteit EWI 12 februari 2014

vandaag is Annie twee jaar jonger dan Ben en Cees samen

Een combinatorische oplossing voor vraag 10 van de LIMO 2010

Plan van Aanpak. Plan van Aanpak. November Student Naam: David Fremeijer Studentnr:

Google s PageRank Algoritmes

Hints en antwoorden bij de vragen van de cursus Lineaire Algebra en Meetkunde

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12

Radboud Universiteit Nijmegen

Lineaire Algebra voor ST

EXAMEN LINEAIRE ALGEBRA EN ANALYTISCHE MEETKUNDE I. 1. Theorie

1 Rekenen in eindige precisie

TENTAMEN LINEAIRE ALGEBRA 1 donderdag 23 december 2004,

Matrices en Stelsel Lineaire Vergelijkingen

P (X n+1 = j X n = i, X n 1,..., X 0 ) = P (X n+1 = j X n = i). P (X n+1 = j X n = i) MARKOV KETENS. Definitie van Markov keten:

Lineaire Algebra voor W 2Y650

Matrixoperaties. Definitie. Voorbeelden. Een matrix is een rechthoekig array van getallen, die kentallen of elementen heten.

Examen Lineaire Algebra en Meetkunde Tweede zit (13:30-17:30)

Meetkunde en lineaire algebra

UITWERKINGEN 1 2 C : 2 =

Tweede huiswerkopdracht Lineaire algebra 1 Uitwerking en opmerkingen

Uitwerkingen Lineaire Algebra I (wiskundigen) 22 januari, 2015

Eindtermen Lineaire Algebra voor E vor VKO (2DE01)

Lineaire Algebra voor ST

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

WI1808TH1/CiTG - Lineaire algebra deel 1

Eigenwaarden en eigenvectoren

1. Vectoren in R n. y-as

Tentamen Lineaire Algebra B

V.4 Eigenschappen van continue functies

Opgaven Matlab - Week 2, sessie 2: De Singulierewaardendecompositie

x 1 (t) = ve rt = (a + ib) e (λ+iµ)t = (a + ib) e λt (cos µt + i sin µt) x 2 (t) = ve rt = e λt (a cos µt b sin µt) ie λt (a sin µt + b cos µt).

Positieve matrices en hun toepassingen

Lineaire Algebra voor ST

Transcriptie:

Internetwiskunde: over de webgraaf Roel Niessen augustus 200 Bachelorscriptie Begeleider: dr. Jan Brandts KdV Instituut voor Wiskunde Faculteit der Natuurwetenschappen, Wiskunde en Informatica Universiteit van Amsterdam

Samenvatting Deze scriptie behandelt enkele aspecten van het relatief nieuwe vakgebied internetwiskunde. Na een korte inleiding over de webgraaf en de structuur hiervan, wordt in Hoofdstuk 2 de wiskunde achter drie bekende zoekalgoritmes (Googles PageRank, HITS en SALSA) uitgebreid beschreven. Het laatste hoofdstuk behandelt het zogeheten contactproces, waarmee het gedrag van virussen op het web kan worden bestudeerd. Gegevens Titel: Internetwiskunde: over de webgraaf Auteur: Roel Niessen, roel.niessen@student.uva.nl, 5750628 Begeleider: dr. Jan Brandts Tweede beoordelaar: prof. dr. Rob Stevenson Einddatum: augustus 200 Korteweg de Vries Instituut voor Wiskunde Universiteit van Amsterdam Plantage Muidergracht 24, 08 TV Amsterdam http://www.science.uva.nl/math

Inhoudsopgave Introductie. De webgraaf.....................................2 Lineaire algebra.................................. 5.2. Singuliere waarden decompositie..................... 7. Markovketens................................... 8 2 Structureren en organiseren: hoe vind ik wat ik nodig heb? 0 2. Googles PageRank................................ 0 2.. Constructie van de PageRankvector................... 2..2 Berekening van de PageRankvector................... 4 2.2 HITS........................................ 7 2.2. Selectie.................................. 8 2.2.2 Gewichtstoekenning............................ 9 2. SALSA....................................... 24 2.. Random walks over een bipartiete graaf................. 25 Virussen op het web 0. Introductie..................................... 0.2 Barabási-Albert-model en Pólya-urn-model.................... Het contactproces................................. 4 4 Populaire samenvatting 7

Voorwoord Met de opkomst van het internet is ook een nieuwe tak van wiskunde ontstaan, zogenaamde internetwiskunde. Aan de hand van de webgraaf, een wiskundige representatie van het web, kunnen allerlei interessante aspecten van het internet worden bestudeerd. De webgraaf is dan ook de gemene deler van alle hoofdstukken in deze scriptie. In Hoofdstuk wordt, naast een uitleg en karakterisering van de webgraaf, een introductie gegeven in lineaire algebra en Markovketens. Hierin komen alle deelonderwerpen aan bod die we in de overige hoofdstukken nog zullen gebruiken. De machtswet, de stelling van Perron-Frobenius en de singuliere waarden decompositie zijn voorbeelden hiervan. In Hoofdstuk 2 komen drie wiskundige algoritmes aan bod die gebruikt worden in internetzoekmachines. Allereerst wordt het bekende PageRank van Google behandeld, en vervolgens het minder bekende hyperlink-induced topic search (HITS) algoritme. Tot slot bestuderen we het recentere SALSA, dat een nieuwe manier van zoeken introduceert. In Hoofdstuk zullen we kennismaken met een manier om virussen op het web te modelleren. Dit doen we aan de hand van het contactproces en het Barabási-Albert-model. We zullen zien hoe de structuur van het web invloed heeft op de verspreiding en overlevingskansen van infecties. Tot slot wil ik graag mijn begeleider dr. Jan Brandts hartelijk bedanken voor alle vrijheid en steun die hij me heeft gegeven bij de totstandkoming van deze scriptie. Roel Niessen 2

Hoofdstuk Introductie In dit hoofdstuk worden alle belangrijke denities en stellingen geïntroduceerd, die we in een later stadium nodig zullen hebben.. De webgraaf Als we alle webpagina's zien als punten van een graaf, en hyperlinks tussen webpagina's representeren met gerichte lijnen tussen deze punten, dan ontstaat er de zogeheten webgraaf. Deze webgraaf zullen we aanduiden met W. Het is eigenlijk misleidend om te praten over de webgraaf, omdat er continu webpagina's en hyperlinks bijkomen en verdwijnen. In het vervolg van deze scriptie zullen we dit voor lief nemen, en behandelen we W als een gegeven graaf. In deze sectie introduceren we enkele belangrijke eigenschappen van de webgraaf, die we later zullen gebruiken om wiskundige redeneringen omtrent W te kunnen maken. Volgens [] heeft het web een vlinderdasstructuur (Eng.: bow-tie structure), zie guur.. De knoop van de vlinderdas bestaat uit een sterk samenhangende component, die de kern wordt genoemd. Eén kant van de das bestaat uit pagina's die naar de kern verwijzen, en de andere kant bestaat uit pagina's die een link uit de kern ontvangen. De overige webpagina's liggen ofwel in losstaande componenten, ofwel in uitlopers, die alleen in verbinding staat met pagina's buiten de kern. Er zijn verschillende schattingen gemaakt over de groottes van al deze componenten, maar de precieze cijfers zijn onbekend. Een duidelijk fenomeen is in ieder geval de groei van de kern, wat duidt op een groeiende samenhang tussen webbladzijden.

Figuur.: De vlinderdasstructuur van het web. Misschien wel de belangrijkste eigenschap van W is de graadverdeling die voldoet aan de machtswet. Denitie. Laat G een ongerichte graaf en k een niet-negatief geheel getal zijn. deniëren we N k,g als het aantal punten in G van graad k: Dan N k,g = {x V (G) deg(x) = k}. Merk op: als V (G) = n, dan is N k,g een geheel getal in het interval [0, n]. Denitie 2. Laat G een ongerichte graaf en k een niet-negatief geheel getal zijn. Laat verder V (G) = n. Dan is de graadverdeling van G gedenieerd als de rij (N k,g 0 k n). Denitie. Laat G een ongerichte graaf zijn met V (G) = n. We zeggen dat de graadverdeling van G voldoet aan de machtswet als voor k geldt N k,g n k β, (.) voor een zekere reële constante β >. We noemen β de exponent van de machtswet. Als de graadverdeling van G voldoet aan de machtswet, dan noemen we G een machtswetgraaf. We kunnen bovenstaande denities als volgt interpreteren. Als G een machtswetgraaf is, dan heeft G relatief veel punten met een kleine graad, en voor grotere graden worden dit er exponentieel minder. Als we aan beide kanten van. de logaritme nemen, dan krijgen we log(n k,g ) log(n) β log(k). 4

Daarom zal de log-logplot van de graadverdeling van G een rechte lijn zijn met richtingscoëf- ciënt β. Bovenstaande denities zijn telkens in termen van ongerichte grafen, terwijl we onze webgraaf W gedenieerd hebben als een gerichte graaf. We kunnen daarom de machtswetten voor zowel de ingraadverdeling als de uitgraadverdeling bekijken door Nk,G in uit en Nk,G te deniëren. Tot slot nog een denitie die we later zullen gebruiken. Denitie 4. We schrijven f = Θ(g) als g zowel een bovengrens als een ondergrens voor f is..2 Lineaire algebra We veronderstellen dat de lezer bekend is met elementaire lineaire algebra. De minder elementaire lineaire algebra, die we in de volgende hoofdstukken zullen tegenkomen, zullen we in deze sectie behandelen. Kernwoorden hierbij zijn dominante eigenwaarden en -vectoren, verbindingsmatrix en de Stelling van Perron-Frobenius. Als we vanaf nu spreken over "de norm" x van een vector, dan bedoelen we de 2-norm x 2 = n i= x i 2. De -norm x van een vector is gedenieerd als x = n i= x i. Denitie 5. Laat A een n n matrix zijn. Een eigenwaarde λ van A is een complex getal dat voldoet aan Ax = λx voor een bepaalde niet-nul vector x C n. De vector x wordt een eigenvector bij λ genoemd. Als λ,..., λ n de eigenwaarden van A zijn, en λ... λ n, dan noemen we λ de dominante eigenwaarde. Een bijbehorende eigenvector v noemen we de dominante eigenvector. Denitie 6. Laat G een graaf zijn met V (G) = {,..., n}. Dan is de verbindingsmatrix A(G) als volgt gedenieerd: { als (i, j) E(G) A(G) i,j = 0 anders. Merk op dat A(G) symmetrisch is als G een ongerichte graaf is. Propositie. Een n n matrix A is diagonaliseerbaar precies als er basis voor C n is die bestaat uit eigenvectoren van A. Bew¼s. Stel dat A diagonaliseerbaar is en dat A = P DP. Hierbij noteren we P = λ 0 0 ( ) 0 λ 2 0 v... v n, waarbij v,..., v n vectoren zijn, en D =....... Er geldt 0 0 λ n dat AP = P D, dus ( ) ( ) Av... Av n = λ v... λ n v n. 5

Dit betekent dat Av i = λ i v i voor alle i n, dus v i zijn eigenvectoren van A. De matrix P is inverteerbaar, dus de kolommen v i van P zijn lineair onafhankelijk. We concluderen dat {v,..., v n } een basis is voor C n. Anderzijds, stel dat {v,..., v n } eigenvectoren zijn van A die een basis vormen van C n. Laat λ,..., λ n de bijbehorende eigenwaarden zijn. We deniëren P = ( ) v... v n en D = λ 0 0 0 λ 2 0, zodat AP = P D. Omdat de kolommen van P lineair onafhankelijk...... 0 0 λ n zijn, is P inverteerbaar. Dus A = P DP en A is diagonaliseerbaar. Denitie 7. We noemen een matrix positief (niet-negatief ) als alle entries positief (nietnegatief) zijn. Notatie: A > 0 (A 0). Een niet-negatieve matrix is stochastisch als van elke rij de entries optellen tot. We noemen een niet-negatieve vector stochastisch als alle entries optellen tot. Denitie 8. Een niet-negatieve n n matrix A is primitief als A m > 0 voor zekere m > 0. Denitie 9. Laat A een matrix zijn met eigenwaarden λ,..., λ n. De spectraalstraal ρ(a) van A is ρ(a) = max i n { λ i }. Stelling (Stelling van Perron-Frobenius). Laat A een primitieve matrix zijn met spectraalstraal ρ(a) = λ. Dan λ = λ > 0, waarbij λ de strikt dominante eigenwaarde is met algebraïsche multipliciteit. Verder heeft λ een positieve corresponderende eigenvector. Voordat we deze stelling bewijzen, formuleren we het volgende lemma, dat in [0] bewezen wordt. Lemma. Laat T een lineaire afbeelding zijn over een eindigdimensionale vectorruimte. Laat Q een polyhedron zijn dat de oorsprong bevat in zijn inwendige, en zodanig dat Q onder een positieve macht van T wordt afgebeeld in zijn inwendige. Dan is ρ(t ) <. Met behulp van dit lemma zullen we de stelling bewezen. Bewijs van Stelling. De eenheidssimplex S is de verzameling van niet-negatieve vectoren v zodat v =. Omdat de matrix A niet-negatief is, wordt S door A continu afgebeeld op S af door een vector v te sturen naar v v. Volgens de dekpuntstelling van Brouwer heeft deze afbeelding een dekpunt, wat aantoont dat er een niet-negatieve eigenvector bestaat. Omdat A primitief is, is A m > 0 voor zekere m > 0, dus de eigenvector is zelfs positief. Laat λ de bijbehorende eigenwaarde zijn, die positief is. Laat r een positieve rechtereigenvector zijn. Denieer R als de diagonaalmatrix met diagonaalelementen gelijk aan de entries van r. Denieer vervolgens de matrix P = λ R AR. 6

Dan is ook P een primitieve matrix. eigenwaarde, dus P is stochastisch. De kolomvector J n, is een eigenvector van P met We bekijken nu hoe P werkt op rijvectoren. P beeldt de eenheidssimplex S af op zichzelf en een macht van P beeldt S af op zijn inwendige. We weten dat er een positieve rijvector v in s is die door P niet wordt veranderd. Dus Q = v + S is een polyhedron dat de oorsprong bevat in zijn inwendige. Maar nu heeft vanwege Lemma de beperking van P tot de deelruimte V die wordt opgespannen door Q een spectraalstraal kleiner dan. Maar V is P -invariant met codimensie..2. Singuliere waarden decompositie In deze sectie bespreken we een handige factorisatie van een m n-matrix A, de singuliere waarden decompositie. Deze zal later van pas komen bij het berekenen van eigenvectoren van de matrices A T A en AA T. Laat A een m n-matrix zijn. Dan is A T A symmetrisch, dus ook diagonaliseerbaar, en heeft R n een orthogonale basis {v,..., v n } van eigenvectoren van A T A. Laat λ i de bij v i behorende eigenwaarde zijn, dus A T Av i = λ i v i. Dan geldt voor alle i n Av i 2 = (Av i ) T Av i = vi T A T Av i = vi T λ i v i = λ i. We zien dat de eigenwaarden van A T A allemaal niet-negatief zijn. Door te hernummeren kunnen we nu de eigenwaarden als volgt ordenen λ λ 2... λ n 0. Dit leidt ons tot de volgende denitie en stelling. Denitie 0. De singuliere waarden σ,..., σ n van A zijn de wortels van de eigenwaarden van A T A, genoteerd in dalende volgorde. Dus σ i = λ i, voor i n. Stelling 2 (Singuliere waarden decompositie). Laat A een m n-matrix zijn met r niet-nul singuliere waarden. Laat Σ gedenieerd zijn door ( ) D 0 Σ =, 0 0 waarbij D de diagonaalmatrix is met als entries de eerste r singuliere waarden van A, σ... σ r > 0. Dan bestaan er een m m-orthogonaalmatrix U en een n n-orthogonaalmatrix V zodanig dat A = UΣV T. 7

Bew¼s. We geven hier slechts een schets van het bewijs. Voor het volledige bewijs verwijzen we de lezer door naar [9]. Aan de hand van de orthogonale eigenvectoren v,..., v n van A T A en de singuliere waarden σ,..., σ r kunnen we een r-dimensionale basis vinden, die we kunnen uitbreiden tot een basis {u,..., u m } van R m. Vervolgens deniëren we U = ( u u 2 u m ) en V = ( v v 2 v n ). We kunnen dan inzien dat UΣ = AV, en omdat V per constructie orthogonaal is, geldt UΣV T = AV V T = A. Propositie 2. Laat A een matrix zijn met singuliere waarden decompositie A = UΣV T. Dan zijn de kolommen van V gelijk aan de eigenvectoren van A T A en de kolommen van U aan de eigenvectoren van AA T. Bew¼s. We gebruiken de singuliere waarden decompositie van A om A T A te berekenen. A T A = (UΣV T ) T UΣV T = V Σ T U T UΣV T = V (Σ T Σ)V T = V DV, waarbij D de diagonaalmatrix is met alle eigenwaarden van A T A. Dus V diagonaliseert A T A. Dit betekent dat de kolommen van V gelijk zijn aan de eigenvectoren van A T A. Het bewijs voor U en AA T gaat analoog.. Markovketens In de volgende hoofdstukken wordt meermaals een beroep gedaan op kennis van Markovketens. In deze sectie geven de belangrijkste denities en stellingen rondom dit onderwerp. Sleutelbegrippen hierbij zijn discrete-tijds Markovketens, transitiematrix, ergodiciteit en evenwichtsverdeling. Denitie. Een (discrete-tijds) Markovketen M is een rij stochastische variabelen (X n ) n 0 met de Markov-eigenschap: P (X n+ = x n+ X = x,..., X n = x n ) = P (X n+ = x n+ X n = x n ). De verzameling van mogelijke waarden die X n aanneemt, noemen we de toestandsruimte T. 8

Denitie 2. We deniëren de (een-staps)overgangskans p ij van i naar j als p ij = P (X n = j X n = i). We deniëren de n-stapsovergangskans p (n) ij van i naar j als p (n) ij = P (X n = j X 0 = i). Denitie. Zij M een Markovketen met T = {,..., n}. De transitiematrix van M is de n n matrix P zodat de (i, j) entry van P gelijk is aan p ij. Merk op dat de transitiematrix van een Markovketen stochastisch is. We kunnen elke Markovketen identiceren met een gewogen, gerichte graaf G = (V, E). Hierbij is V = T en de gerichte lijnen corresponderen met de positieve overgangskansen p ij. Denitie 4. Een Markovketen M is irreducibel als voor alle i, j T er een n > 0 bestaat zodat p (n) ij > 0. Denitie 5. Laat P een transitiematrix van een Markovketen zijn, en laat i T zijn. We noemen i aperiodiek als p (n) ii > 0 voor voldoend grote n. Een Markovketen heet aperiodiek als alle punten in de bijbehorende graaf aperiodiek zijn. Denitie 6. Een Markovketen is ergodisch als deze irreducibel en aperiodiek is. Lemma 2. Een Markovketen met een primitieve transitiematrix is ergodisch. Bew¼s. Een primitieve transitiematrix P heeft de eigenschap dat P m > 0 voor zekere m > 0. Deze bewering is equivalent met irreducibiliteit, dus daar is aan voldaan. Maar dan is P ook meteen aperiodiek, en dus is de Markovketen ergodisch. Denitie 7. De evenwichtsverdeling s van een Markovketen is een kansverdeling (dus een stochastische vector) met de eigenschap dat s T = s T P. Stelling. Een ergodische Markovketen heeft een unieke evenwichtsverdeling s. Het bewijs van deze stelling gaat in feite op dezelfde manier als het bewijs van de Stelling van Perron-Frobenius. Er bestaat nog een ander ingenieus bewijs van bovenstaande stelling, waarbij twee Markovketens aan elkaar worden gekoppeld. Hiervoor zijn echter veel meer details over Markovketens voor nodig, en daarom verwijzen we de lezer hiervoor door naar [2]. 9

Hoofdstuk 2 Structureren en organiseren: hoe vind ik wat ik nodig heb? Niemand weet uit hoeveel pagina's het web bestaat, omdat er dagelijks miljoenen pagina's bijkomen, verdwijnen en veranderen. Nownederland is een website die onlangs heeft geprobeerd dit aantal te bepalen, en hun schatting (mei 200, [5]) is dat het web uit meer dan 20 miljard pagina's bestaat. Om internetgebruikers een beetje wegwijs te maken in deze wirwar die we de webgraaf noemen, hebben verschillende informatici in de jaren '90 geprobeerd structuren te ontdekken in webgraaf. Er werden zoekmachines gebouwd. Op die manier krijgen we bij een bepaalde zoekterm een lijst met bijbehorende pagina's, gesorteerd op relevantie. De wiskunde achter de verschillende sorteermechanismen is erg verschillend. In dit hoofdstuk bekijken we drie algoritmes, waarvan er in ieder geval twee worden gebruikt in bekende zoekmachines. Aan het eind proberen we iets te zeggen over hoe deze zoekmachines zich tot elkaar verhouden. 2. Googles PageRank Eén van de bekendste zoekmachines op dit moment is zonder twijfel Google. Google werd in 998 na jarenlang onderzoek ontworpen door twee Amerikaanse PhD-studenten, Larry Page en Sergey Brin. Achter het succes van Google gaat het wiskundige model PageRank schuil. Dit model kent aan elke webpagina een getal toe dat het belang van een pagina aangeeft. Google zorgt ervoor dat deze getallen maandelijks bijgewerkt worden, maar het rechtstreeks berekenen van de Pagerank van elke bladzijde is zelfs met de snelste computers een onmogelijke taak. Page en Brin hebben daarom een manier gevonden om binnen redelijke tijd alle Pagerankgetallen goed te benaderen. In deze paragraaf ontdekken we de precieze wiskunde achter Google. We zullen allereerst de PageRankvector denieren en de existentie en uniciteit ervan aantonen. Tot slot bekijken we hoe we de PageRankvector met de machtsmethode kunnen benaderen. 0

2.. Constructie van de PageRankvector PageRank modelleert als het ware een willekeurige internetgebruiker. De PageRankwaarde van een webbladzijde is de kans dat een willekeurige bezoeker op een bepaald moment deze bladzijde bezoekt. Brin en Page baseerden hun model op de onderstaande twee principes.. Een internetgebruiker gaat meestal van een pagina p naar een andere pagina q doordat p een uitgaande link naar q heeft. 2. Het kan ook zo zijn dat een surfer plotseling naar een compleet willekeurige andere pagina gaat, door bijvoorbeeld het bijbehorende webadres in de adresbalk in te voeren. Dit laatste fenomeen noemen we globale teleportatie. Deze twee ideeën zullen we nu samenvoegen in een wiskundig model. Doordat PageRank een willekeurige surfer modelleert, betekent dit dat PageRank de stationaire verdeling van een random walk op de gerichte webgraaf W is. We willen nu graag de bijbehorende transitiematrix P construeren, die we de Google-matrix zullen noemen. Aan de hand van het eerste principe maken we een eerste versie P van de transitiematrix: als (p, q) E(W ) P (p, q) = deg + (i) 0 anders. Dit betekent dus dat een surfer vanuit een pagina p met gelijke kans naar een pagina q gaat, waarbij q willekeurig gekozen wordt uit de verzameling pagina's waar p naar verwijst. Hierbij nemen we dus impliciet aan dat de uitgraad van p ongelijk aan 0 is. Maar aangezien ongeveer 80 procent van de webpagina's wél een uitgraad gelijk aan 0 heeft (denk maar aan jpg- en pdf-bestanden), is dit geen goede aanname. Brin en Page hebben het probleem met deze zogenaamde dangling nodes op een handige manier opgelost. Om uit een dangling node weg te komen, kunnen we een nieuw webadres intikken in de adresbalk, waardoor we naar een willekeurige andere pagina gaan. Dit noemen we ook teleportatie. Op deze manier kunnen we een dangling node in ons model representeren als een pagina die naar alle pagina's binnen het web, inclusief zichzelf, verwijst. In P herkennen we dangling nodes als rijen met alleen maar nullen. Elk van deze rijen vervangen we nu door J n,n, de rijvector met alleen maar entries, waarbij n = V (W ) het n totale aantal webpagina's is. De transitiematrix die we op deze manier verkrijgen noemen we P 2. Het tweede principe van Brin en Page gaat over globale teleportatie: een surfer voert soms een willekeurig nieuw webadres in, en gaat dus niet via een hyperlink naar een andere pagina. Je gaat dan vanuit een pagina p met kans naar een willekeurige pagina in W, inclusief p n zelf, waarbij weer n = V (W ). Deze eigenschap wordt weergegeven door de transitiematrix J n n,n, waarbij J n,n de n n matrix is met overal enen.

De twee principes kunnen we op de volgende manier combineren. Met kans c [0, ] gaat een surfer via een link naar een andere website, en met kans c gebeurt dit via globale teleportatie. We noemen c de globale-teleportatie-constante en Brin en Page gebruiken c = 0, 85 in hun model. Denieer de Google-matrix nu als volgt: P = cp 2 + c n J n,n. Ter illustratie van deze denitie bekijken we een concreet voorbeeld. Voorbeeld. In dit voorbeeld berekenen we de Google-matrix P van een web H dat bestaat uit vier pagina's V (H) = {, 2,, 4}. Zie onderstaande graaf. Figuur 2.: De gerichte graaf H. De transitiematrix P bij H ziet er als volgt uit: P = 0 2 0 2 0 0 0 0 0 2 0 2 0 0 0 We zien in de graaf dat punt 2 een dangling node is, omdat het naar geen enkel ander punt verwijst. Dit zien we ook terug in P, omdat de tweede rij uit louter nullen bestaat. Met het principe van teleportatie vinden we nu onze transitiematrix P 2 : P 2 = 0 2 4 4 0 2 4 4 0 2 0 2 0 0 0 Als we net als Brin en Page de globale-teleportatie-constante c gelijk aan 0,85 nemen, dan vinden we de volgende Google-matrix bij H: 0, 5 P = 0, 85P 2 + 4 J 4,4 = 80 4 80 7 80 7 80 4 7 80 80 2 7 80 4 80 80.. 80 4 7 80 80.

In het algemeen geldt dat de entries van de Google-matrix P niet-negatief zijn. Verder zullen we in het volgende lemma bewijzen dat de rijen van P altijd optellen tot, waardoor P de transitiematrix van een Markovketen is. Aan de hand van dit gegeven zullen we later de PageRankgetallen deniëren. Lemma. De Google-matrix P is een stochastische matrix. Bew¼s. We onderscheiden twee gevallen. Geval. De uitgraad van i in W is positief. Omdat dan de ide rij van P 2 gelijk is aan de ide rij van P, en omdat de rijen van P per denitie optellen tot, geldt dat r i = = c n ( c(p 2 ) i,j + c ) n (J n,n) i,j j= n j= = c + c =. (P ) i,j + c n n Geval 2. De uitgraad van i in W is nul. Dan r i = n ( c(p 2 ) i,j + c ) n (J n,n) i,j j= = n c n + c n n j= = c + c =. j= j= Dus P is de transitiematrix van een Markovketen. De volgende stelling beschrijft de convergentie van deze Markovketen. Merk hiervoor op dat alle entries van P positief zijn, en dus dat P primitief is. Stelling 4. De Markovketen met transitiematrix P convergeert naar een bepaalde evenwichtsverdeling s. Deze s is de dominante eigenvector van P met s =, corresponderend met eigenwaarde. Bew¼s. Volgens Lemma 2 is de Markovketen van P ergodisch, en dus volgens Stelling heeft onze Markovketen een evenwichtsverdeling s. Volgens de Stelling van Perron-Frobenius is s nu de (unieke) dominante eigenvector met s =. Omdat s T P = s T, geldt dat de bij s behorende eigenwaarde gelijk is aan.

Nu kunnen we de PageRankvector deniëren. Denitie 8. We deniëren de PageRankvector als de evenwichtsverdeling s van de Markovketen met transitiematrix P. Voor een zekere nummering V (W ) = {,..., n} is de ide entry van s dan de PageRank van de ide pagina van W. Omdat s T P = s T, kan s met elementaire lineaire algebra worden berekend, bijvoorbeeld door het vegen met rijen en kolommen. Maar omdat er het aantal bladzijden (twintig miljard) tot de derde macht berekeningen voor nodig zijn, is dit zelfs voor de snelste computers een onmogelijke taak. In de volgende paragraaf zien we hoe Google dan wél maandelijks alle PageRankgetallen relatief snel benadert. 2..2 Berekening van de PageRankvector PageRank wordt wel eens gezien als 's werelds grootste matrixberekening. In combinatie met het feit dat P geen nullen heeft, is de standaardmethode (vegen met rijen en kolommen) dus niet handig om s te bepalen. In deze paragraaf zien we dat de machtsmethode een eenvoudige techniek is, die de PageRankvector s snel en nauwkeurig benadert. Denitie 9. De machtsmethode is een iteratie, z k+ = P z k, met een gegeven startvector z 0, die een rij vectoren z k denieert, waarbij iedere vector in de rij simpelweg P maal de vorige is. Stelling 5 (Convergentie van de machtsmethode). Laat P en s gedenieerd zijn zoals hierboven, en laat z 0 een willekeurige stochastische vector in R n zijn. Kies de globale-teleportatieconstante c zodanig dat 0 c. Dan geldt s T z0 T P k c k s T z0 T. Dit impliceert dat, als 0 c <, lim k zt 0 P k = s T. Bew¼s. Omdat zo veel getransponeerde vectoren nogal wat verwarring kunnen veroorzaken, zullen we de volgende equivalente bewering bewijzen: s Q k z 0 c k s z 0, waarbij Q = P T. Hieruit zal dan ook volgen dat lim k Qk z 0 = s. 4

Denieer Y 0 = s z 0 en denieer voor k de rij Y k = s Q k z 0. We zien dat voor iedere k de som van entries van Y k gelijk is aan nul. Maar dan geldt ook dat n J n,ny k = 0. (2.) Voor elke Y R n schrijven we nu Y + voor de vector Y met alle negatieve entries vervangen door 0, en schrijven we Y voor de vector Y met alle positieve entries vervangen door 0. Er geldt dus dat Y = Y + + Y en Y = Y + + Y. De volgende eigenschap van Q 2 = P2 T (waarbij P 2 hierboven is gedenieerd) zullen we later nodig hebben, maar bewijzen we eerst: Q 2 Y Y, (2.2) voor alle Y R n. Omdat de entries van Q 2 niet negatief zijn en de kolommen van Q 2 optellen tot, geldt dat Q 2 Y + = Y + en Q 2 Y = Y. Met behulp van de driehoeksongelijkheid volgt 2.2: Per denitie van Y k en met 2. volgt nu dat Q 2 Y = Q 2 Y + + Q 2 Y Q 2 Y + + Q 2 Y = Y + + Y = Y. Y k+ = s Q k+ z 0 = Q(s Q k z 0 ) = QY k = cq 2 Y k. Met behulp van 2.2 impliceert dit dat Y k+ = c Q2 Y k c Y k. De eerste bewering van de stelling volgt nu met inductie naar k. De tweede bewering volgt eenvoudig uit het feit dat 0 < c <. 5

De Google-matrix P is positief (en dus ook primitief) en stochastisch, en uit Stelling volgt de existentie en uniciteit van de dominante eigenvector s van P, die voldoet aan s =. Op deze manier kunnen we dus door een aantal relatief simpele berekeningen een benadering krijgen van de PageRankvector s. De vraag is natuurlijk wel hoe snel de rij z 0, P z 0, P 2 z 0,... convergeert naar de werkelijke waarde van s. Hoewel de machtsmethode over het algemeen langzaam convergeert, gebeurt dit voor PageRank vrij snel. Dit komt doordat we de waarde van c zelf mogen kiezen: hoe kleiner de waarde van c, des te sneller convergeert de machtsmethode. Als c = 0, dan duurt de iteratie slechts stap, maar dan is ons model wel wat onrealistisch: niemand maakt immers alleen maar gebruik van globale teleportatie.volgens Brin en Page is (bij c = 0, 85) een iteratie tussen de 50 en 00 stappen genoeg om tot een goede ranking te komen. Voorbeeld 2. Beschouw de graaf uit guur 2.. We gebruiken nu de machtsmethode om de PageRank van alle vier de pagina's te benaderen. We nemen dus de globale-teleportatieconstante c gelijk aan 0,85. Kies als startvector z0 T = ( ) 4 4 4 4. Na een korte iteratie van elf stappen vinden we s in vier decimalen nauwkeurig: s = 0, 274 0, 24 0, 292 0, 970 We zien dat punt 2 het belangrijkst is, wat een voordehandliggend resultaat is. Immers, punt 2 is het enige punt met twee inkomende lijnen. Ter afsluiting van deze sectie bekijken we nog een voorbeeld van een groter web. Voorbeeld. In dit voorbeeld benaderen we met behulp van de machtsmethode de Page- Ranks van de punten van de gerichte graaf G, zie Figuur 2.2.. Figuur 2.2: De gerichte graaf G. 6

Als we wederom de globale-teleportatie-constante c gelijk aan 0,85 nemen, dan vinden we de volgende Google-matrix bij G: P = 0 79 600 7 25 0 79 600 79 600 25 25 0 25 7 25 25 0 7 7 0 We gebruiken nu de machtsmethode om de PageRank van elke pagina te benaderen. Kies als startvector z0 T = ( ) 0 0 0 0 0 0 0 0 0 0. We vinden na een korte iteratie van zestien stappen de volgende PageRankvector in vier decimalen nauwkeurig: 0, 077 0, 24 0, 056 0, 485 s = 0, 82 0, 260. (2.) 0, 0452 0, 048 0, 026 0, 048 We zien dat punt 2 zeker niet de beste PageRank heeft, ook al heeft 2 de hoogste ingraad. Dit heeft te maken met het feit dat de pagina's die naar 2 verwijzen zelf ook geen uitzonderlijk hoge PageRank hebben. Omdat het belangrijke punt 5 alleen naar punt 6 verwijst, krijgt 6 de hoogste PageRank in deze graaf. 7 7 0 7 7 0 79 600 0 79 600 0 0 79 600. 2.2 HITS HITS is een afkorting voor hyperlink-induced topic search, wat vrij vertaald zoveel betekent als 'op hyperlinks gebaseerde zoektocht naar onderwerpen'. HITS is een algoritme dat ook in 998 door Jon Kleinberg werd geïntroduceerd. Een bekende zoekmachine die HITS als basis gebruikt is Teoma. Voor elke zoekopdracht vindt HITS een verzameling relevante webpagina's, waar vervolgens twee vectoren aan worden toegekend. Met de entries van deze vectoren, die net als de PageRankvector iteratief worden berekend, wordt het belang van een pagina bepaald. In deze sectie zien we hoe HITS op een wiskundige manier omgaat met een zoekopdracht. 7

2.2. Selectie De eerste stap in het HITS-algoritme is de selectiestap. Bij een gegeven zoekopdracht z wordt een verzameling webpagina's S z gezocht die mogelijk relevant zijn voor z. Hiervoor kunnen we bijvoorbeeld de collectie van pagina's nemen die z letterlijk bevatten. Op deze manier krijg je een verzameling die al gauw miljoenen pagina's kan bevatten. Maar we willen juist dat onze collectie niet te groot wordt, want anders komt er in de volgende stap veel rekenwerk bij kijken. Maar S z moet wel zoveel mogelijk belangrijke pagina's, zogenaamde autoriteiten, bevatten, en moet daarom dus ook niet te klein zijn. Om een zo goed mogelijke collectie te genereren heeft Kleinberg de volgende drie eisen opgelegd aan S z. Merk op: met relevante pagina's bedoelen we pagina's die letterlijk met de zoekopdracht te maken hebben, terwijl autoriteiten pagina's zijn die daadwerkelijk de belangrijke informatie bevatten. () S z is relatief klein; (2) S z is rijk aan relevante pagina's; () S z bevat de meeste belangrijkste autoriteiten. Maar hoe vinden we een S z die aan deze nogal subjectieve voorwaarden voldoet? Allereerste nemen we voor een positief geheel getal t (in de praktijk meestal rond de ) de eerste t hoogst-geclassiceerde pagina's bij een zoekopdracht z. De keuze voor deze pagina's is gebaseerd op een zoekmachine zoals AltaVista, die een pagina alleen vindt als de zoekopdracht er letterlijk in voorkomt. Deze collectie van t pagina's noemen we de wortelverzameling W z. Deze verzameling voldoet aan de eerste twee voorwaarden, maar bevat over het algemeen niet de meeste belangrijkste autoriteiten. Figuur 2.: Uitbreiding van een wortelverzameling tot een basisverzameling. We kunnen nu wel onze W z gebruiken om te proberen een verzameling S z te construeren die wél voldoet aan alledrie de eisen. We beschouwen nu een belangrijke autoriteit bij onze zoekopdracht. Het kan best zo zijn dat deze pagina niet in W z zit, maar volgens Kleinberg mogen we aannemen dat er minstens één pagina in W z is die verwijst naar deze autoriteit. 8

Dus we kunnen het aantal autoriteiten in W z uitbreiden door er pagina's aan toe te voegen die op een of andere manier een verband hebben met een pagina in W z. Hiervoor wordt de volgende procedure gehanteerd. Laat W z de verzameling pagina's zijn zoals hierboven gedenieerd en laat p W z zijn. Denieer Γ + (p) als de verzameling pagina's waar p naar verwijst en Γ (p) als de verzameling pagina's uit de webgraaf W die naar p verwijzen. We krijgen nu S z door W z voor alle p W z tegelijkertijd uit te breiden met Γ + (p) en met d willekeurige pagina's uit Γ (p), waarvoor d een van tevoren bepaald positief geheel getal is. We noemen S z de basisverzameling voor z. Vervolgens willen we bij deze verzameling webpagina's een graaf maken, door alle relevante links tussen de pagina's toe te voegen. Beschouw hiervoor allereerst de door S z geïnduceerde deelgraaf van W, notatie W [S z ]. We maken onderscheid tussen twee soorten links in W [S z ], links die naar een pagina met een andere domeinnaam verwijzen, en links die naar een pagina binnen het eigen domein verwijzen. De links van het tweede soort dienen bijna altijd ter navigatie binnen een website, en ze voegen daarom weinig toe aan de relevantie. De bijbehorende lijnen uit W [S z ] halen we weg uit de graaf, en de overgebleven graaf noemen we G z. Dit is de graaf waarmee we nu gaan bepalen welke webpagina's het relevantst zijn bij een bepaalde zoekopdracht. 2.2.2 Gewichtstoekenning In de volgende stap berekent het HITS-algoritme voor elke pagina p uit de basisverzameling S z = V (G z ) twee niet-negatieve reële getallen, het autoriteitgewicht en het hubgewicht van p. Een hub is een pagina die naar veel relevante autoriteiten verwijst. Als p een hoog autoriteitgewicht heeft, dan is p een goede autoriteit, en als p een hoog hubgewicht heeft, dan is p een goede hub. Er zit een interessante heuristiek achter de berekening van het autoriteit- en hubgewicht. Allereerst bekijken we hoe je autoriteiten en hubs zou kunnen herkennen in de graaf G z. Binnen G z zijn er veel pagina's die verwijzen naar autoritaire pagina's, waardoor autoriteiten een hoge ingraad zullen hebben. Volgens Kleinberg is er zelfs aanzienlijke overlap tussen de pagina's die naar autoriteiten verwijzen, omdat alle autoritaire pagina's grotendeels over hetzelfde onderwerp gaan. Goede hub pagina's worden dan ook herkend door het feit dat ze veel links hebben naar belangrijke autoriteiten. Maar op deze manier lijkt er een cirkelredenering te ontstaan: een goede hub is een pagina die naar veel goede autoriteiten verwijst, en een goede autoriteit is een pagina waarnaar verwezen wordt door goede hubs. Dit schijnbare probleem heeft Kleinberg opgelost door de gewichten met een iteratief algoritme te berekenen. Als de hubgewichten van alle pagina's gegeven zijn, dan is het autoriteitgewicht van een pagina p S z gelijk aan de som van de hubgewichten van alle pagina's q die naar p verwijzen, dus zodat (q, p) E(G z ). Analoog, als de autoriteitgewichten van alle pagina's gegeven zijn, dan is het hubgewicht van een pagina p S z gelijk aan de som van autoriteitgewichten van alle pagina's q waar p naar verwijst, dus zodat (p, q) E(G z ). We beginnen nu het algoritme door alle pagina's in G z autoriteit- en hubgewicht te geven. Als 9

we bovengenoemde operaties achter elkaar blijven uitvoeren, dan zal blijken dat het resultaat convergeert. Het is tijd om het autoriteit- en hubgewicht van een pagina wiskundig te deniëren. Voordat we dit doen, introduceren we nog een belangrijke notatie. Voor elke verzameling pagina's P = {,..., n} zullen we de vectoren a(p ) en h(p ) berekenen. Deze vectoren hebben de eigenschap dat het autoriteitgewicht en hubgewicht van pagina i simpelweg de ide entries zijn van a(p ) en h(p ). We deniëren nu de vectoren a(p ) en h(p ) als de limiet van twee recursieve rijen van vectoren (a k (P ) k N) en (h k (P ) k N). Denitie 20. Voor P = {,..., n} deniëren we a 0 (P ) = h 0 (P ) = J,n. Laat nu a k (P ) en h k (P ) voor k 0 gedenieerd zijn. Dan deniëren we waarbij a k+ (P ) = a k+ (P ) a k+ (P ) en h k+(p ) = h k+ (P ) h k+ (P ), a k+ (P ) = A(S)T h k (P ) en h k+ (P ) = A(S)a k+ (P ). We zien in deze denitie de heuristiek die we hierboven besproken hebben terug. Door A(S) T met h k (P ) te vermenigvuldigen, tellen we namelijk voor elk punt i precies de hubwaarden in stap k van alle punten j die naar i verwijzen op. Het getal we dan krijgen wordt (na normalisatie) het nieuwe autoriteitgewicht van punt i in stap k +. Idem dito, door A(S) met a k+ (P ) te vermenigvuldigen, tellen we voor elk punt i precies de autoriteitwaarden in stap k + van alle punten j waarnaar i verwijst op, en zo krijgen we (na normalisatie) het nieuwe hubgewicht van punt i in stap k +. Voorbeeld 4. We berekenen a 2 (P ) en h 2 (P ) van de onderstaande graaf H, met P = V (H) = {, 2,, 4}. Figuur 2.4: De gerichte graaf H. 20

Deze graaf heeft verbindingsmatrix A(H) = dus de getransponeerde matrix hiervan is Vervolgens berekenen we 0 0 0 a (P ) = 0 0 0 0 0 0 0 0 A(H) T = = 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,. en h (P ) = Door deze vectoren te delen door hun 2-norm, vinden we 0, 78 a (P ) = 2 7 0, 756 0, 78 en h (P ) = 9 0, 78 0 0 0 0 0 0 0 0 0 0 0 0 2 0, 688 0 0, 688 0, 229 Op dezelfde manier kunnen we a 2 (P ) en h 2 (P ) berekenen, en dan we vinden we 0, 5 9 a 2 (P ) = 6 55 0, 809 0, 405 en h 2(P ) = 0 6 9 0, 405 0, 705 0 0, 705 0, 078 = We zien na twee iteratiestappen dat punt 2 het hoogste autoriteitgewicht (0,809) krijgt toegekend. Dit zien we terug in de graaf doordat punt en punt (dat ook een redelijk autoriteitgewicht heeft) naar punt 2 wijzen. Punt 2 heeft op zijn beurt weer een laag hubgewicht (0), omdat het naar geen enkel ander punt verwijst. Omdat de punten en naar het autoriteiten punt 2 verwijzen, krijgen ze een hoog hubgewicht. Kleinberg heeft bewezen dat de rijtjes (a k (P ) k N) en (h k (P ) k N) onder bepaalde omstandigheden convergeren naar de dominante eigenvectoren van bepaalde matrices, en deze limieten blijken gelijk te zijn aan onze vectoren a(p ) en h(p ). 2.. 0.

Stelling 6. Laat A = A(G) de verbindingsmatrix van G zijn, en kies p V (G). Veronderstel dat A T A en AA T primitief zijn. Dan gelden de volgende eigenschappen. () De limiet a(p ) van de rij (a k (P ) k N) is de genormaliseerde dominante eigenvector van A T A. (2) De limiet h(p ) van de rij (h k (P ) k N) is de genormaliseerde dominante eigenvector van AA T. Voordat we deze stelling bewijzen, formuleren en bewijzen we het volgende lemma, waar we uitgaan van een diagonaliseerbare matrix. Lemma 4. Laat M een niet-negatieve, primitieve, symmetrische (en dus diagonaliseerbare) matrix zijn, en laat v de dominante eigenvector van M zijn met v =. (Merk op dat v op teken na uniek is volgens de Stelling van Perron-Frobenius.) Laat verder z 0 een willekeurige vector zijn die niet loodrecht op v staat. Voor gedenieerde z k, deniëren we z k+ = Mz k Mz k. Dan lim z k = v. k Bew¼s. Volgens Propositie geldt, omdat M diagonaliseerbaar is, dat C n een basis {v,..., v n } heeft van de eigenvectoren van M. Hierbij is λ i de eigenwaarde van v i, dus Mv i = λ i v i. Omdat v de dominante eigenvector van M is, geldt λ = λ > λ i, voor alle 2 i n. Nu kunnen we z 0 schrijven als een lineaire combinatie van basisvectoren n z 0 = c i v i, i= waarbij c i scalars zijn en c 0. Dit laatste is zo omdat 0 v, z 0 = v, n i= c iv i = n i= c i v, v i = c v 2 = c. Merk op dat Nu kunnen we M k z 0 als volgt herschrijven: z k = M k z 0 M k z k. n M k z 0 = M k c i v i = = i= n c i M k v i i= n c i λ k i v i i= = c λ k ( v + 22 n i=2 c i ( λi c λ ) k v i ).

Omdat λ > λ i, voor alle 2 i n, is λ i λ <. En omdat zk de genormaliseerde vector van M k z 0 is, geldt lim z M k z 0 k = lim k k M k z 0 ( = lim k = v v = v. c λk ( c λ k v + n i=2 v + n i=2 ( c i λ i c ( c i λ i c λ ) k vi ) λ ) k vi ) Nu kunnen we met behulp van dit lemma Stelling 6 bewijzen. Bewijs van Stelling 6. De matrices A T A en AA T zijn reëel en symmetrisch, en zijn dus ook diagonaliseerbaar. Uit Denitie 20 volgt dat we a k (P ) kunnen schrijven als (A T A) k A T J,n (A T A) k A T J,n en dat h k (P ) gelijk is aan (AA T ) k J,n (AA T ) k J,n. We bewijzen alleen bewering () van de stelling, omdat het bewijs van (2) analoog verloopt. Als M = A T A positief is, dan is er volgens de Stelling van Perron-Frobenius een dominante eigenvector v van A T A zodanig dat v =. Er bestaat een tweede versie van de Stelling van Perron-Frobenius die hetzelfde resultaat garandeert voor het geval dat M niet-negatief is. In dit geval is v ook niet-negatief. Voor meer details hierover verwijzen we de lezer door naar []. Denieer z 0 = A T J,n. Omdat z 0 niet-negatief is met hier en daar positieve entries, en omdat v niet de nulvector is, geldt dat v en z 0 niet orthogonaal zijn. Volgens Lemma 4 geldt nu lim a (A T A) k (A T J,n ) k(p ) = lim k k (A T A) k (A T J,n ) = lim k M k z 0 M k z 0 = v. Dus de limiet a(p ) van de rij (a k (P ) k N) is de genormaliseerde dominante eigenvector v van A T A. 2

Om de limieten a(p ) en h(p ) van onze rijtjes te weten te komen, kunnen we dus de genormaliseerde dominante eigenvectoren van A T A en AA T berekenen. Dit zijn twee onafhankelijke berekeningen, terwijl er een methode is waarmee we deze eigenvectoren in één keer kunnen berekenen. Deze methode is de singuliere waarden decompositie, die we in Sectie.2. geïntroduceerd hebben. Als A = UΣV T, dan zijn volgens Propositie 2 de kolommen van U gelijk aan de eigenvectoren van AA T, en de kolommen van V aan de eigenvectoren van A T A. Voorbeeld 5. We beschouwen nogmaals de gerichte graaf uit guur 2.4. We gebruiken de singuliere waarden decompositie om a(p ) en h(p ) te berekenen. Volgens Stelling 2 kunnen we schrijven A = UΣV T. De matrices die hieraan voldoen, zijn U = 2 2 0 2 2 0 0 0 0 2 2 0 2 2 0 0 0 0 Σ = 0 0 0 0 0 0 0 0 0 0 0 0 0,, 0 0 0 V = 6 0 0 6 6 0 2 2. 6 6 0 2 2 De eerste kolommen van U en V geven ons de genormaliseerde dominante eigenvectoren van AA T en A T A: 2 h(p ) = 0 en a(p ) = 2. 0 Het autoriteit- of hubgewicht van een punt i kunnen we nu aezen als de ide entry van a(p ) of h(p ). We zien dat de vectoren a 2 (P ) en h 2 (P ) uit Voorbeeld 4 aardig overeenkomen met de werkelijke a(p ) en h(p ). De convergentie van (a k (P ) k N) en (h k (P ) k N) lijkt dus vrij snel te gaan, en volgens Kleinberg zijn 20 iteratieve stappen voldoende om een goede gewichtstoekenning te waarborgen. 0 2 6 6 6 2. SALSA In publiceerden Ronny Lempel en Shlomo Moran een artikel [4] waarin ze een nieuw zoekalgoritme SALSA beschrijven. Stochastic Approach for Link Structure Analysis (SALSA) combineert eigenschappen van PageRank en van HITS. 24

Zo gaat SALSA bij een bepaalde zoekopdracht z allereerst uit van een geïnduceerde deelgraaf G z van W, die op een analoge manier als in HITS wordt gekozen. Vervolgens bekijken we een random walk op G z, die de autoriteiten bij z net als in PageRank met hoge kans zal bezoeken. We kijken wederom naar zowel autoriteiten en hubs, en voor elk van de twee bekijken we een aparte Markovketen. De transitiematrices hiervan zullen we niet zoals gewoonlijk vinden, maar door het doorlopen van twee links achter elkaar als één transitie te zien. Door beide ketens de analyseren zullen we voor elke pagina een autoriteit- en een hubgewicht vinden. In deze sectie zien we waarom en hoe Lempel en Moran de webstructuur van W op deze manier gebruikten om het belang van een pagina te berekenen. 2.. Random walks over een bipartiete graaf De eerste stap van SALSA is het construeren van een basisgraaf G z die relatief klein is, die veel relevante pagina's bevat en die de meeste autoriteiten bevat. Dit gebeurt op dezelfde manier als bij HITS, zie Sectie 2.2.. Aan de hand van G z deniëren we nu een bipartiete ongerichte graaf B = (V a V h, E) als volgt: V a = {g a g G z en deg (g) > 0} V h = {g h g G z en deg + (g) > 0} E = {(g h, ḡ a ) (g, ḡ) E(G z )}. We noemen V a de verzameling van autoriteitspunten en V h de verzameling van hubpunten. Via deze denitie wordt elke niet-geïsoleerde pagina g in G z gerepresenteerd in B door ofwel g a, ofwel g h, of beide. Elke gerichte lijn van g naar ḡ in E(G z ) wordt gerepresenteerd door een ongerichte lijn tussen g h en ḡ a in B. Dit geeft ook een heuristische verklaring van de termen autoriteit en hub (die in Sectie 2.2 zijn geïntroduceerd). In guur 2.4 zien we hoe B uit een gegeven graaf G z wordt gemaakt. We gaan nu op onze bipartiete graaf B twee random walks maken. Hierbij zien we het doorlopen van twee lijnen in B als één stap in de random walk. Omdat B bipartiet is, betekent dit dat de punten waarin een random walk terechtkomt allemaal aan één zijde van B zitten. Als we de twee random walks aan verschillende kanten laten beginnen, hebben we dus enerzijds een random walk over V a en anderzijds een random walk over V h. Een mooie eigenschap van B is dat de belangrijkste autoriteiten en hubs bij een zoekopdracht goed zichtbaar zullen zijn, doordat ze door veel andere punten direct of via een kort pad bereikt kunnen worden. We mogen dan ook wel verwachten dat autoriteiten vaak bezocht worden bij de random walk over V a en dat hubs vaak bezocht worden bij de random walk over V h. We zullen deze random walks nu zien als Markovketens door de bijbehorende transitiematrices op te stellen (zie ook Propositie ). Deze Markovketens noemen we de autoriteitketen (de keten over V a ) met bijbehorende autoriteitmatrix Ā, en de hubketen (de keten over V h) met bijbehorende hubmatrix H. 25

Figuur 2.5: De constructie van (b) de bipartiete graaf B uit (a) de gerichte graaf G z. Denitie 2. We deniëren Ā door: ā i,j = {k (k h,i a),(k h,j a) B} deg(i a ) deg(k h ), (2.4) en we deniëren H door: h i,j = {k (i h,k a),(j h,k a) B} deg(i h ) deg(k a ). Dit is een goede denitie, want ā i,j is simpelweg de sommatie over alle mogelijke hubs k h (via welke je van i a naar j a kunt) van de kansen dat je vanuit i a via k h in j a terechtkomt. Op dezelfde manier is h i,j de sommatie over alle mogelijke autoriteiten k a (via welke je van i h naar j h kunt) van de kansen dat je vanuit i h via k a in j a terechtkomt. En omdat we met een random walk te maken hebben, gaan we met gelijke kans van een punt g a naar een willekeurig ander punt ḡ h dat in B met g a verbonden is, en vice versa. Voorbeeld 6. We bekijken de bipartiete graaf B uit guur 2.4. De bijbehorende autoriteitmatrix en hubmatrix zijn: 0 0 0 0 0 0 Ā = 0 2 4 4 0 2 4 4 0 4 0 4 2 4 4 2 2 a a 4 a 6 a en H = 0 4 0 4 2 4 4 2 h 2 h. 4 h 5 h Omdat B symmetrisch is, zijn Ā en H gelijk aan elkaar. Merk verder op dat je een lijn ook twee keer achter elkaar mag doorlopen in de random walks. Vanuit h ga je bijvoorbeeld 26

met kans naar 2 a, en vervolgens ga je met kans over dezelfde lijn weer terug naar h. Dit impliceert dat h, =. Op dezelfde manier kun je vanuit 4 a met kans naar 2 2 h en met kans over dezelfde lijn weer terug naar 4 2 a, wat is zijn geheel dus gebeurt met kans =. Maar je kunt ook via 5 2 2 4 h op en neer naar 4 a, ook met kans. Dit betekent dat 4 ā 4,4 = + =. 4 4 2 Opmerking. Een positieve transitiekans ā i,j > 0 betekent dat er een pagina k is, die in G z zowel naar i als naar j verwijst. Op die manier is j in G z vanuit i in twee stappen te bereiken, namelijk door eerst de link k i in omgekeerde richting te volgen, en vervolgens de link k j te volgen. We kunnen de matrices Ā en H nog op een alternatieve manier karakteriseren. Deze manier zal ons later toestaan om op dezelfde manier als bij PageRank en HITS te bewijzen dat de autoriteit- en hubketen convergeren naar een evenwichtsverdeling. Laat A = A(G z ) de verbindingsmatrix van de oorspronkelijke gerichte graaf G z zijn. Laat A r de matrix zijn die we krijgen als we elk niet-nulelement (i, j) A delen door de rijsom r i, en laat A k de matrix zijn die we krijgen als we elk niet-nulelement (i, j) A delen door de kolomsom k j. Merk op dat de sommen van rijen of kolommen die niet-nulelementen bevatten groter dan 0 zijn. Nu geldt de volgende stelling. Stelling 7. Ā bestaat uit de niet-nulrijen en -kolommen van A T k A r en H bestaat uit de niet-nulrijen en -kolommen van A r A T k. Bew¼s. We bewijzen de bewering voor Ā; het bewijs voor de tweede bewering verloopt analoog. Per constructie is A r een stochastische matrix die een random walk op G z modelleert, en is A T k een stochastische matrix die een random walk op G z modelleert, waarbij Gz uit G z is afgeleid door de richting van elke lijn om te draaien. Dus entry (i, j) van het product A T k A r is een sommatie over alle mogelijke manieren waarop we in G z van i naar j kunnen door eerst een lijn in tegengestelde richting te volgen en vervolgens een lijn in G z te volgen. Hierbij wordt per pad de kans geteld dat we dát pad van i naar j nemen. Nu volgt uit opmerking dat Ā precies bestaat uit de niet-nulrijen en -kolommen van AT k A r. We moeten alleen nog bewijzen dat Ā en H daadwerkelijk transitiematrices van twee Markovketens zijn. Met bovenstaande karakterising is dit eenvoudig na te gaan. Propositie. De autoriteitmatrix Ā en de hubmatrix H zijn stochastische matrices. Bew¼s. Per constructie tellen de rijen van A r en A T k op tot, en zijn dus stochastische matrices. Maar dan zijn de producten A T k A r en A r A T k ook stochastisch. Met Stelling 7 volgt nu het gestelde. Lempel en Moran hebben onderstaande stelling op een zelfde manier bewezen als PageRank en HITS [4]. 27

Figuur 2.6: De samenhangende graaf G. Stelling 8. Laat de bipartiete graaf B samenhangend zijn. Dan zijn Ā en H stochastische en primitieve matrices. In het bijzonder convergeren de autoriteit- en hubketen naar evenwichtsverdelingen, die de -genormaliseerde dominante eigenvectoren van Ā en H zijn. We sluiten deze sectie af met een voorbeeld. Voorbeeld 7. We berekenen de autoriteitgewichten van de graaf in guur 2.6. Hiervoor gebruiken we de karakterisering uit Stelling 7. We zien dat en 0 0 0 0 0 5 5 5 5 5 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 A r = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0, 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 A T k = 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28

Na vermenigvuldiging en het wissen van nulrijen en -kolommen, vinden we 0 0 0 0 0 0 28 4 8 5 75 0 00 25 25 75 5 5 0 0 0 0 0 0 4 2 4 7 2 0 0 0 0 6 5 5 5 5 Ā = 0 0 0 0 0 0 5 0 0. 0 0 0 0 5 5 5 5 5 4 4 0 0 0 6 5 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 We zien dat Ā slechts negen rijen en kolommen heeft. Dit komt doordat punt 9 in de graaf geen inkomende lijnen heeft en daarom van SALSA geen autoriteitwaarde krijgt toegekend. Nu gebruiken we een andere versie van de machtsmethode (namelijk voor niet-symmetrische matrices, zie [4]) om de autoriteitwaarden van de overige punten te benaderen. We kiezen hierbij als startvector z 0 = ( ) 9 9 9 9 9 9 9 9 9. Na een iteratie van 26 stappen vinden we de volgende evenwichtsverdeling in twee decimalen nauwkeurig: 0, 05 0, 25 0, 0 0, 5 s = 0, 0. 0, 5 0, 0 0, 05 0, 05 We zien dat, in tegenstelling tot de PageRankvector 2., punt 2 hier wel de hoogste waarde krijgt. Verder komen de getallen globaal redelijk overeen. Achter PageRank lijkt echter iets meer diepgang en reële menselijkheid te zitten, wat misschien het enorme succes van Google een beetje kan verklaren. 29

Hoofdstuk Virussen op het web Er is overtuigend bewijs dat de graadverdeling van de punten in de webgraaf volgens een machtswet gaat [6]. Een graaf waarvan de graadverdeling van de punten een machtswet volgt, noemen we in dit hoofdstuk een scale-free graaf. Het houdt in dat er veel punten met een kleine graad zijn, en voor grotere graden worden dit er exponentieel minder. Maar wat voor impact heeft deze structuur op processen op het web? In dit hoofdstuk bekijken we aan de hand van [7] een proces dat de verspreiding van virussen op het web modelleert, en hoe dit proces wordt beïnvloed door het feit dat de webgraaf scale-free is.. Introductie Het standaardmodel voor de bestudering van virusinfecties op het web is het contactproces, ook wel het SIS-model genoemd. Dit model gaat uit van de webgraaf zoals we die kennen, en een virus kan zich verspreiden door de pijlen in de graaf te volgen. Elk punt van de webgraaf is ófwel gezond (maar wel vatbaar voor een virus), ófwel geïnfecteerd door een virus. Met rate (dat wil zeggen: na een exponentieel verdeelde tijd met parameter ) wordt een geïnfecteerd punt weer gezond, onafhankelijk van de toestand van zijn buren. Een gezond punt wordt geïnfecteerd met rate λ > 0, vermenigvuldigd met het aantal geïnfecteerde buren, waarbij λ de zogenaamde voortplantingsverhouding is. Hoe meer geïnfecteerde buren een punt heeft, des te groter is dus de kans op infectie van het punt zelf. Denitie 22. We noemen de aanwezigheid van een virus in het web, vanaf het tijdstip waarop het verschijnt tot de verdwijning van het virus, een infectie. Denitie 2. We noemen een infectie een epidemie als de tijd, die het virus nodig heeft om uit te sterven, exponentieel is in het aantal punten. Als we het contactproces bekijken op een random graaf, waarin elk punt met gelijke kans een bepaalde graad heeft, dan is het belangrijkste resultaat dat er waarschijnlijk een niet-nul SIS is een afkorting voor susceptible-infected-susceptible, wat vatbaar-geïnfecteerd-vatbaar betekent. 0

epidemiedrempel λ c bestaat. Als de voortplantingsverhouding groter is dan deze drempel, λ λ c, dan zal het virus zich uitbreiden zonder te verdwijnen. Maar als λ < λ c, dan zal het virus exponentieel snel uitsterven. Het is echter niet duidelijk of de webgraaf inderdaad kunnen beschouwen als een random gegenereerde graaf. We zullen zien dat vanwege de machtswet, waaraan de graadverdeling van de webgraaf voldoet, we inderdaad bovenstaande eigenschap niet kunnen toepassen op de webgraaf. De epidemiedrempel λ c zal namelijk gelijk aan 0 blijken te zijn. Omdat λ positief is, betekent dit dat zelfs virussen met een zeer kleine voortplantingsverhouding een positieve kans hebben om een epidemie te veroorzaken. Verder zullen we zien dat het ontstaan van een epidemie ook erg afhangt van het punt waarop het virus begint. De epidemiekans voor een virus dat op een speciaal punt begint, is gelijk aan ( ) λ Θ log(λ ) log log(λ ), (.) terwijl de epidemiekans beginnend bij een willekeurig punt gelijk aan λ Θ() is. De Θ-notatie hebben we gedenieerd is Denitie 4. In de rest van dit hoofdstuk zullen we. verder uitwerken (zie Stelling 9) en gedeeltes van het bewijs ervan behandelen. Het bewijs maakt gebruik van de Barabási-Albert-graaf, die we in Sectie.2 deniëren. Verder is het bewijs gebaseerd op eigenschappen van het contactproces en de machtswet, zoals we in Sectie. zullen zien. Allereerst geven we een intuïtieve omschrijving van het bewijs van.. Het gedrag van het contactproces is in grote mate afhankelijk van de graadverdeling van de graaf. Als bijvoorbeeld alle graden in een graaf signicant kleiner zijn dan λ, dan zal het virus zeer snel verdwijnen. Maar als het virus een punt bereikt met een signicant grotere graad dan λ 2, dan is er een grote kans dat het virus lang zal voortleven in de buurt van dat punt. We willen dus graag een beter zicht hebben op de graadverdeling in de buurt van een bepaald punt. We zullen zien dat, voor bepaalde punten v, de grootste graad in een bal met straal k rond v zeer waarschijnlijk (k!) Θ() is. Op deze manier is het meest nabije punt van graad λ Θ() op een afstand van Θ ( log(λ ) log log(λ ) ). We willen nu dus de kans weten dat het virus daadwerkelijk aankomt bij een punt met graad λ Θ(), en dit is precies de kans gegeven in...2 Barabási-Albert-model en Pólya-urn-model Een eigenschap van scale-free grafen is dat deze gegenereerd kunnen worden door bepaalde random-graafmodellen. In deze sectie introduceren we het model dat we gebruiken om de webgraaf te modelleren, zodat we op basis van dat model de gewenste eigenschappen kunnen aeiden. Dit model is in 999 door Barabási en Albert [8] geïntroduceerd, en het denieert de zogenaamde Barabási-Albert-graaf.

Laat m 2 een geheel getal zijn, en laat 0 α een reëel getal zijn. Laat verder {v i } een reeks punten zijn, en laat G i de Barabási-Albert-graaf op tijdstip i zijn. Dan is G de graaf bestaande uit alleen het punt v en geen lijnen, en is G 2 de graaf bestaande uit de punten v en v 2, met m lijnen tussen deze punten. Voor een gegeven graaf G n, construeren we G n als volgt. Voeg het punt v n toe aan de graaf, en kies m punten w,..., w m inductief op onderstaande manier, mogelijk met herhaalde punten, uit G n. Vervolgens trekken we lijnen tussen v n en elke w j, j m. Herhaalde punten in de rij w,..., w m resulteren dan in meervoudige lijnen in G n. De punten w,..., w m worden op de volgende manier inductief gekozen. Met kans α kiezen we w = v i met kans /(n ) voor elke i =,..., n, en met kans α kiezen we w = v i, voor elke i =,..., n, met kans deg n (v i )/Z, waarbij Z zorgt voor normalisatie: Z = n deg n (v i ) i= = 2m(n 2). We vervolgen dit proces inductief door telkens dezelfde regel toe te passen, maar als we w k bepalen, dan gebruiken we niet deg n (v i ), maar deg n (v i ) = deg n (v i ) + #{ j k w j = v i }. Met kans α kiezen we dus een punt uit G n zódanig, dat de punten met de grootste graad in G n de grootste kans hebben om gekozen te worden. De Barabási-Albert-graaf G van grootte n deniëren we nu als G n, de Barabási-Albert-graaf op tijdstip n. Opmerking 2. Volgens [7] is het niet erg dat we in de Barabási-Albert-graaf meervoudige lijnen toestaan. Ze hebben een meer natuurlijke variant, zonder meervoudige lijnen, ook bestudeerd, en dit blijkt het uiteindelijke resultaat niet te beïnvloeden. Voorbeeld 8. We bekijken de in guur. gegeven Barabási-Albert-graaf G. In dit voorbeeld construeren we een G 4 uit een gegeven graaf G. Hierbij nemen we m = en α = 0, 5. We voegen nu een nieuw punt toe, en vanuit dat punt trekken we m = lijnen naar de andere punten. De eerste lijn wordt op de volgende manier bepaald: - óf met kans 0,5 kiezen we willekeurig een punt uit G en verbinden de lijn hiermee; - óf met kans 0,5 kiezen we met kans 4 en verbinden de lijn hiermee. 2 punt, met kans 5 2 punt 2 en met kans 2 punt De volgende twee lijnen worden op ongeveer dezelfde manier gekozen. In guur.2 zien we een mogelijk resultaat. De uitwerking van., en dus de belangrijkste resultaten van dit hoofdstuk, geven we nu in de volgende twee stellingen. 2

Figuur.: Een Barabási-Albert-graaf G, met m = en α = 0, 5. Figuur.2: Een Barabási-Albert-graaf G 4, met m = en α = 0, 5. Stelling 9. Voor elke λ > 0 bestaat er een N zodanig dat voor elke Barabási-Albert-graaf van grootte n > N geldt: als we een willekeurig punt v kiezen, dan heeft v met kans O(λ 2 ) de eigenschap dat de overlevingskans p van een infectie die in v begint als volgt wordt begrensd: λ C log(λ ) log log(λ ) p λ C 2 log(λ ) log log(λ ), waarbij C en C 2 constanten zijn, C C 2, onafhankelijk van λ en n. Stelling 0. Voor elke λ > 0 bestaat er een N zodanig dat voor elke Barabási-Albert-graaf van grootte n > N geldt: als we een willekeurig punt v kiezen en de infectie in v laten beginnen, dan wordt de overlevingskans p van de infectie als volgt begrensd: λ C p λ C 4, waarbij C en C 4 constanten zijn, C C 4, onafhankelijk van λ en n. Voor de bewijzen van bovenstaande stellingen zijn veel technische lemma's en specialistische details nodig, die we in deze scriptie niet allemaal kunnen behandelen. We zullen in de rest van dit hoofdstuk wel enkele interessante gedeeltes tentoonstellen aan de lezer. Voor de volledige versie verwijzen we de lezer graag door naar [7]. Het Barabási-Albert-model is lastig om mee te rekenen, en daarom wordt in [7] nog een ander model geïntroduceerd, het zogenaamde Pólya-urn-model, zie ook []. Gegeven is een aantal

urnen, met in elke urn een aantal ballen, en in elke stap wordt er een nieuwe bal toegevoegd aan één van de urnen. De kans dat de bal in i wordt gelegd is proportioneel aan N i + u, waarbij N i het aantal ballen in urn i is, en u een van tevoren bepaalde parameter van het model is. Pólya bewees dat dit model equivalent is aan het volgende wiskundige proces. We kiezen voor elke i een parameter p i (genaamd de aantrekkingskracht), en in elke stap leggen we een nieuwe bal in urn i met kans p i, onafhankelijk van alle voorgaande stappen. Pólya speciceerde een verdeling van u en het aantal ballen in elke urn in stap 0 zodat dit proces het urnmodel simuleert. Voorbeeld 9. Beschouw twee urnen, elk beginnend met bal en met u = 0. Dan is p een uniforme [0, ] variabele, en p 2 = p. Pólya liet zien dat voor willekeurige waarden van u en {N i (0)}, de waarden van {p i } bepaald worden door de β-verdeling met geschikte parameters. We kunnen het Pólya-urn-model op de volgende manier vergelijken met het Barabási-Albertmodel. Elke nieuwe verbinding die een punt v i in het Barabási-Albert-model maakt kunnen we in het Pólya-urn-model representeren met een bal die in urn i wordt gelegd. We kunnen nu dus ook een equivalente beschrijving van de Barabási-Albert-graaf maken. Dit zullen we echter niet expliciet behandelen in deze scriptie, en voor alle technische details hiervan verwijzen we de lezer door naar [7]. Het Pólya-urn-model kan gebruikt worden om scale-free grafen te genereren waarop we het contactproces (dat we in de volgende sectie wiskundig zullen deniëren) kunnen toepassen. Omdat het internet ook een scale-free graaf is, kunnen we op deze manier conclusies trekken over de manier waarop een virus zich over het internet verspreidt.. Het contactproces In deze sectie zullen we een deel van de bewijzen van bovenstaande stellingen behandelen. Hiertoe geven we eerst een wiskundige denitie van het eerdergenoemde contactproces. In dit model is een punt in de webgraaf ofwel gezond ofwel geïnfecteerd. Een geïnfecteerd punt wordt gezond na een exponentiële tijd met rate, onafhankelijk van de toestand van de buurpunten. Een gezond punt wordt geïnfecteerd met een rate die proportioneel is met het aantal geïnfecteerde buurpunten. De volgende denitie geeft dit idee wiskundig weer. Denitie 24. Het contactproces met parameter λ > 0 op een graaf G = (V, E) is een (continue-tijds) Markovproces (X t t [0, )) dat op tijdstip t wordt geïdenticeerd met de deelverzameling punten A = {v V X t (v) = }. De punten in A noemen we geïnfecteerd en de punten in V \A noemen we gezond. De transitierates voor X t worden gegeven door A A\{v}, voor v Amet rate A A {v}, voor v / A met rate λ #{u A (u, v) E}. 4

We nemen aan dat op t = 0 één van de punten in G geïnfecteerd is. Dit punt noemen we de wortel. Merk op: hoe groter de waarde van λ, des te meer punten zullen er geïnfecteerd worden. Een deel van het bewijs van Stelling 9 bestaat uit het bewijzen van de volgende bewering: in een scale-free graaf van grootte n bestaat er een λ n zodanig dat elk contactproces met parameter λ > λ n een grote kans heeft om een epidemie te veroorzaken. Verder geldt dat λ n 0 als n. Een epidemie hebben we gedenieerd in Denitie 2. Lemma 5. Laat G = (V, E) een graaf zijn met hoogste graad d. Laat S V de verzameling punten zijn die ooit geinfecteerd worden in G. Dan geldt voor elke k P ( S > k) < (2dλ) k. Bew¼s. We mogen zonder verlies van algemeenheid aannemen dat λd <. Denieer Y als de grootheid die A op elk tijdstip aangeeft. De kans dat twee gebeurtenissen (een gezond punt wordt geinfecteerd of andersom) tegelijkertijd plaatsvinden is 0. Daarom worden de transitierates voor Y gegeven door Y Y met rate Y Y Y + met rate λ c(a), waarbij c(a) = {(u, v) E u A, v V \A}. Er geldt dat c(a) Xd. Daarom geldt voor een volgend tijdstip dat Y overgaat naar Y + met kans hoogstens λy d Y + λy d = λd + λd < 2 λd, omdat λd <. Er geldt ook dat Y overgaat naar Y met kans minstens + λd > 2 λd. Om de toestand Y = k + te bereiken, moet Y minstens k keer overgaan naar Y + in de eerste 2k stappen. De kans hierop wordt van boven begrensd door Dit bewijst het lemma. ( ) k λd 2 2k = (2dλ) k. 2 De volgende stelling is het gevolg van bovenstaand bewijs. 5

Stelling. Laat G = (V, E) een graaf zijn, laat v V (G) zijn en laat l een positief geheel getal zijn. Veronderstel dat in een bal van straal l rondom v alle graden begrensd worden door d. Begin nu een contactproces met parameter λ < /(2d) in {v}. Voor t > 0 deniëren we S(t) als de gebeurtenis dat A T. Laat B(l) de gebeurtenis zijn dat de infectie de bal van straal l rond v nooit verlaat. Dan geldt voor elke t dat P (S(t) B(l)) < (2λd) t. Een ander, cruciaal lemma voor het bewijs van Stelling 9 bestudeert de overlevingstijd van een contactproces in een stervormige graaf. Dit is een graaf met een middelpunt x dat verbonden is met alle blaadjes y,...y k. Het lemma stelt dat de infectie met grote kans in een stervormige graaf zal overleven voor een tijd die exponentieel is in het aantal punten. Het idee van het bewijs van dit lemma is als volgt: als het middelpunt van de graaf wordt geïnfecteerd, dan begint dit punt de blaadjes met zeer hoge rate te infecteren. Het aantal geïnfecteerde blaadjes voordat het middelpunt weer gezond wordt, is hoog genoeg om er zeker van te zijn dat de infectie zal overleven totdat het middelpunt weer wordt geïnfecteerd. Dus hoe meer punten de graaf heeft, des te langer zal de infectie blijven voortduren. 6

Hoofdstuk 4 Populaire samenvatting Internetwiskunde is een relatief nieuw vakgebied binnen de wiskunde dat gaat over alle wiskunde die achter het internet schuilgaat. Hierbij wordt het web grasch weergegeven door webpagina's te zien als punten en hyperlinks tussen pagina's als pijlen tussen de punten. Er ontstaat zo een graaf van punten en pijlen, en die noemen we de webgraaf. Zoekmachines Het internet bevat heel veel informatie, en we willen natuurlijk zo snel mogelijk toegang tot de informatie waarnaar we op zoek zijn. Zoekmachines spelen hierin een cruciale rol, want zij geven bij een zoekopdracht een lijst met webpagina's, op aopende relevantie of belangrijkheid. Maar hoe wordt bepaald of een zekere pagina belangrijker is dan een andere pagina? U raadt het al, dit wordt gedaan door allerlei wiskundige algoritmes. PageRank De bekendste zoekmachine is zonder twijfel Google, en werd in 998 uitgevonden door Larry Page en Sergey Brin. Achter het succes van Google gaat het wiskundige algoritme PageRank schuil. Aan elke webpagina wordt een getal toegekend, de zogenaamde PageRank van die pagina, en dit getal geeft aan hoe belangrijk die pagina is. De PageRank van een pagina geeft de kans weer dat een bezoeker op een willekeurig moment op die pagina is. Het rechtstreeks berekenen van deze getallen is een onmogelijk karwei (het aantal nodige berekeningen is gelijk aan het aantal webbladzijden, zeg twintig miljard, tot de derde macht), en daarom gebruiken Page en Brin een iteratief proces om alle PageRankgetallen binnen drie dagen vrij nauwkeurig te benaderen. Een pagina krijgt een hoge PageRank als er veel andere bladzijdes zijn die naar die pagina verwijzen. Verder spelen de PageRanks van die andere bladzijdes ook een rol: als veel onbelangrijke bladzijdes naar een pagina verwijzen, dan zal die pagina een lagere PageRank krijgen dan als er weinig belangrijke bladzijdes naar die pagina verwijzen. Het laatste criterium is dat het veel waard als een pagina alleen naar jou verwijst, en niet naar nog andere pagina's. 7

Figuur 4.: De relatieve PageRanks van een miniwebgraaf. In guur 4. zien we een miniwebgraaf van elf bladzijdes met de bijbehorende PageRanks van die bladzijdes. We zien dat de kleine paarse pagina's een zeer lage PageRank hebben, omdat er geen enkele pagina hiernaar verwijst. Al deze pagina's verwijzen evenals pagina F naar pagina E, waardoor die een betere PageRank krijgt. Pagina B krijgt de hoogste PageRank omdat er veel pagina's naar verwijzen, en omdat ook de belangrijke pagina C enkel en alleen naar B verwijst. Omdat B ook alleen naar C verwijst, heeft C ook een hoge Pagerank. De bepaling van de PageRankgetallen lijkt een cirkelredenering te zijn, maar in mijn scriptie heb ik laten zien dat een eenvoudige iteratie geen problemen oplevert. HITS Google berekent maandelijks voor elke pagina opnieuw de PageRank, en dit kost zoals gezegd nogal wat computerwerk. Het algoritme Hyperlink-Induced Topic Search (HITS) is in 998 door Jon Kleinberg bedacht, en pakt dit anders aan. Het bepaalt namelijk per zoekopdracht een verzameling pagina's die relevant zijn bij de zoekopdracht en voor elke pagina in die verzameling berekent het vervolgens het belang van een pagina. Deze selectie van pagina's gebeurt in twee stappen; allereerst worden er pagina's genomen waarop de zoekopdracht letterlijk voorkomt. Vervolgens wordt deze zogenaamde wortelverzameling uitgebreid tot een basisverzameling door alle pagina's die verwijzen naar de wortelverzameling en pagina's waarnaar de wortelverzameling verwijst toe te voegen, zie guur 4.2. De volgende stap van het HITS-algoritme bestaat uit het bepalen van het autoriteitgewicht en het hubgewicht van elke pagina uit de basisverzameling. Als een pagina belangrijk en relevant voor de zoekopdracht is, dan krijgt deze een hoog autoriteitgewicht. Als een pagina naar veel goede autoriteiten verwijst, dan krijgt de pagina een hoog hubgewicht. De berekening van deze gewichten lijkt weer in een cirkelredenering te stranden, maar Kleinberg heeft het als 8