INF 1010
Estruturas de Dados Avançadas
A Web como um Grafo
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 de uma página, ou seja,
Quantos links apontam 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 outra?
–  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
(Power Laws)
•  Power Law
–  Uma variável ou distribuição de probabilidade F(x) segue uma power law
se e somente se
F(x) ∝ x-λ
para x > x0
onde λ é chamado de expoente da power law
(Power Laws)
•  Frequência de palavras em textos [Yule, 1944]
•  Análise de citações [Lotka, 1926]
•  Zipf human behavior and the principle of least effort [Zipf,
1947]
•  Cours d’economie politique [Pareto,1897]
•  …
Estatísticas sobre o Grafo da Web
•  Distribuição do grau de entrada (saída) das páginas
–  Segue uma power law
Estatísticas sobre o Grafo da Web
•  Distribuição do tamanho dos componentes
–  Segue uma power law
Aplicações
•  Mineração de dados
–  Comunidades
•  Busca
–  PageRank
Comunidades
•  Comunidades explícitas
–  Redes sociais
–  Mailing lists
•  Comunidades implícitas
–  Exemplo: Empresas de um ramo econômico
–  Há ordens de magnitude mais comunidades implícitas
do que explícitas
–  Definidas por graph cores
–  Exemplo: “Acoplamento Bibliográfico”
•  Páginas co-citadas estão relacionadas
•  Páginas com grande superposição de referências bibliográficas estão
relacionadas
Comunidades
•  Graph Cores
–  Um graph core de um grafo é um subgrafo bipartido completo
K ( 3, 3 )
PageRank
•  PageRank [Page et al. 1999]
–  Criado por Sergey Brin and Larry Page
–  Aproveita a estrutura de hyperlinks 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 PageRanks das páginas que apontam para p
dividido pelo número de links de cada página de origem
PageRank
•  Iterações do PageRank página
–  A precisão do PageRank de cada página aumenta
a cada iteração
–  O algoritmo pára após X iterações ou
até que a precisão do Rank seja suficiente
PageRank
•  Convergência e escalabilidade
–  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)
PageRank
•  Modelo simples
–  Vetor de Origem: representa todas as páginas
–  Vetor de Destino: representa todas as páginas que são referenciadas
–  Matriz de adjacência: representa a estrutura de links
Referência básica
Ravi Kumar , Prabhakar Raghavan , Sridhar Rajagopalan , D.
Sivakumar , Andrew S. Tomkins, Eli Upfal.
“The Web as a graph”.
Proceedings of the Nineteenth ACM SIGMOD-SIGACT-SIGART
Symposium on Principles of Database Systems, Pages 1 – 10.
Download

O Grafo da Web - PUC-Rio