Ga naar hoofdinhoud

13.5 Bouwsteen 3 — één pagina bijwerken

Leerdoel: je giet de PageRank-formule in code voor één pagina, gegeven de huidige ranks.

De formule

rank(p) = (1 − d)/N + d · Σ rank(i) / aantal_links(i)
i → p

In woorden: een basisdeel (1 − d)/N (de willekeurige sprong van de surfer), plus d keer de opgetelde stemmen van elke pagina i die naar p linkt — en elke stem is rank(i) gedeeld door het aantal links dat i uitdeelt.

We testen met de startverdeling (alles 0.25) en d = 0.85. Reken zelf even mee voor C: A, B en D linken naar C. A deelt 2 links uit (0.25/2), B en D elk 1 (0.25/1). Dat geeft 0.15/4 + 0.85 · (0.125 + 0.25 + 0.25) = 0.56875.

Bouw en test

Python
Code-omgeving wordt voorbereid…
Antwoord
for i in web:
if p in web[i]:
som += rank[i] / len(web[i])

D krijgt van niemand een link, dus som = 0 en blijft op het basisdeel (1 − 0.85)/4 = 0.0375.

Door naar stap 6: itereren tot het stabiel is →.