#!/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	- 1 outgoing links	- home
# b -> a,c	- 2 outgoing link	- about
# c -> a,d	- 2 outgoing link	- products
# d -> a	- 1 outgoing links	- more info

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

	$a = 1 - $damp + $damp * ($b/2 + $c/2 + $d);
	$b = 1 - $damp + $damp * ($a);
	$c = 1 - $damp + $damp * ($b/2);
	$d = 1 - $damp + $damp * ($c/2);
}
printf("Average pagerank = %.4f\n", ($a + $b + $c + $d) / 4); 

Outputs

a: 0.00000 b: 0.00000 c: 0.00000 d: 0.00000
a: 0.15000 b: 0.27750 c: 0.26794 d: 0.26387
a: 0.60610 b: 0.66519 c: 0.43270 d: 0.33390
a: 0.90042 b: 0.91536 c: 0.53903 d: 0.37909
a: 1.09034 b: 1.07679 c: 0.60763 d: 0.40824
a: 1.21289 b: 1.18095 c: 0.65191 d: 0.42706
a: 1.29197 b: 1.24817 c: 0.68047 d: 0.43920
a: 1.34299 b: 1.29154 c: 0.69891 d: 0.44704
a: 1.37592 b: 1.31953 c: 0.71080 d: 0.45209
a: 1.39717 b: 1.33759 c: 0.71848 d: 0.45535
a: 1.41088 b: 1.34925 c: 0.72343 d: 0.45746
a: 1.41973 b: 1.35677 c: 0.72663 d: 0.45882
a: 1.42544 b: 1.36162 c: 0.72869 d: 0.45969
a: 1.42912 b: 1.36475 c: 0.73002 d: 0.46026
a: 1.43150 b: 1.36677 c: 0.73088 d: 0.46062
a: 1.43303 b: 1.36808 c: 0.73143 d: 0.46086
a: 1.43402 b: 1.36892 c: 0.73179 d: 0.46101
a: 1.43466 b: 1.36946 c: 0.73202 d: 0.46111
a: 1.43507 b: 1.36981 c: 0.73217 d: 0.46117
a: 1.43534 b: 1.37004 c: 0.73227 d: 0.46121
a: 1.43551 b: 1.37018 c: 0.73233 d: 0.46124
a: 1.43562 b: 1.37028 c: 0.73237 d: 0.46126
a: 1.43569 b: 1.37034 c: 0.73239 d: 0.46127
a: 1.43574 b: 1.37038 c: 0.73241 d: 0.46127
a: 1.43577 b: 1.37040 c: 0.73242 d: 0.46128
a: 1.43579 b: 1.37042 c: 0.73243 d: 0.46128
a: 1.43580 b: 1.37043 c: 0.73243 d: 0.46128
a: 1.43581 b: 1.37044 c: 0.73244 d: 0.46129
a: 1.43581 b: 1.37044 c: 0.73244 d: 0.46129
a: 1.43582 b: 1.37044 c: 0.73244 d: 0.46129
a: 1.43582 b: 1.37045 c: 0.73244 d: 0.46129
a: 1.43582 b: 1.37045 c: 0.73244 d: 0.46129
a: 1.43582 b: 1.37045 c: 0.73244 d: 0.46129
a: 1.43582 b: 1.37045 c: 0.73244 d: 0.46129
a: 1.43582 b: 1.37045 c: 0.73244 d: 0.46129
a: 1.43582 b: 1.37045 c: 0.73244 d: 0.46129
a: 1.43582 b: 1.37045 c: 0.73244 d: 0.46129
a: 1.43582 b: 1.37045 c: 0.73244 d: 0.46129
a: 1.43582 b: 1.37045 c: 0.73244 d: 0.46129
a: 1.43582 b: 1.37045 c: 0.73244 d: 0.46129
Average pagerank = 1.0000

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