13.9 Zelf bouwen — de random surfer
Leerdoel: je bouwt de andere kijk op PageRank — een random surfer die eindeloos doorklikt — en ziet dat die dezelfde ranks oplevert als de iteratieve formule.
Het idee
Tot nu toe rekende je PageRank exact uit met een formule. Maar het begon als een verhaal: een surfer die willekeurig klikt. Simuleer dat:
- Begin op een willekeurige pagina.
- Herhaal heel vaak: tel de huidige pagina, en ga dan verder. Met kans
dvolg je een willekeurige uitgaande link; met kans1 − d(of als de pagina geen links heeft) spring je naar een willekeurige pagina. - De PageRank is de fractie van de tijd die je op elke pagina was.
Met genoeg klikken benadert dit de exacte ranks. We vergelijken jouw
simulatie met de iteratieve pagerank (hieronder al gegeven).
Bouw en test
Code-omgeving wordt voorbereid…
Antwoord
if links and random.random() < d:
huidig = random.choice(links)
else:
huidig = random.choice(paginas)
De simulatie en de formule zijn twee kanten van dezelfde medaille: de formule rekent precies uit waar de random surfer op de lange termijn terechtkomt.
Door naar stap 10: fouten →.