#!/usr/bin/perl

$damp = 0.85;
$a = $b = $c = $d = $e = 0;
$f = 1; # We'll give the external site an "average" pagerank
$iterate = 40; # loop 40 times

# Heirarchical with a vote out and a vote in
# forward links
# a -> b, c, d  - 3 outgoing links	- home
# b -> a        - 1 outgoing link	- about
# c -> a,e      - 2 outgoing links	- products
# d -> a        - 1 outgoing links	- more info
# e             - nothing           - site B
# f -> a        - 1 outgoing link	- exclusive link!

# i.e. "backward" links (what's pointing to me?)
# a <= b, c/2, d, f
# b,c,d <= a/3
# e <= c/2
# f <= we're going to assume it has enough incoming links to maintain a PR of 1.
while ($iterate--) {
	printf("a: %.5f b: %.5f c: %.5f d: %.5f e: %.5f f: %.5f\n", $a, $b, $c, $d, $e, $f);

	$a = 1 - $damp + $damp * ($b + $c/2 + $d + $f);
	$b = 1 - $damp + $damp * ($a/3);
	$c = 1 - $damp + $damp * ($a/3);
	$d = 1 - $damp + $damp * ($a/3);
	$e = 1 - $damp + $damp * ($c/2);
	$f = 1; # this site has average SEO
}
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 e: 0.00000 f: 1.00000
a: 1.00000 b: 0.43333 c: 0.43333 d: 0.43333 e: 0.33417 f: 1.00000
a: 1.92083 b: 0.69424 c: 0.69424 d: 0.69424 e: 0.44505 f: 1.00000
a: 2.47525 b: 0.85132 c: 0.85132 d: 0.85132 e: 0.51181 f: 1.00000
a: 2.80906 b: 0.94590 c: 0.94590 d: 0.94590 e: 0.55201 f: 1.00000
a: 3.01004 b: 1.00284 c: 1.00284 d: 1.00284 e: 0.57621 f: 1.00000
a: 3.13104 b: 1.03713 c: 1.03713 d: 1.03713 e: 0.59078 f: 1.00000
a: 3.20390 b: 1.05777 c: 1.05777 d: 1.05777 e: 0.59955 f: 1.00000
a: 3.24776 b: 1.07020 c: 1.07020 d: 1.07020 e: 0.60483 f: 1.00000
a: 3.27417 b: 1.07768 c: 1.07768 d: 1.07768 e: 0.60802 f: 1.00000
a: 3.29008 b: 1.08219 c: 1.08219 d: 1.08219 e: 0.60993 f: 1.00000
a: 3.29965 b: 1.08490 c: 1.08490 d: 1.08490 e: 0.61108 f: 1.00000
a: 3.30541 b: 1.08653 c: 1.08653 d: 1.08653 e: 0.61178 f: 1.00000
a: 3.30888 b: 1.08752 c: 1.08752 d: 1.08752 e: 0.61219 f: 1.00000
a: 3.31097 b: 1.08811 c: 1.08811 d: 1.08811 e: 0.61245 f: 1.00000
a: 3.31223 b: 1.08847 c: 1.08847 d: 1.08847 e: 0.61260 f: 1.00000
a: 3.31299 b: 1.08868 c: 1.08868 d: 1.08868 e: 0.61269 f: 1.00000
a: 3.31345 b: 1.08881 c: 1.08881 d: 1.08881 e: 0.61274 f: 1.00000
a: 3.31372 b: 1.08889 c: 1.08889 d: 1.08889 e: 0.61278 f: 1.00000
a: 3.31389 b: 1.08893 c: 1.08893 d: 1.08893 e: 0.61280 f: 1.00000
a: 3.31399 b: 1.08896 c: 1.08896 d: 1.08896 e: 0.61281 f: 1.00000
a: 3.31405 b: 1.08898 c: 1.08898 d: 1.08898 e: 0.61282 f: 1.00000
a: 3.31408 b: 1.08899 c: 1.08899 d: 1.08899 e: 0.61282 f: 1.00000
a: 3.31410 b: 1.08900 c: 1.08900 d: 1.08900 e: 0.61282 f: 1.00000
a: 3.31412 b: 1.08900 c: 1.08900 d: 1.08900 e: 0.61282 f: 1.00000
a: 3.31412 b: 1.08900 c: 1.08900 d: 1.08900 e: 0.61283 f: 1.00000
a: 3.31413 b: 1.08900 c: 1.08900 d: 1.08900 e: 0.61283 f: 1.00000
a: 3.31413 b: 1.08900 c: 1.08900 d: 1.08900 e: 0.61283 f: 1.00000
a: 3.31413 b: 1.08900 c: 1.08900 d: 1.08900 e: 0.61283 f: 1.00000
a: 3.31413 b: 1.08900 c: 1.08900 d: 1.08900 e: 0.61283 f: 1.00000
a: 3.31414 b: 1.08900 c: 1.08900 d: 1.08900 e: 0.61283 f: 1.00000
a: 3.31414 b: 1.08901 c: 1.08901 d: 1.08901 e: 0.61283 f: 1.00000
a: 3.31414 b: 1.08901 c: 1.08901 d: 1.08901 e: 0.61283 f: 1.00000
a: 3.31414 b: 1.08901 c: 1.08901 d: 1.08901 e: 0.61283 f: 1.00000
a: 3.31414 b: 1.08901 c: 1.08901 d: 1.08901 e: 0.61283 f: 1.00000
a: 3.31414 b: 1.08901 c: 1.08901 d: 1.08901 e: 0.61283 f: 1.00000
a: 3.31414 b: 1.08901 c: 1.08901 d: 1.08901 e: 0.61283 f: 1.00000
a: 3.31414 b: 1.08901 c: 1.08901 d: 1.08901 e: 0.61283 f: 1.00000
a: 3.31414 b: 1.08901 c: 1.08901 d: 1.08901 e: 0.61283 f: 1.00000
a: 3.31414 b: 1.08901 c: 1.08901 d: 1.08901 e: 0.61283 f: 1.00000
Average pagerank = 1.6453

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