SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
O algoritmo PageRank do Google
Prof. Miguel Frasson
Depto. de Matem´atica Aplicada e Estat´ıstica – SME
ICMC-USP
27 de novembro de 2015
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.
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.
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.
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.
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
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, . . . .
Exemplo: Probabilidades para X1 e X2 dado que X0 = C
in´ıcio passo 1 passo 2
p(E) = 0
p(D) = 0
p(B) = 0
p(A) = 0
p(C) = 0
p(D) = 0
p(E) = 0
p(C) = 1
p(A) = 1
3
p(B) = 1
3
p(E) = 1
3
p(A) = 1
6
p(B) = 1
3 + 1
9 = 4
9
p(C) = 1
6 + 1
9 = 5
18
p(D) = 1
9
1
3
× 1
1
3
× 1
2
1
3
× 1
3
1
3
Agora com matrizes
Matriz de Markov
P = (pij ), pij = P(Xn = i|Xn−1 = j).
pij ∈ [0, 1], ∀i, j ∈ #T
∀j ∈ T,
i∈T
pij = 1.
A matriz de Markov de um processo de Markov chama-se
matriz de transi¸c˜ao.
A
B
C
D
E
P =








0 1
2
1
3 1 0
1 0 1
3 0 1
3
0 1
2 0 0 1
3
0 0 0 0 1
3
0 0 1
3 0 0








Exemplo: Probabilidades para X1 e X2 dado que X0 = C
In´ıcio: v0 =






0
0
1
0
0






Passo 1: v1 = Pv0 =








0 1
2
1
3 1 0
1 0 1
3 0 1
3
0 1
2 0 0 1
3
0 0 0 0 1
3
0 0 1
3 0 0














0
0
1
0
0






=








1
3
1
3
0
0
1
3








Exemplo: Probabilidades para X1 e X2 dado que X0 = C
Passo 2: v2 = Pv1 = P2v0








1
2
1
6
1
6 0 11
18
0 2
3
4
9 1 1
9
1
2 0 5
18 0 1
6
0 0 1
9 0 0
0 1
6 0 0 1
9














0
0
1
0
0






=








1
6
4
9
5
18
1
9
0








...
Passo n: 3a coluna de Pn.
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.
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.
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
.
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.
Hip´oteses (razo´aveis) para as redes
Hip´oteses
Suponha que o ´unico autovalor com |λ| = 1 seja 1.
Suponha que dim V (1) = 1.
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)
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.
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∞ !!
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.
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
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.

Mais conteúdo relacionado

Semelhante a O algoritmo PageRank do Google

Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em Crodolfoeyalana
 
Introdução ao Cálculo Numérico S06
Introdução ao Cálculo Numérico S06Introdução ao Cálculo Numérico S06
Introdução ao Cálculo Numérico S06Paulo Nascimento
 
Ger numaleat(1)
Ger numaleat(1)Ger numaleat(1)
Ger numaleat(1)Iago Lira
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmosRicardo Bolanho
 
Listadeexercicios
ListadeexerciciosListadeexercicios
Listadeexerciciostiago4500
 
Redes neurais com matlab
Redes neurais com matlabRedes neurais com matlab
Redes neurais com matlabRenato Vicente
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dadosgjpbg
 
Apostila estrutura de dados 2
Apostila estrutura de dados 2Apostila estrutura de dados 2
Apostila estrutura de dados 2Leandro Lopes
 
Desigualdade de Kraft e Aplicações
Desigualdade de Kraft e AplicaçõesDesigualdade de Kraft e Aplicações
Desigualdade de Kraft e AplicaçõesCarlos Campani
 
Booklet reais
Booklet reaisBooklet reais
Booklet reaispm3d
 
Teoria_da_Computacao_Eng_LFA_Aula09.pptx
Teoria_da_Computacao_Eng_LFA_Aula09.pptxTeoria_da_Computacao_Eng_LFA_Aula09.pptx
Teoria_da_Computacao_Eng_LFA_Aula09.pptxDeboraMateus3
 

Semelhante a O algoritmo PageRank do Google (20)

Revisao 2 2019.pdf
Revisao 2 2019.pdfRevisao 2 2019.pdf
Revisao 2 2019.pdf
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em C
 
Modulo ii
Modulo iiModulo ii
Modulo ii
 
Introdução ao Cálculo Numérico S06
Introdução ao Cálculo Numérico S06Introdução ao Cálculo Numérico S06
Introdução ao Cálculo Numérico S06
 
Apostila3
Apostila3Apostila3
Apostila3
 
Complexidade algoritmos
Complexidade algoritmosComplexidade algoritmos
Complexidade algoritmos
 
Math
MathMath
Math
 
Ger numaleat(1)
Ger numaleat(1)Ger numaleat(1)
Ger numaleat(1)
 
Cálculo usando MatLab
Cálculo usando MatLabCálculo usando MatLab
Cálculo usando MatLab
 
000 sintese algebra
000 sintese algebra000 sintese algebra
000 sintese algebra
 
Apostila 1 calculo i
Apostila 1 calculo iApostila 1 calculo i
Apostila 1 calculo i
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
 
Listadeexercicios
ListadeexerciciosListadeexercicios
Listadeexercicios
 
Redes neurais com matlab
Redes neurais com matlabRedes neurais com matlab
Redes neurais com matlab
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Apostila estrutura de dados 2
Apostila estrutura de dados 2Apostila estrutura de dados 2
Apostila estrutura de dados 2
 
Desigualdade de Kraft e Aplicações
Desigualdade de Kraft e AplicaçõesDesigualdade de Kraft e Aplicações
Desigualdade de Kraft e Aplicações
 
Booklet reais
Booklet reaisBooklet reais
Booklet reais
 
Pesquisa sequencial
Pesquisa sequencialPesquisa sequencial
Pesquisa sequencial
 
Teoria_da_Computacao_Eng_LFA_Aula09.pptx
Teoria_da_Computacao_Eng_LFA_Aula09.pptxTeoria_da_Computacao_Eng_LFA_Aula09.pptx
Teoria_da_Computacao_Eng_LFA_Aula09.pptx
 

Mais de Alexandre Grossi

Procedimentos de rotina para recuperação, verificação e substituição de ater...
Procedimentos de rotina para recuperação, verificação e substituição  de ater...Procedimentos de rotina para recuperação, verificação e substituição  de ater...
Procedimentos de rotina para recuperação, verificação e substituição de ater...Alexandre Grossi
 
Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)
Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)
Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)Alexandre Grossi
 
Análise preditiva em cabos de média tensão
Análise preditiva em cabos de média tensão Análise preditiva em cabos de média tensão
Análise preditiva em cabos de média tensão Alexandre Grossi
 
DTMC - Equipamentos Elétricos / SE - Células Funcionais e de Suporte
DTMC - Equipamentos Elétricos / SE - Células Funcionais e de SuporteDTMC - Equipamentos Elétricos / SE - Células Funcionais e de Suporte
DTMC - Equipamentos Elétricos / SE - Células Funcionais e de SuporteAlexandre Grossi
 
Estudo Técnico - Retrofit Painel BT
Estudo Técnico - Retrofit Painel BTEstudo Técnico - Retrofit Painel BT
Estudo Técnico - Retrofit Painel BTAlexandre Grossi
 
Pinturas Intumescentes em cabos MT
Pinturas Intumescentes em cabos MTPinturas Intumescentes em cabos MT
Pinturas Intumescentes em cabos MTAlexandre Grossi
 
Programação para engenharia - aspectos teóricos e computacionais
Programação para engenharia - aspectos teóricos e computacionaisProgramação para engenharia - aspectos teóricos e computacionais
Programação para engenharia - aspectos teóricos e computacionaisAlexandre Grossi
 
Produtividade: uma relação da capacidade produtiva e previsão de demanda
Produtividade: uma relação da capacidade produtiva e previsão de demandaProdutividade: uma relação da capacidade produtiva e previsão de demanda
Produtividade: uma relação da capacidade produtiva e previsão de demandaAlexandre Grossi
 
Análise de Falhas em Sistemas modelados
Análise de Falhas em Sistemas modeladosAnálise de Falhas em Sistemas modelados
Análise de Falhas em Sistemas modeladosAlexandre Grossi
 
Dimensionamento Ótimo de Reserva Técnica de Transformadores de Subestações
Dimensionamento Ótimo de Reserva Técnica de Transformadores de SubestaçõesDimensionamento Ótimo de Reserva Técnica de Transformadores de Subestações
Dimensionamento Ótimo de Reserva Técnica de Transformadores de SubestaçõesAlexandre Grossi
 
Simulated Annealing- Uma Análise
Simulated Annealing- Uma AnáliseSimulated Annealing- Uma Análise
Simulated Annealing- Uma AnáliseAlexandre Grossi
 
Nr10/SEP - Segurança em instalações e serviços com eletricidade
Nr10/SEP - Segurança em instalações e serviços com eletricidadeNr10/SEP - Segurança em instalações e serviços com eletricidade
Nr10/SEP - Segurança em instalações e serviços com eletricidadeAlexandre Grossi
 
Relatório técnico Iluminação Oficina Central
Relatório técnico   Iluminação Oficina Central Relatório técnico   Iluminação Oficina Central
Relatório técnico Iluminação Oficina Central Alexandre Grossi
 
MEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPO
MEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPOMEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPO
MEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPOAlexandre Grossi
 
Proficiência Engenheiro Eletricista - Alexandre Grossi
Proficiência Engenheiro Eletricista - Alexandre GrossiProficiência Engenheiro Eletricista - Alexandre Grossi
Proficiência Engenheiro Eletricista - Alexandre GrossiAlexandre Grossi
 
Técnicas de Inspeção e Procedimentos para Testes - Cabos Elétricos
 Técnicas de Inspeção e Procedimentos para Testes - Cabos Elétricos Técnicas de Inspeção e Procedimentos para Testes - Cabos Elétricos
Técnicas de Inspeção e Procedimentos para Testes - Cabos ElétricosAlexandre Grossi
 
Relatorio inspeçao e testes disjuntores mdvp4 siemens
Relatorio inspeçao e testes disjuntores mdvp4 siemensRelatorio inspeçao e testes disjuntores mdvp4 siemens
Relatorio inspeçao e testes disjuntores mdvp4 siemensAlexandre Grossi
 
Diagnóstico de Falhas em Cabos MT - Parecer Técnico
Diagnóstico de Falhas em Cabos MT - Parecer TécnicoDiagnóstico de Falhas em Cabos MT - Parecer Técnico
Diagnóstico de Falhas em Cabos MT - Parecer TécnicoAlexandre Grossi
 

Mais de Alexandre Grossi (20)

Procedimentos de rotina para recuperação, verificação e substituição de ater...
Procedimentos de rotina para recuperação, verificação e substituição  de ater...Procedimentos de rotina para recuperação, verificação e substituição  de ater...
Procedimentos de rotina para recuperação, verificação e substituição de ater...
 
Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)
Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)
Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)
 
Análise preditiva em cabos de média tensão
Análise preditiva em cabos de média tensão Análise preditiva em cabos de média tensão
Análise preditiva em cabos de média tensão
 
DTMC - Equipamentos Elétricos / SE - Células Funcionais e de Suporte
DTMC - Equipamentos Elétricos / SE - Células Funcionais e de SuporteDTMC - Equipamentos Elétricos / SE - Células Funcionais e de Suporte
DTMC - Equipamentos Elétricos / SE - Células Funcionais e de Suporte
 
Estudo Técnico - Retrofit Painel BT
Estudo Técnico - Retrofit Painel BTEstudo Técnico - Retrofit Painel BT
Estudo Técnico - Retrofit Painel BT
 
Pinturas Intumescentes em cabos MT
Pinturas Intumescentes em cabos MTPinturas Intumescentes em cabos MT
Pinturas Intumescentes em cabos MT
 
Programação para engenharia - aspectos teóricos e computacionais
Programação para engenharia - aspectos teóricos e computacionaisProgramação para engenharia - aspectos teóricos e computacionais
Programação para engenharia - aspectos teóricos e computacionais
 
Produtividade: uma relação da capacidade produtiva e previsão de demanda
Produtividade: uma relação da capacidade produtiva e previsão de demandaProdutividade: uma relação da capacidade produtiva e previsão de demanda
Produtividade: uma relação da capacidade produtiva e previsão de demanda
 
Disjuntor / Chave Joslyn
Disjuntor / Chave Joslyn Disjuntor / Chave Joslyn
Disjuntor / Chave Joslyn
 
Análise de Falhas em Sistemas modelados
Análise de Falhas em Sistemas modeladosAnálise de Falhas em Sistemas modelados
Análise de Falhas em Sistemas modelados
 
Modelamento de uma FTA
Modelamento de uma FTAModelamento de uma FTA
Modelamento de uma FTA
 
Dimensionamento Ótimo de Reserva Técnica de Transformadores de Subestações
Dimensionamento Ótimo de Reserva Técnica de Transformadores de SubestaçõesDimensionamento Ótimo de Reserva Técnica de Transformadores de Subestações
Dimensionamento Ótimo de Reserva Técnica de Transformadores de Subestações
 
Simulated Annealing- Uma Análise
Simulated Annealing- Uma AnáliseSimulated Annealing- Uma Análise
Simulated Annealing- Uma Análise
 
Nr10/SEP - Segurança em instalações e serviços com eletricidade
Nr10/SEP - Segurança em instalações e serviços com eletricidadeNr10/SEP - Segurança em instalações e serviços com eletricidade
Nr10/SEP - Segurança em instalações e serviços com eletricidade
 
Relatório técnico Iluminação Oficina Central
Relatório técnico   Iluminação Oficina Central Relatório técnico   Iluminação Oficina Central
Relatório técnico Iluminação Oficina Central
 
MEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPO
MEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPOMEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPO
MEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPO
 
Proficiência Engenheiro Eletricista - Alexandre Grossi
Proficiência Engenheiro Eletricista - Alexandre GrossiProficiência Engenheiro Eletricista - Alexandre Grossi
Proficiência Engenheiro Eletricista - Alexandre Grossi
 
Técnicas de Inspeção e Procedimentos para Testes - Cabos Elétricos
 Técnicas de Inspeção e Procedimentos para Testes - Cabos Elétricos Técnicas de Inspeção e Procedimentos para Testes - Cabos Elétricos
Técnicas de Inspeção e Procedimentos para Testes - Cabos Elétricos
 
Relatorio inspeçao e testes disjuntores mdvp4 siemens
Relatorio inspeçao e testes disjuntores mdvp4 siemensRelatorio inspeçao e testes disjuntores mdvp4 siemens
Relatorio inspeçao e testes disjuntores mdvp4 siemens
 
Diagnóstico de Falhas em Cabos MT - Parecer Técnico
Diagnóstico de Falhas em Cabos MT - Parecer TécnicoDiagnóstico de Falhas em Cabos MT - Parecer Técnico
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, . . . .
  • 8. Exemplo: Probabilidades para X1 e X2 dado que X0 = C in´ıcio passo 1 passo 2 p(E) = 0 p(D) = 0 p(B) = 0 p(A) = 0 p(C) = 0 p(D) = 0 p(E) = 0 p(C) = 1 p(A) = 1 3 p(B) = 1 3 p(E) = 1 3 p(A) = 1 6 p(B) = 1 3 + 1 9 = 4 9 p(C) = 1 6 + 1 9 = 5 18 p(D) = 1 9 1 3 × 1 1 3 × 1 2 1 3 × 1 3 1 3
  • 9. Agora com matrizes Matriz de Markov P = (pij ), pij = P(Xn = i|Xn−1 = j). pij ∈ [0, 1], ∀i, j ∈ #T ∀j ∈ T, i∈T pij = 1. A matriz de Markov de um processo de Markov chama-se matriz de transi¸c˜ao. A B C D E P =         0 1 2 1 3 1 0 1 0 1 3 0 1 3 0 1 2 0 0 1 3 0 0 0 0 1 3 0 0 1 3 0 0        
  • 10. Exemplo: Probabilidades para X1 e X2 dado que X0 = C In´ıcio: v0 =       0 0 1 0 0       Passo 1: v1 = Pv0 =         0 1 2 1 3 1 0 1 0 1 3 0 1 3 0 1 2 0 0 1 3 0 0 0 0 1 3 0 0 1 3 0 0               0 0 1 0 0       =         1 3 1 3 0 0 1 3        
  • 11. Exemplo: Probabilidades para X1 e X2 dado que X0 = C Passo 2: v2 = Pv1 = P2v0         1 2 1 6 1 6 0 11 18 0 2 3 4 9 1 1 9 1 2 0 5 18 0 1 6 0 0 1 9 0 0 0 1 6 0 0 1 9               0 0 1 0 0       =         1 6 4 9 5 18 1 9 0         ... Passo n: 3a coluna de Pn.
  • 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.