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
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 →.