Cum poate fi Page Rankul calculat?
Este partea cea mai interesantă dar şi cea mai confuză, deaorece Pr -ul fiecărei pagini web depinde de voturile primite, dar şi paginile respective depind de voturile primite de la alte pagini, deci putem afirma că este un cerc vicios la care apare şi întrebarea "care a fost mai întâi oul sau găina?" adică care sit poate fi considerat ca si punct de plecare. Important este faptul să înţelegem, un vot se consideră vot numai în momentul în care Page Rankul sitului care te votează este deja clarificat.
Dacă ne gândim în acest fel, la prima vedere pare aproape o problemă imposibil de rezolvat.
Dar în realitate nu este atât de complicat, să ne amintim de observaţiile făcut de către Google însuşi : (În traducere ar ieşi ceva de genul:)
"Page Rankul poate fi calculat folosind doar un algoritm interactiv simplu, care se află în legătură permanentă cu vectorul principal al matricelor nominalizante din Web. "
Ceea ce ne spune afirmaţia de mai sus, este că putem calcula Pr-ul unui sit fără a şti valorile finale, sau Pr-ul siturilor care te votează. Acesta pare destul de ciudat, dar în esenţă, cu fiecare rezultat obţinut de pe urma calculelor ajungem mai aproape de valorea finală estimată.
Deci în consecinţă ceea ce trebuie să facem, ar fi doar să memorăm fiecare calcul efectuat şi să repetăm calculul până în momentul în care valorile nu arată schimbări majore între ele. Să luăm un exemplu:
Avem doua pagini diferite şi fiecare conţine câte un link către celălalt (vezi exemplul din imagine)
Fiecare pagina având câte un link către celălalt :
L(A)=1
L(B)=1
Neştiind de unde porneşte exact Pr-ul, să folosim termenul de pornire sau etalon PrpornireA,B =1.0 şi vom folosi variabila "s" .
"s" reprezentând suma totală a voturilor obţinute, acesta fiind un număr în continuă creştere, iar pentru a opri creşterea acestuia, vom folosi metoda de reducere adică o variabilă a cărui valoare este de 0.9
Prpornire= 1
s = 0.9
Pr(A) = (1-s) + (s(Pr(B)/1) Pr(A) = (1-0.9) + (0.9 PR(B))
PR(A) = 0.1 + 0.9 = 1
Pr(B) = (1 - s) + (s(Pr(A)/1) Pr(B) = (1-0.9) + (0.9 PR(A))
PR(B) = 0.1 + 0.9 =1
În cazul ambelor situri rezultatul este de 1, dar acesta fiind un exemplu prea uşor, vom realiza câteva calcule când Prpornire are valoarea de 0.
Ecuaţiile vor arăta în felul următor:
Prpornire = 0
s = 0.9
Pr(A) = (1-s) + (s(Pr(B)/1) Pr(A) = (1-0.9) + (0.9 PR(B))
PR(A) = 0.1 + 0 = 0.1
Nota: am calculat valoarea la Pr(A) pe care-l vom folosi la calculul valorii Pr(B)
Pr(B) = (1 - s) + (s(Pr(A)/1) Pr(B) = (1-0.9) + (0.9 PR(A))
PR(B) = 0.1 + (0.9 * 0.1) = 0.19
Repetăm calculele:
Pr(A) = (1-s) + (s(Pr(B)/1) Pr(A) = (1-0.9) + (0.9 PR(B))
PR(A) = 0.1 + 0.19 = 0.29
Notă: am calculat valoarea la Pr(A) pe care o vom folosi la calculul valorii Pr(B)
Pr(B) = (1 - s) + (s(Pr(A)/1) Pr(B) = (1-0.9) + (0.9 PR(A))
PR(B) = 0.1 + (0.9 * 0.29) = 0.361
repetăm calculele din nou:
Pr(A) = (1-s) + (s(Pr(B)/1) Pr(A) = (1-0.9) + (0.9 PR(B))
PR(A) = 0.1 + 0.29 = 0.39
Notă: am calculat valoarea la Pr(A) pe care o vom folosi la calculul valorii Pr(B)
Pr(B) = (1 - s) + (s(Pr(A)/1) Pr(B) = (1-0.9) + (0.9 PR(A))
PR(B) = 0.1 + (0.9 * 0.39) = 0.451
Am putea continua cu repetarea calculelor şi vom observa o oarecare creştere de fiecare dată, întrebarea care rămâne ar fii: Oare creşterea se va opri când ajungem la valoarea de 1?
Răspunsul la întrebarea de mai sus este destul de simplă. Să luăm ca şi valoare de pornire pentru Pr(A) şi PR(B) valoarea de 27.
Pr(A)= PR(B)= 27
s = 0.9
Pr(A) = (1-s) + (s(Pr(B)/1) Pr(A) = (1-0.9) + (0.9 PR(B))
PR(A) = 0.1 + (0.9 * 27) = 24.4
Notă: am calculat valoarea la Pr(A) pe care o vom folosi la calculul valorii Pr(B)
Pr(B) = (1 - s) + (s(Pr(A)/1) Pr(B) = (1-0.9) + (0.9 PR(A))
PR(B) = 0.1 + (0.9 * 24.4) = 22.06
repetăm calculele din nou:
Pr(A) = (1-s) + (s(Pr(B)/1) Pr(A) = (1-0.9) + (0.9 PR(B))
PR(A) = 0.1 + (0.9 * 22.06) = 19.954
Notă: am calculat valoarea la Pr(A) pe care-l vom folosi la calculul valorii Pr(B)
Pr(B) = (1 - s) + (s(Pr(A)/1) Pr(B) = (1-0.9) + (0.9 PR(A))
PR(B) = 0.1 + (0.9 * 19.954) = 18.0586
Nu are rost să repetăm calculele până la infinit, deoarece se poate observa că rezultatele coboară cu fiecare calcul, apropiindu-se de valoarea 1.
Trebuie să înţelegem, că indiferent care ar fi valoarea de pornire aleasă pentru Pr de către noi, valorile vor tinde către 1.