O Grafo da Web e
o Algoritmo de PageRank
Marco A. Casanova
(Based on material available at http://www.mmds.org)
Referências
• Ravi Kumar , Prabhakar Raghavan , Sridhar Rajagopalan , D.
Sivakumar , Andrew S. Tomkins, Eli Upfal. “The Web as a graph”.
Proc. of the 19th ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, Pages 1 – 10 (2000)
• Rajaraman, A.; Leskovec, J.; Ullman, J.D. Mining of Massive Datasets. Cambridge University Press (2019). ISBN:
9781107015357
– Available at http://www.mmds.org – Section 5.1 PageRank
2
Motivação
• Modelos baseados em grafos
– Abstrações de problemas centrais em computação
• Circuitos integrados, redes de comunicação de dados,…
– Abstrações para dados e seus relacionamentos
• A Web, Redes Sociais, Citações bibliográficas,…
• Problemas novos
– Alguns grafos são muito grandes!
• Indexação da Web: vários bilhões de páginas e links
• Indexação de chamadas telefônicas (quem telefonou para quem)
• Redes de sensores
O Grafo da Web
• Grafo da Web: W=(P,L)
P = Conjunto de nós
= Conjunto de páginas L = Conjunto de Arcos
= Conjunto de Links
O Grafo da Web
• Exemplos de problemas sobre o grafo da Web
– Tamanho
• Qual o número de nós e arcos?
• Qual o grau de entrada médio de uma página? Ou seja, Quantos links apontam em média para uma página?
– Conectividade
• Quais páginas estão linkadas entre si?
• Qual o número de clicks necessários para passar de uma página para uma outra página?
– Aplicações
• Como pesquisar e minerar dados na Web?
– Modelos
• O que o grafo da Web revela sobre processos sociais?
Configuração típica do grafo da Web
(Power Law)
• Definição: Uma variável ou distribuição de probabilidade F(x) segue uma power law se e somente se
F(x) µ x-l para x > x0 onde l é chamado de expoente da power law
Exemplo de uma power law: ranking de popularidade
• Direita: cauda longa – grande número de ocorrências longe da parte central
• Esquerda: ocorrências que dominam o ranking
• (também conhecida como regra dos 80–20).
(Power Law)
• Exemplos
– Cours d’economie politique – Análise de citações
– Frequência de palavras em textos
– Zipf human behavior and the principle of least effort – …
(Power Law)
• Exemplos
– Cours d’economie politique [Pareto,1897]
– Análise de citações [Lotka, 1926]
– Frequência de palavras em textos [Yule, 1944]
– Zipf human behavior and the principle of least effort [Zipf, 1947]
– …
Estatísticas sobre o Grafo da Web
• Distribuição do grau de entrada (ou de saída) das páginas
– Segue uma power law
Estatísticas sobre o Grafo da Web
• Distribuição do tamanho das componentes conexas
– Segue uma power law
PageRank
• PageRank [Page et al. 1999]
– Algoritmo criado por Sergey Brin and Larry Page – Aproveita a estrutura de links da Web:
“páginas como mais links apontando para elas são mais importantes”
– Independe de buscas
PageRank
• PageRank [Page et al. 1999]
– Algoritmo criado por Sergey Brin e Larry Page – Aproveita a estrutura de links da Web:
“páginas como mais links apontando para elas são mais importantes”
– Independe de buscas
– Sucesso empresarial da Google
PageRank
• PageRank de uma página p
– soma dos page ranks das páginas que apontam para p,
dividido pelo número de links chegando em cada página de origem
PageRank
• Modelo simples
– Vetor de Origem: representa uma nova estimativa do PageRange atual das páginas
– Vetor de Destino: representa uma nova estimativa do PageRange das páginas – Matriz de adjacência: representa o grafo da Web
• a linha da página P representa os hyperlinks saindo de P
PageRank
• Iterações do algoritmo PageRank
– A precisão do PageRank de cada página aumenta a cada iteração do algoritmo
– O algoritmo para após um “certo número” de iterações ou até que a precisão dos PageRanks seja suficiente
PageRank
• Iterações do algoritmo PageRank
– Envolvem estimar o vetor v do PageRank e computar a próxima estimativa v′, usando a equação
• β é uma constante ligeiramente menor do que 1
• e é um vetor de 1’s
• n é o número de nós
– Interpretação
• βMv representa o caso em que, com probabilidade β, o random surfer decide seguir um link de saída da página atual
• (1−β)e/n é um vetor com todos os componentes iguais a (1−β)/n e representa a introdução, com probabilidade 1 − β,
de um novo random surfer em uma página escolhida aleatoriamente
PageRank
• Convergência e escalabilidade do algoritmo PageRank
– o PageRank converge após um “certo número” de iterações – o PageRank escala para um número muito grande de páginas
• o fator de escalabilidade é aproximadamente linear em log(n)
O que vem a seguir?
• 5.2 Efficient Computation of PageRank
19