#!/usr/bin/perl

$damp = 0.85;
$a = $b = $c = $d = $e = $f = $g = $h = 0;
$iterate = 40; # loop 40 times

# Plain Heirarchical
# forward links
# a -> b, c, d	- 3 outgoing links	- home
# b -> a	- 1 outgoing link	- about
# c -> a	- 1 outgoing link	- products
# d -> a	- 1 outgoing links	- more info

# i.e. "backward" links (what's pointing to me?)
# a <= b, c, d
# b,c,d <= a/3
while ($iterate--) {
	printf("a: %.5f b: %.5f c: %.5f d: %.5f\n", $a, $b, $c, $d);

	$a = 1 - $damp + $damp * ($b + $c + $d);
	$b = 1 - $damp + $damp * ($a/3);
	$c = 1 - $damp + $damp * ($a/3);
	$d = 1 - $damp + $damp * ($a/3);
}
printf("Average pagerank = %.4f\n", ($a + $b + $c + $d) / 4); # to 4 decinal places!

Outputs

a: 0.00000 b: 0.00000 c: 0.00000 d: 0.00000
a: 0.15000 b: 0.19250 c: 0.19250 d: 0.19250
a: 0.64088 b: 0.33158 c: 0.33158 d: 0.33158
a: 0.99553 b: 0.43207 c: 0.43207 d: 0.43207
a: 1.25177 b: 0.50467 c: 0.50467 d: 0.50467
a: 1.43691 b: 0.55712 c: 0.55712 d: 0.55712
a: 1.57066 b: 0.59502 c: 0.59502 d: 0.59502
a: 1.66730 b: 0.62240 c: 0.62240 d: 0.62240
a: 1.73713 b: 0.64219 c: 0.64219 d: 0.64219
a: 1.78757 b: 0.65648 c: 0.65648 d: 0.65648
a: 1.82402 b: 0.66681 c: 0.66681 d: 0.66681
a: 1.85036 b: 0.67427 c: 0.67427 d: 0.67427
a: 1.86938 b: 0.67966 c: 0.67966 d: 0.67966
a: 1.88313 b: 0.68355 c: 0.68355 d: 0.68355
a: 1.89306 b: 0.68637 c: 0.68637 d: 0.68637
a: 1.90024 b: 0.68840 c: 0.68840 d: 0.68840
a: 1.90542 b: 0.68987 c: 0.68987 d: 0.68987
a: 1.90917 b: 0.69093 c: 0.69093 d: 0.69093
a: 1.91187 b: 0.69170 c: 0.69170 d: 0.69170
a: 1.91383 b: 0.69225 c: 0.69225 d: 0.69225
a: 1.91524 b: 0.69265 c: 0.69265 d: 0.69265
a: 1.91626 b: 0.69294 c: 0.69294 d: 0.69294
a: 1.91700 b: 0.69315 c: 0.69315 d: 0.69315
a: 1.91753 b: 0.69330 c: 0.69330 d: 0.69330
a: 1.91792 b: 0.69341 c: 0.69341 d: 0.69341
a: 1.91819 b: 0.69349 c: 0.69349 d: 0.69349
a: 1.91840 b: 0.69355 c: 0.69355 d: 0.69355
a: 1.91854 b: 0.69359 c: 0.69359 d: 0.69359
a: 1.91865 b: 0.69362 c: 0.69362 d: 0.69362
a: 1.91872 b: 0.69364 c: 0.69364 d: 0.69364
a: 1.91878 b: 0.69365 c: 0.69365 d: 0.69365
a: 1.91882 b: 0.69366 c: 0.69366 d: 0.69366
a: 1.91884 b: 0.69367 c: 0.69367 d: 0.69367
a: 1.91887 b: 0.69368 c: 0.69368 d: 0.69368
a: 1.91888 b: 0.69368 c: 0.69368 d: 0.69368
a: 1.91889 b: 0.69369 c: 0.69369 d: 0.69369
a: 1.91890 b: 0.69369 c: 0.69369 d: 0.69369
a: 1.91890 b: 0.69369 c: 0.69369 d: 0.69369
a: 1.91891 b: 0.69369 c: 0.69369 d: 0.69369
a: 1.91891 b: 0.69369 c: 0.69369 d: 0.69369
Average pagerank = 1.0000

This page and its contents are copyright © 2024, Ian Rogers. Theme derived from Prav