PageRank é o nome dado ao algoritmo do Google que classifica todos os sites, a relação entre eles através de links e, de uma maneira geral, a relevância de uma página em relação a toda a web. O PageRank funciona basicamente calculando a relação através de links de uma página com outra e é a principal maneira do algoritmo do Google de avaliar matematicamente a relevância de uma página.
(https://www.conversion.com.br/otimizacao-de-sites-seo/pagerank/).
Material disponibilizado em : (www.icmc.usp.br/~frasson/AL/2015-2sem/frasson-google.pdf)
Diagnóstico de Falhas em Cabos MT - Parecer Técnico
O algoritmo PageRank do Google
1. O algoritmo PageRank do Google
Prof. Miguel Frasson
Depto. de Matem´atica Aplicada e Estat´ıstica – SME
ICMC-USP
27 de novembro de 2015
2. Hist´oria
Larry Page e Sergey Brin bolaram o algoritmo quando
estudavam na Universidade de Stanford (Calif´ornia) em 1998.
Page ´e o principal idealizador → PageRank em sua
homenagem.
Page e Brin iniciam o projeto do Google em 1994 e o fundam
em 1998.
A Universidade patenteou o algoritmo, mas a empresa
comprou o direito de uso.
3. Ideia
A importˆancia de um site ´e medida pela quantidade e
qualidade das liga¸c˜oes de outras p´aginas a uma p´agina
determinada.
Quanto mais p´aginas ligam-se a uma p´agina A, maior sua
pontua¸c˜ao.
Liga¸c˜oes de p´aginas com maior rank tˆem maior peso.
Liga¸c˜oes de uma p´agina a si mesma e repetidas liga¸c˜oes para
outras p´aginas s˜ao ignoradas.
Crit´erio imparcial, n˜ao leva em conta o que uma p´agina
parece pensar sobre sua importˆancia.
4. Ideia: internauta imparcial
Um interneuta imparcial (robˆo) inicia uma p´agina.
Segue uma liga¸c˜ao para uma outra p´agina, com igual
probabilidade de escolha.
Da´ı, segue novamente uma liga¸c˜ao para uma outra p´agina,
com igual probabilidade de escolha.
Repete esse processo um bom n´umero de vezes.
P´aginas mais importantes ser˜ao visitadas diversas vezes.
Calcula a m´edia de tempo que gastou na p´agina: esta ser´a
sua importˆancia, seu score PageRank.
5. Ferramentas matem´aticas
Grafos orientados.
Cadeias de Markov de probabilidades
→ matriz M cuja soma em cada coluna ´e igual a 1.
Estado estacion´ario → autovetor de M com autovalor de
maior magnitude.
C´alculo do autovetor por convergˆencia.
6. Rede em forma de grafo orientado
Cada p´agina ´e um n´o do grafo.
Cada p´agina externa ligada denota uma aresta no gr´afo.
Exemplo: rede com 5 p´aginas
A
B
C
D
E
7. Probabilidades
Cadeias de Markov
T → universo das p´aginas
(no exemplo: T = {A, B, C, D, E}).
Definimos N < ∞ como o n´umero de elementos em T.
Xn, n = 0, 1, 2, . . . s˜ao vari´aveis aleat´orias que tomam valores
em T.
A fam´ılia {Xn, n = 0, 1, 2, . . . } chama-se um processo aleat´orio.
{Xn} ´e uma cadeia de Markov se a probabilidade P(Xn = i),
i ∈ T, depender somente do valor do processo no passo
anterior, Xn−1, e n˜ao em qualquer dos passos anteriores Xn−2,
Xn−3, . . . .
12. Pn
´e tamb´em uma matriz de Markov
Como vimos, Pn tamb´em tem entradas entre 0 e 1 e a soma
das colunas ´e 1.
13. Estado estacion´ario
Atribua um estado aleat´orio para o passo inicial.
Conforme o internauta imparcial (robˆo) percorre as p´aginas
in´umeras vezes, a porcentagem de tempo em que passa em
cada p´agina tende a convergir a um vetor v∞.
Pnv0 → v∞, n → ∞
Aplicando P em cada membro do limite:
Pv∞ = P lim
n→∞
Pn
v0 = lim
n→∞
Pn+1
= v∞
Logo, o estado estacion´ario ´e autovetor de P associado a 1.
14. De fato, 1 ´e autovalor
Os polinˆomios caracter´ısticos de P e PT s˜ao o mesmo
pP(λ) = det(P−λI) = det(P−λI)T
= det(PT
−λI) = PPT (λ).
Logo, todo autovalor de P ´e tamb´em autovalor de PT .
Mas 1 ´e autovalor de PT com autovetor (1, 1, . . . , 1)T :
a i-´esima entrada de PT (1, 1, . . . , 1)T ´e a soma das entradas
da i-´esima linha de PT , que ´e a soma da i-´esima coluna de P,
que ´e 1. Logo
PT
(1, 1, . . . , 1)T
= (1, 1, . . . , 1)T
.
15. Os autovalores de P tˆem m´odulo 1
Suponha que algum autovalor λ de P satisfa¸ca |λ| > 1.
Seja v autovetor.
Anv = λnv.
Como λn cresce exponencialmente, para n grande, An teria
que ter entradas com m´odulo maior que 1.
Absurdo. Portanto todo autovalor λ de P satisfaz
|λ| 1.
16. Hip´oteses (razo´aveis) para as redes
Hip´oteses
Suponha que o ´unico autovalor com |λ| = 1 seja 1.
Suponha que dim V (1) = 1.
17. Aproximando v∞
Seja B = {v1, . . . , vN} uma base de RN, N = #T, tal que
[P]B esteja na forma canˆonica de Jordan.
Cada bloco de Jordan J(λi ; r) ´e da forma
J(λ; r) = λI + N
onde I e N tˆem dimens˜oes r × r, Nr = 0.
Se vk, vk+1, . . . vk+r−1 s˜ao os vetores da base B associados ao
bloco de Jordan, ent˜ao, para n > r
[P]Bvk+j = λvk+j + vk+j−1[P]2
Bvk+j = λ2
vk+j + λvk+j−1 + vk+j−2
...
[P]n
Bvk+j = λn−r
(λr
vk+j + · · · + vk+m)
18. Aproximando v∞
Assim, se |λ| < 1,
lim
n→∞
[P]n
Bvk+j = 0.
Seja v∞ o autovetor de λ = 1 com todas as entradas n˜ao
negativas e cuja soma das entradas ´e 1.
19. Aproximando v∞
Seja C a base canˆonica.
Seja v0 um vetor qualquer. Ent˜ao
[v0]B = α1v∞ + α2v2 + · · · + αNvN.
Se α1 = 0, (probabilidade de α1 = 0 ´e ´ınfima)
lim
n→∞
P[vn]C = lim
n→∞
Pn
[v0]C
= lim
n→∞
(MB
C [P]BMC
B)n
[v0]C
= lim
n→∞
MB
C [P]n
BMC
B[v0]C
= MB
C lim
n→∞
[P]n
B[v0]B
= MB
C α1[v∞]B = α1[v∞]C
que tamb´em ´e autovetor, mas com soma das entradas α1.
Dividindo por esta soma, encontramos v∞ !!
20. Exemplo: rede anterior com v0 = (0, 0, 1, 0, 0)T
Usando software para os c´alculos
P20
v0 =
10873758553
37192366944
21798409087
55788550416
12233707681
55788550416
2724497393
111577100832
25207081
344373768
≈
0.29236532779353
0.39073266690844
0.21928706857906
0.02441806941284
0.07319686730610
Este vetor j´a ´e bem pr´oximo do limite.
Os n´umeros nas linhas s˜ao a pontua¸c˜ao PageRank das
p´aginas.
Assim, o internauta imparcial passa
39% do tempo na p´agina B,
29% do tempo na p´agina A,
22% do tempo na p´agina C,
7% do tempo na p´agina E,
2% do tempo na p´agina D.
21. Resultados da busca
A p´agina do Google retorna as p´aginas relacionadas `a busca,
ordenadas por ordem decrescente de pontua¸c˜ao PageRank.
Suponha que o termo buscado “´algebra linear” apareca nas
p´aginas A, B e C:
Google
• B
• A
• C
Suponha que o termo buscado “´algebra linear” apareca nas
p´aginas C, D e E:
Google
• C
• E
• D
22. Coment´arios finais
Pode ocorrer que o robˆo fique preso numa sub-rede, por n˜ao
haver links para fora.
Para evitar isso, Page propˆos reserval algo em torno de 15%
de chance de pular para uma outra p´agina qualquer.
Assim, cada p´agina ter´a pelo menos 0.15
N de pontua¸c˜ao, onde
N ´e o n´umero de p´aginas indexadas na internet.