A fim de obter resultados melhores em suas buscas, o mecanismo de busca do Google se utiliza da estrutura de links da Internet para calcular um ranking para cada página. Este ranking foi denominado PageRank. Ou seja, o PageRank é um valor numérico que representa a importância de uma página na web. Quando um link de uma página A aponta para outra B, é como se B recebesse um voto de A. Quanto mais “votos” uma página recebe, mais importante ela deve ser. Além disso, a importância de uma página determina também o peso do seu “voto”. O PageRank é um dos fatores que vai determinar a posição de uma página nos resultados de uma busca.
Cálculo do PageRank
O PageRank de uma página A é calculado baseado no número de links que entram, no número de links que saem e em um fator de “dissipação” d.
PR(A) = (1-d) + d(PR(t1)/C(t1) + ... + PR(tn)/C(tn))
Pode-se imaginar que o PageRank seja um modelo de comportamento do usuário. Assume-se que exista um usuário que navega aleatoriamente pela web e vai clicando por links que encontra, nunca clicando em “back”. Eventualmente o usuário fica entediado e começa em uma outra página aleatória. A probabilidade de uma página ser visitada por esse usuário aleatório é o PageRank da página. O fator de dissipação “d” seria a probabilidade de uma página entediar um usuário e este navegar por uma nova página aleatória.
Um exemplo:
Neste caso temos a seguinte estrutura: Temos 3 páginas A,B e C tal que A aponta para B e C. A página B aponta para A e a página C aponta para A e B. Vamos calcular o PageRank dessas páginas assumindo como valor inicial de cada uma como 1. Esse valor inicial é impreciso, mas conforme iteramos, chegamos à valores mais próximos dos reais.
Numa primeira iteração teríamos o seguinte resultado:
PR(A) = 0,15 + 0,85 * (1/1 + 1/2) = 1,425
PR(B) = 0,15 + 0,85 * (1/2 + 1/2) = 1
PR(C) = 0,15 + 0,85 * (1/2 + 0) = 0,575
Calculando novamente obtemos:
PR(A) = 0,15 + 0,85 * ( 1/1 + 0,575/2 ) = 1,2444
PR(B) = 0,15 + 0,85 * ( 1,425/2 + 0,575/2 ) = 1
PR(C) = 0,15 + 0,85 * ( 1,425/2 + 0) = 0,7556
Após cem iterações:
PR(A) = 1,298245
PR(B) = 0,999999
PR(C) = 0,7017543
Percebemos que o PageRank total da estrutura continua com o valor 3.