#!/usr/bin/perl

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

# Extensive Interlinking - "Fully Meshed"
# forward links
# a -> b,c,d	- 3 outgoing links	- home
# b -> c,d,a	- 3 outgoing link	- about
# c -> d,a,b	- 3 outgoing link	- products
# d -> a,b,c	- 3 outgoing links	- more info

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

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

Outputs

a: 0.00000 b: 0.00000 c: 0.00000 d: 0.00000
a: 0.15000 b: 0.19250 c: 0.24704 d: 0.31704
a: 0.36436 b: 0.41306 c: 0.46010 d: 0.50063
a: 0.53924 b: 0.57499 c: 0.60754 d: 0.63784
a: 0.66577 b: 0.69149 c: 0.71528 d: 0.73722
a: 0.75746 b: 0.77616 c: 0.79340 d: 0.80932
a: 0.82402 b: 0.83758 c: 0.85009 d: 0.86165
a: 0.87231 b: 0.88215 c: 0.89123 d: 0.89961
a: 0.90735 b: 0.91449 c: 0.92107 d: 0.92716
a: 0.93277 b: 0.93795 c: 0.94273 d: 0.94714
a: 0.95122 b: 0.95498 c: 0.95845 d: 0.96165
a: 0.96460 b: 0.96733 c: 0.96985 d: 0.97217
a: 0.97432 b: 0.97630 c: 0.97812 d: 0.97981
a: 0.98136 b: 0.98280 c: 0.98413 d: 0.98535
a: 0.98648 b: 0.98752 c: 0.98848 d: 0.98937
a: 0.99019 b: 0.99094 c: 0.99164 d: 0.99229
a: 0.99288 b: 0.99343 c: 0.99394 d: 0.99440
a: 0.99483 b: 0.99523 c: 0.99560 d: 0.99594
a: 0.99625 b: 0.99654 c: 0.99681 d: 0.99705
a: 0.99728 b: 0.99749 c: 0.99768 d: 0.99786
a: 0.99803 b: 0.99818 c: 0.99832 d: 0.99845
a: 0.99857 b: 0.99868 c: 0.99878 d: 0.99887
a: 0.99896 b: 0.99904 c: 0.99911 d: 0.99918
a: 0.99925 b: 0.99930 c: 0.99936 d: 0.99941
a: 0.99945 b: 0.99950 c: 0.99953 d: 0.99957
a: 0.99960 b: 0.99963 c: 0.99966 d: 0.99969
a: 0.99971 b: 0.99973 c: 0.99975 d: 0.99977
a: 0.99979 b: 0.99981 c: 0.99982 d: 0.99984
a: 0.99985 b: 0.99986 c: 0.99987 d: 0.99988
a: 0.99989 b: 0.99990 c: 0.99991 d: 0.99991
a: 0.99992 b: 0.99993 c: 0.99993 d: 0.99994
a: 0.99994 b: 0.99995 c: 0.99995 d: 0.99995
a: 0.99996 b: 0.99996 c: 0.99996 d: 0.99997
a: 0.99997 b: 0.99997 c: 0.99997 d: 0.99998
a: 0.99998 b: 0.99998 c: 0.99998 d: 0.99998
a: 0.99998 b: 0.99999 c: 0.99999 d: 0.99999
a: 0.99999 b: 0.99999 c: 0.99999 d: 0.99999
a: 0.99999 b: 0.99999 c: 0.99999 d: 0.99999
a: 0.99999 b: 0.99999 c: 0.99999 d: 1.00000
a: 1.00000 b: 1.00000 c: 1.00000 d: 1.00000
Average pagerank = 1.0000

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