Redes de Computadores Camada de Aplicação Teoria de Redes Complexas: Conceitos Básicos em Grafos
Redes de Computadores
Camada de AplicaçãoTeoria de Redes Complexas:
ConceitosBásicos em Grafos
Introdução
Como as “coisas” estão conectadas?
Redes!
“A network is a set of vertices or nodes provided with some rule to connect them by edges”
Diferentes áreas,diferentes nomes
Vértice, nó, ator, ....
Arco, enlace, ligação, ...
Redes Complexas?
Rede complexa é uma rede (grafo) com características topológicas não-triviais, com padrões de conectividade (espacial e temporal) entre seus elementos que não são nem puramente regulares nem puramente aleatórios
Redesrepresentativas?
biológicasfísicassociaistecnológicas ...
Redes Sociais
Co-autores
Redes Sociais
Pessoas Conhecidas
Redes SociaisExperimento “small-world” (Milgram, 1969)
● Análise do “número de saltos” em uma rede de pessoas conhecidas
● Idéia: pessoas deveriam selecionar um conhecido
que poderia encaminhar uma carta ao destino final● Muitas cartas se perderam
● 25% chegaram ao destino, após passar, em média,
por 6 pessoas - Six Degree of Separation
Redes Complexas e Redes de Computadores
AplicaçãoAplicação
InterconectividadeInterconectividade
redes sociais online, P2P,distribuição de informação
topologia, mobilidade
Internet
Topologia intra- e inter-domínio
Web
Redes de Emails
padrão de conectividade:pode caracterizar
comportamento anômalo (p.ex. spammer)?
P2P
Redes para
• compartilhamento de arquivos
• streaming de áudio / vídeo
Redes Sociais on line
Como
• usuários estão conectados?
• informação flui?
• detectar comunidades de interesse?
• detectar comportamentos específicos?
(Amostragem Redes Complexas)
● Um dos grandes desafios da área● Como caracterizar um sistema, com alguns
dados
sem ser biased?
O que veremos...
• principais métricas relevantes para análisede redes complexas
• principais modelos para caracterizaçãode redes complexas
• objetivo: compreensão da estrutura e impacto na funcionalidade
Grafos: conceitos básicos e métricas
Definição de termos básicos em um grafo qualquer, nos quais as propriedades de
redes complexas são baseadas
Definição de Rede
Uma rede é um conjunto de vértices ou nós, com conexões entre eles, chamadas arestas
Uma rede é representada matematicamente através de
um grafo
Grafos• Um grafo é definido pelo par G = (V,E)
• V = conjunto de objetos
• chamaremos de nós ou vértices
• E = conjunto de pares não ordenados
• chamaremos de arestas
• Exemplo G = (V,E)
• V = {1,2,3,4}
• E = {(1,2), (1,3), (2,3), (3,4)}
GrafosArestas
• direcionada: definida em uma única direção
• Arestas direcionadas, chamadas em alguns casos de arcos, são representadas por setas que definem a sua orientação
• não direcionada: definida em ambas direções Um grafo é direcionado (ou digrafo) se todas as arestas são direcionadas
=
Grau
• Grau de um nó v: kv
• Número total de arestas conectadas a um nó
• Nos casos onde existe somente uma aresta entre
cada par de nós, o grau é o número total de vizinhos
• Exemplo G = (V,E)V = {1,2,3,4}E = {(1,2), (1,3), (2,3), (3,4)}
k2 = 2; k4 = 1
Distribuição do grau• Distribuição do grau dos nós
• frequência relativa do grau
• A distribuição do grau dos nós é uma das principais propriedades que caracteriza o modelo usado para representar redes complexas
• Ex: Binomial/Poisson (grafos aleatórios), power-law (scale-free)
Fração de nós com grau k
Distribuição do grau
Fonte: Linked: The New Science of Networks, A. Barabási, 2002
Grafo Aleatório Scale-free
Grafo Completo
• Para cada par de nós, existe uma aresta conectando estes nós
• Notação para grafo completo
Kn onde n é o número de nós do grafo
Caminho
Caminho simples entre dois nós
• sequência de nós conectados por arestas,sem repetição de nós
• Ex. caminho entre 1 e 7
• 1,2,3,7 (1,2),(2,3),(3,7)→
Comprimento de um caminho
• número de arestasentre origem e destino
Caminho Mínimo• Também referenciado
como distância
• Comprimento do menor caminho
entre dois nósd(3,6) = 3d(1,7) = 2
Diâmetro da Rede● Maior caminho mínimo / Média dos caminhos mínimos
entre todos os pares de nós
● menor diâmetro, maior “interconectividade”
Exemplo: Diâmetro da WWW
“19 cliques em média separam quaisquer páginas web”
(considerando 8x108 sítios)[Albert, Jeong & Barabási, Nature, vol. 401, 1999]
Clique
• Em um grafo, clique é um subgrafo que também
é um grafo completo
• Ou seja, para cada vértice do subgrafo, existe uma
aresta conectando este vértice a cada um dos demais vértices do subgrafo
Ex: O grafo ao lado possuium único clique formadopelos nós 1, 2 e 5
Componente gigante
• Componente gigante é um subgrafo conectado que contém a maioria dos nós da rede
Clusterizaçãoou transitividade
• Propriedade comum em redes sociais, que representa “ciclos de amigos comuns” (“meus amigos também são amigos”), onde todo membro conhece todos os outros membros.
• Medida a respeito de triângulos na rede
Exemplo: Nó 2 Vizinhos: 1,4,6
Quantos estão ligados entre si?
Cálculo da Clusterização
• Duas métricas principais de clusterização na literatura
• (1) métrica local(Watts and Strogatz, 1998)
• (2) métrica global (Newman,2003)
Clusterizaçãométrica (I)
• Fração de arestas entre vizinhos
• Definida localmente para cada nó da rede
• Denominador considera a formação de um clique “centrado” no nó sendo considerado para o cálculo
# arestas entrevizinhos do nó i
grau do nó i
Clusterizaçãométrica (I)
Exemplo: Nó 2 Vizinhos: 1,4,6
Clusterizaçãométrica (I)
• Clusterização do grafo
• Média da clusterização local dos nós
Clusterizaçãométrica (II)
• Fração entrenúmero de triângulos no grafo (cliques de tamanho 3) e o número de triplas conectadas (um nó com arestas para um par não ordenado)
• Métrica global
• Probabilidade que dois vertices que sao vizinhos de um terceiro vertice sejam vizinhos entre si
Clusterizaçãométrica (II)
Network Resilience
• Robustez da rede em eventos de remocao de nós
• Exemplos: conectividade, epidemiologia
Network Resilience
Como a remocao de vertices pode afetar a topologia da Internet, considerando Sistemas Autonomos?
“Attack and error tolerance of complex networks”
Albert et al (2000)
Network Resilience
Mixing patterns
• Tendência de um determinado tipo de nó se conectar (ou não) com um outro tipo de nó
• Nós podem ter preferência a se conectar com nós similares ou diferentes dele
• Presente em redes sociais
• Conceito global da rede
Mixing patterns
• Por exemplo, no caso da Internet, Maslov et al (“Correlation profile of the Internet”) identificaram que a estrutura da rede reflete a existencia de tres categorias de nos:
• Provedores com grande conectividade (backbone)
• Consumidores que sao os usuarios finais
• E ISPs que ligam os dois anteriores
Mixing patterns
• Segundo os autores:
• Existem muitos links que ligam usuarios finais aos ISPs
• Existem muitos links entre ISPs e operadoras de backbones
• Poucos links entre ISPs ou entre operadores de backbones e usuarios finais
Mixing patterns
• Dois tipos:
• Assortative mixing: tendência de conexão entre nós que possuem característica similar (idade, raça, etnia, interesses, ...)
• Disassortative mixing: tendência de conexão entre nós diferentes entre si
Comunidades
Grupos de vértices que possuem alta densidade de arestas entre si, com menor número de arestas para os demais grupos
Nem todas as redes possuem estruturas em comunidades. Muitos modelos, por exemplo, grafos aleatórios e o modelo Barabási–Albert não possuem estruturas de comunidade.
http://en.wikipedia.org/wiki/Community_structure
Comunidades• Comunidades são comuns em redes reais
• Redes Sociais
• Localização comum
• Interesses
• Ocupação
• Redes de citação
• Áreas de pesquisa
Identificar as sub-estruturas dentro da rede pode prover insights em como a rede funciona e como a topologia de cada uma delas influencia na outra.
Identificando Comunidades
• Minimum-cut method
• Hierarchical clustering
• Girvan–Newman algorithm
• Modularity maximization
Comunidades
Betweeness centrality
• Considere todos os caminhos mínimos do grafo
• Betweeness centrality para nó i: número de caminhos mínimos que passam pelo nó i (métrica local)
• Pode ser vista como medida de resiliência da rede
• ou seja, esta propriedade revela quantos caminhos serão mais longos, caso o nó i seja removido da rede.
• Exemplo: Roteadores na Internet propriedade →importante para entender por exemplo impacto de re-roteamento em caso de falha / remoção
Betweeness centrality
• Cores indicam betweeness centralityi.e. quão central é cada nó?
• Vermelho = 0
• Azul = máximo
Closeness centrality
• Métrica local: valor médio de todos os caminhos mínimos a partir de um nó i
• Mede quanto “tempo” é necessário para uma informação ser difundida a partir do nó i até todos os outros nós da rede.
• Valor representa o quão distante um nó está de todos os demais