#!/usr/bin/perl

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

# forward links
# a -> b,c,d	- 3 outgoing links	- home
# b -> a	- 1 outgoing link	- about
# c -> a	- 1 outgoing link	- products
# d -> a,e,f,g,h,i,j,k,l	- 9 outgoing links
# e,f,g,h	- nothing	- external sites
# i -> a	- 1 link 	- review of e
# j -> a	- 1 link 	- review of f
# k -> a	- 1 link 	- review of g
# l -> a	- 1 link 	- review of h

# i.e. "backward" links (what's pointing to me?)
# a <= b,c,d/9,i,j,k,l
# b,c,d <= a/3
# e,f,g,h,i,j,k,l <= d/9
while ($iterate--) {
	printf("a: %.5f b: %.5f c: %.5f d: %.5f e=f=g=h: %.5f i=j=k=l: %.5f\n",
		$a, $b, $c, $d, $e, $i);
	$a = 1 - $damp + $damp * ($b + $c + $d/9 + $i + $j + $k + $l);
	$b = $c = $d = 1 - $damp + $damp * ($a/3);
	$e = $f = $g = $h = $i = $j = $k = $l = 1 - $damp + $damp * ($d/9);
}
printf("Average pagerank = %.4f\n", ($a + $b + $c + $d + $e*4 + $i*4) / 12);

Outputs

a: 0.00000 b: 0.00000 c: 0.00000 d: 0.00000 e=f=g=h: 0.00000 i=j=k=l: 0.00000
a: 0.15000 b: 0.19250 c: 0.19250 d: 0.19250 e=f=g=h: 0.16818 i=j=k=l: 0.16818
a: 1.06724 b: 0.45239 c: 0.45239 d: 0.45239 e=f=g=h: 0.19273 i=j=k=l: 0.19273
a: 1.61705 b: 0.60816 c: 0.60816 d: 0.60816 e=f=g=h: 0.20744 i=j=k=l: 0.20744
a: 1.94660 b: 0.70154 c: 0.70154 d: 0.70154 e=f=g=h: 0.21626 i=j=k=l: 0.21626
a: 2.14414 b: 0.75751 c: 0.75751 d: 0.75751 e=f=g=h: 0.22154 i=j=k=l: 0.22154
a: 2.26255 b: 0.79106 c: 0.79106 d: 0.79106 e=f=g=h: 0.22471 i=j=k=l: 0.22471
a: 2.33352 b: 0.81116 c: 0.81116 d: 0.81116 e=f=g=h: 0.22661 i=j=k=l: 0.22661
a: 2.37606 b: 0.82322 c: 0.82322 d: 0.82322 e=f=g=h: 0.22775 i=j=k=l: 0.22775
a: 2.40156 b: 0.83044 c: 0.83044 d: 0.83044 e=f=g=h: 0.22843 i=j=k=l: 0.22843
a: 2.41685 b: 0.83477 c: 0.83477 d: 0.83477 e=f=g=h: 0.22884 i=j=k=l: 0.22884
a: 2.42601 b: 0.83737 c: 0.83737 d: 0.83737 e=f=g=h: 0.22908 i=j=k=l: 0.22908
a: 2.43150 b: 0.83893 c: 0.83893 d: 0.83893 e=f=g=h: 0.22923 i=j=k=l: 0.22923
a: 2.43479 b: 0.83986 c: 0.83986 d: 0.83986 e=f=g=h: 0.22932 i=j=k=l: 0.22932
a: 2.43677 b: 0.84042 c: 0.84042 d: 0.84042 e=f=g=h: 0.22937 i=j=k=l: 0.22937
a: 2.43795 b: 0.84075 c: 0.84075 d: 0.84075 e=f=g=h: 0.22940 i=j=k=l: 0.22940
a: 2.43866 b: 0.84095 c: 0.84095 d: 0.84095 e=f=g=h: 0.22942 i=j=k=l: 0.22942
a: 2.43908 b: 0.84107 c: 0.84107 d: 0.84107 e=f=g=h: 0.22943 i=j=k=l: 0.22943
a: 2.43934 b: 0.84115 c: 0.84115 d: 0.84115 e=f=g=h: 0.22944 i=j=k=l: 0.22944
a: 2.43949 b: 0.84119 c: 0.84119 d: 0.84119 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43958 b: 0.84121 c: 0.84121 d: 0.84121 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43964 b: 0.84123 c: 0.84123 d: 0.84123 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43967 b: 0.84124 c: 0.84124 d: 0.84124 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43969 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43970 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43971 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43971 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43972 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43972 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43972 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43972 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43972 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43972 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43972 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43972 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43972 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43972 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43972 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43972 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
a: 2.43972 b: 0.84125 c: 0.84125 d: 0.84125 e=f=g=h: 0.22945 i=j=k=l: 0.22945
Average pagerank = 0.5666

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