Este documento apresenta um resumo sobre detecção de estruturas de comunidades em redes complexas. Discute conceitos básicos como grafos, redes complexas e suas propriedades. Apresenta algoritmos para detecção de comunidades como corte mínimo e o algoritmo de Blondel, que é eficiente e hierárquico. Finalmente, discute métricas para avaliação de partições em comunidades como cobertura e performance.
Detecção de estruturas de comunidades em redes complexas
1. DETECÇÃO DE ESTRUTURAS DE
COMUNIDADES EM REDES COMPLEXAS
SEMINÁRIO 6
GABRIEL MENDONÇA
MARCELO MACHADO
RAFAEL DAHIS
RENAN VASCONCELOS
Inteligência Computacional
2. Redes Complexas for Dummies
Rede = elementos conectados
Matematicamente: grafos
G = ( V , E )
MAX
Tipos de Redes:
Sociais
Biológicas
de Informação
MIN
Tecnológicas
3. Redes Complexas for Dummies
O que são Redes Complexas ?
Grafos de larga-escala
Apresentam propriedades comuns
MAX
MIN
4. Redes Complexas for Dummies
O que são Redes Complexas ?
Grafos de larga-escala
Apresentam propriedades comuns
Efeito Small-World
MAX
Transitividade
Distribuição de graus
Estruturas de comunidade
MIN
5. Redes Complexas for Dummies
Modelos de Grafos
Grafos Aleatórios (Ërdos)
N vértices
Arestas são incluídas seguindo uma distribuição de
probabilidade
6. Redes Complexas for Dummies
Modelos de Grafos
Grafos Aleatórios (Ërdos)
N vértices
Arestas são incluídas seguindo uma distribuição de
probabilidade
Bonito, mas na prática...
Utilidade como benchmark
MIN
7. Redes Complexas for Dummies
Modelos de Grafos
Scale-free networks (Barabási)
Distribuição de graus segue lei de potência
Ligações preferenciais
8. Análise de Agrupamentos
Objetivo:
Encontrar grupos que caracterizem a separação dos dados
Distância entre
MAX registros de
grupos
diferentes
Distância entre
registros do
MIN mesmo grupo
9. Estruturas de Comunidade
Objetivo:
Encontrar conjuntos de vértices, de forma que:
Somatório dos
MAX pesos das
arestas inter-
comunidades
Somatório dos
pesos das
MIN arestas intra-
comunidade
10. Algoritmos
Tipos:
Divisivos
Eliminar arestar inter-clusteres
Aglomerativos
Bottom-Up – agrupa vértices próximos
Via otimização
Há uma função a ser otimizada
11. Algoritmos
Abordagem do Corte-Mínimo
Retirar arestas até que o grafo se torne desconexo
12. Algoritmos
Abordagem do Corte-Mínimo
Retirar arestas até que o grafo se torne desconexo
Nem sempre é uma boa solução
13. Algoritmo de Blondel
Aglomerativo
Une vértices pela análise do ganho de modularidade
Bastante eficiente
Limite de número de vértices somente ditado pela capacidade de
armazenamento
14. Algoritmo de Blondel
Início: cada nó tem sua comunidade
Para cada nó n:
Analisam-se todos os vizinhos v
Qual é o ganho na modularidade se retirarmos n de sua
comunidade, e o incluírmos na comunidade de v ?
A operação feita é aquela que proporcionar maior ganho
positivo.
Processo se repete até que não seja possível aumentar o ganho
15. Algoritmo de Blondel
Ganho de modularidade (ao mover nó i para comunidade C):
in ki,in tot ki in tot ki 2
2 2
Q
2m 2m 2m 2m 2m
= somatório dos pesos das arestas dentro da comunidade C
= somatório dos pesos das arestas que tem como destino um nó que pertença a C
ki = somatório dos pesos das arestas que tem como destino o nó i
ki,in = somatório dos pesos das arestas que vão de i para os nós que pertençam a C
m = somatório dos pesos de TODAS as arestas do grafo
16. Algoritmo de Blondel
Segunda Etapa:
Criado um novo grafo...
Cada nó representa uma comunidade
Há uma aresta entre A e B se as comunidades A e B
possuem nós com arestas entre si.
Peso da aresta = somatório dos pesos dessas arestas
Volta-se a primeira etapa
E assim por diante...
18. Algoritmo de Blondel
Observações:
É criada uma hierarquia de partições
Ordem de análise dos nós
Afeta modularidade, mas de maneira desprezível
Pode afetar o tempo de execução
19. Modularidade
Valores: [-1,1]
Qualidade das partições.
Densidade de arestas dentro de uma mesma comunidade e
arestas entre comunidades diferentes.
20. Métricas de Avaliação
Coverage (C): m(C )
m(C ) m(C )
Arestas intra-cluster / total de arestas
m(C ) {v , w}E ,vC , wC 1
i j ,i j
Performance (C):
1
n(n 1)
2
(Pares intra-cluster + pares não-vizinhos inter-cluster ) / total possível de pares
21. Software
Network Workbench Tool
Análise, modelagem e visualização de redes complexas.
22. Referências
□ BLONDEL, V. D.; GUILLAUME, J. L.; LAMBIOTTE, R.;
LEFEBVRE, E. Fast unfolding of communities in large
networks, 2008.
NEWMAN, M.E.J.; The structure and function of complex
networks, SIAM Review 45, 167–256 (2003).
Slides de Graph Clustering – Prof. Tsaparas, Univ. Helsinki
Documentação do software Network Workbench