Redes Complexas:

50
Redes Complexas: teoria, algoritmos e aplicações em computação teoria, algoritmos e aplicações em computação Bloco #3Introdução a Redes 2 o semestre de 2009 Virgílio A. F. Almeida Agosto de 2009 Agosto de 2009 D d Ciê i d C ã Departamento de Ciência da Computação Universidade Federal de Minas Gerais

Transcript of Redes Complexas:

Page 1: Redes Complexas:

Redes Complexas: teoria, algoritmos e aplicações em computaçãoteoria, algoritmos e aplicações em computação

‐Bloco #3‐

Introdução a Redes

2o semestre de 2009

Virgílio A. F. Almeida

Agosto de 2009Agosto de 2009

D d Ciê i d C ãDepartamento de Ciência da ComputaçãoUniversidade Federal de Minas Gerais

Page 2: Redes Complexas:

Redes de Informação?Redes de Informação?

Rede: uma coleção de entidades que estão interconectadas

Uma aresta entre dois nós denota uma interação entre as duas entidades. 

Vemos essa interação comos information exchange, daí a ideia de Redes de Informaçãoideia de Redes de Informação

O t é b lO termo é bem geral

Page 3: Redes Complexas:

Por que interessa?Por que interessa?

Redes estão em todas áreasCada vez mais um número maior de sistemas pode ser modelado como redes e mais dados são coletadosredes e mais dados são coletados

Modelos de grafos tradicionais não se aplicam aos casos reais

Redes em larga escala necessitam de novos ferramentas de análise 

Uma nova área: science of networksEnvolve múltiplas disciplinas: computação, física, biologia, economia, sociologia, matemática, etc. 

Page 4: Redes Complexas:

Jon Kleinberg: 2008 ACM‐Infosys Foundation Award Recipient

"....Social network analysis is an area that reaches back quite a long time and has been a very active area in sociology anthropology and other disciplines in the socialbeen a very active area in sociology, anthropology and other disciplines in the social sciences. When computer scientists began thinking about this in the late 1990's we had a lot of expertise to draw on. There are two issues going on here. One is why are computer scientists drawn to this? The second point is because of all this dataare computer scientists drawn to this?....The second point is because of all this data the kinds of social network questions that you ask are related but somewhat distinct from what sociologists would have....The interesting challenge now is to try to combine these two sets of research "to combine these two sets of research...  

"....I think there are some interesting themes here. One is in aggregate the d t f i f ti d i t ti tt d ll tiquadrants of information can produce very interesting patterns and collective 

traces. Secondly the social effects are going to become important design principles for big informational threads like Wikipedia or Flickr, etc....They have both technological and social mechanisms working together so in computer science wetechnological and social mechanisms working together so in computer science we are going to have to think about design principles that incorporate some of these....The final interesting question is that by its very nature, research has a large stockpile of information and that raises questions about privacy "stockpile of information and that raises questions about privacy....  

Page 5: Redes Complexas:

Tipos de redesTipos de redes

Redes sociais

Redes de conhecimento (informação)Redes de conhecimento (informação) 

Redes tecnológicas

Redes biológicas

Page 6: Redes Complexas:

Redes SociaisRedes Sociais

Aresta denota/representa  uma relação social 

Redes de “conhecidos”Rede de atoresR d dRede de co‐autoresRede de diretoresRede de chamadas telefonicosR d d ilRede de emailRede de Instant MessagingRedes de contatos sexuais Redes de amigos em social media softwareRedes de amigos em social media software

Page 7: Redes Complexas:

Redes de conhecimento (informação) 

Nós armazenam informação, arestas associam  informação

R d d it ã ( i t d )Rede de citação (orientada)

A Web (orientada)

R d P PRedes Peer‐to‐Peer 

Redes de palavras 

d d f “ ”Rede de confiança “trust”

Rede de...

Page 8: Redes Complexas:

Redes tecnológicasRedes tecnológicas

Redes construídas para distribuição de “commodity “A  Internet• router level, AS level

Rede de energia elétrica

Rede de linhas aéreas

Rede  telefônica

Rede de transporte• Estrada, ruas, estrada de ferro

Grafos de Software

Page 9: Redes Complexas:

Redes biológicasRedes biológicas

Sistemas biológicos representados como redes

Redes de interação Proteina‐Proteina

Redes de genes

Redes do tipo “Food Web”

Redes Neurais

Page 10: Redes Complexas:

E agora?E agora?

O “mundo” esta cheio de redes! E agora????Entender suas topologias e medir suas propriedades 

Estudar sua dinâmica de evolução

Criar modelos realistas

Criar algoritmos que aproveitem a estrutura e relações das redes

Page 11: Redes Complexas:

Konigsberg Bridge Problem: Does there exist any single path that crosses all seven bridges exactly once each?

Abstração: grafog

Page 12: Redes Complexas:

Network analysis:  two questions1) When is a node a node?2) When is an edge an edge?

Science, vol 325, 2009 

Page 13: Redes Complexas:

Erdös‐Renyi Random graphsErdös Renyi Random graphs

O d l GO modelo Gn,pn : número de  vértices0 ≤ p ≤ 10 ≤ p ≤ 1Para gerar uma amostra/sample, aleatoriamente, seleciona‐se n inicialmente desconexos vértices e para cada par (i,j), gere uma aresta(i j) independentemente com probabilidade p(i,j) independentemente com probabilidade  p.

O modelo Gn,m é o conjunto de todos os grafos consistindo de ,n nodos e m arestas. 

Para gerar uma amostra de grafo uniformemente, de maneira  aleatória, simplestemente atribui‐se m arestas entre pares escolhidos , p paleatoriamente de n nodos/vértice inicialmente não conectados.

Page 14: Redes Complexas:

Distribuição de graus em um grafo aleatório

A distribuição segue uma binomial⎞⎛ ( ) knk p1p

kn

p)k;B(n; p(k) −−⎟⎟⎠

⎞⎜⎜⎝

⎛==

Assumindo z=np  fixo, qdo n→∞ B(n,k,p) pode ser

aproximada por uma distribuição de Poissonaproximada por uma distribuição de Poisson

zk

ek!z

z)P(k;p(k) −==

Altamente concentrada em torno da média, com uma cauda i i l

k!

que cai exponencialmente.

í d b lExercício: demonstrar que a binomial converge para Poisson quando n→∞ 

Page 15: Redes Complexas:

Grafos randômicos e a realidadeGrafos randômicos e a realidade

Uma teoria elegante estudada exaustivamente.

f d i id d d l dGrafos Randomicos tem sido usados como modelos geradores de outros grafos.

N t t ã t lid dNo entanto, não capturam a realidade…

Page 16: Redes Complexas:

Propriedades das RedesPropriedades das Redes

Distribuição dos graus

Fenômeno do “Small world”

Clustering Coefficient

Mixing patterns (assortative/dissortative)

Betweenness

Communidades  e clusters

Page 17: Redes Complexas:

Distribuição dos grausDistribuição dos graus

frequenciafk = fração de nós com grau k

= probabilidade de nó selecionado

fk

aleatoriamente ter grau k

grauk

fk

Problema: determine a distribuição de probabilidade que melhor ajuste (“best fit”) a um conjunto de dados experimentais de uma rede

g

(“best‐fit”) a  um conjunto de dados experimentais de uma rede.   Proponha uma coleta de dados e faça o fitting!

Page 18: Redes Complexas:

Distribuições Power‐lawDistribuições Power law

O d di t ib i ã d d i i i dO grau de distribuição de redes reais segue na maioria das vezes uma função do tipo power law:

p(k) = Ck-α

Distribuição de cauda pesada (Heavy‐tail distribution)

p(k) Ck

Distribuição de cauda pesada (Heavy tail distribution)Existe uma fração de nós não desprezível que tem graus muito altos  (hubs)scale‐free: média não informativa e não tem características de escala. 

Num contraste gritante com grafos randomicos!Altamente concentrado em torno da médiaA probabilidade de nós com graus muito altos é exponencialmente pequena. 

Page 19: Redes Complexas:

Assinatura Power‐lawAssinatura Power law

Di ib i ã P l l li hDistribuição Power‐law leva a uma linha reta num gráfico log‐log.

log p(k) = -α logk + logC

frequencia log frequencia α

Grau: várias ordens de grandeza log grau

α : expoente power-law (tipicamente 2 ≤ α ≤ 3)

Page 20: Redes Complexas:

ExemplosExemplos

[Newman 2003]

Page 21: Redes Complexas:

Um exemplo de grafo randômicoUm exemplo de grafo randômico

R d Al tó i Di t ib i ã d G áRede Aleatória ----------------------------- Distribuição de Gráus

Page 22: Redes Complexas:

Distribuição ExponentialDistribuição Exponential

b d l d ló d l bObservada em algumas redes tecnológicas ou de colaboração

p(k) = λe-λk

Identificada por uma reta no  gráfico log‐linear.

log p(k) = - λk + log λ

log frequencia λ

grau

Page 23: Redes Complexas:

Estatísticas Coletivas (M. Newman 2003)

Page 24: Redes Complexas:

Clustering coefficient (Transitividade)Clustering coefficient (Transitividade)

d d d d d â l (l l l ) fMede a densidade de triângulos (local clusters) no grafo

Duas formas de medir: 2== vv eE

C)1(*

2−

=

⎟⎟⎠

⎞⎜⎜⎝

⎛=

vvvv kkk

C

vC1C(2) =

2 ⎟⎠

⎜⎝

A razão das médiasvC

nC =

∑i(1)

i nó no centrados triangulosC

∑=

i

i(1)

i nó no centradas triplasC

Page 25: Redes Complexas:

clustering coefficient local

ni = 4Número max de conexões4*3/2 = 63 conexões presentesCi = 3/6 = 0.5

i

link presentelink ausentelink presente

Page 26: Redes Complexas:

Clustering coefficient para grafos randomicosClustering coefficient  para grafos  randomicos

A probabilidade de dois de seus vizinhos serem tambem vizinhos é  p, independente da estrutura localindependente da estrutura local

clustering coefficient C = p

Page 27: Redes Complexas:

Estatísticas Coletivas (M. Newman 2003)Estatísticas Coletivas (M. Newman 2003)

Page 28: Redes Complexas:

Métricas de redeMétricas de rede

d hdij = menor caminho entre  i e j

Diametro:ijji

d max== Gdd

Comprimento médio do caminho:

jji,

∑>

=ji

ijd1)/2-n(n

1l

Média Harmonica > ji1)/2n(n

∑>

− =ji

1-ij

d1)/2-n(n

11l> ji1)/2n(n

Page 29: Redes Complexas:

Estatísticas Coletivas (M. Newman 2003)

Page 30: Redes Complexas:

Mixing patternsMixing patterns

á d ó l b b l d d d dAssuma‐se que se tem vários  tipos de nós. Qual a probabilidade de dois nós de diferente tipos serem conectados?  assortative mixing

E : mixing matrix

p(i,j) = probabilidade de mixing

∑=

j)(ij)E(i,

j)p(i,∑

ji,

j)E(i,j)p( ,

p(j | i) = probabilidade condicional de mixingj)E(i

∑=

j

j)E(i,j)E(i,

i)|p(j

Page 31: Redes Complexas:

Propriedades das redesPropriedades das redes

Mixing patternsa.k.a. assortative mixing

1958 i h t S F i1958 casais heteros em San Francisco:

Page 32: Redes Complexas:

Mixing CoefficientsMixing Coefficients

Mi i PMixing PatternsComo quantificar?

S j E # d t t d ti ti i j• Seja Eij = # de arestas conectando vertices tipos  i e j • E = matriz com elements  Eij • Assim a matriz normalizadaAssim, a matriz normalizada

||E|| d d l l E• ||E|| = soma de todos elelmentos E• Elemento eij de e = fração de arestas entre  i and j

Page 33: Redes Complexas:

Mixing coefficientMixing coefficient

Newman 2003

∑= p(i j)a ∑=j

i p(i,j)a

∑=i p(j,i)b

∑∑ ∑−

= i iiiii bae

r

j

r=0.621

Características:

∑i

iiba - 1r

∑r = 1 matriz diagonal 1=∑i

iie

∑∑ b

Altamente Assortatitva,Por que?

r = 0 matriz uniforme  ∑∑ =i

iii

ii bae Quais fatores?

Page 34: Redes Complexas:

Correlação de grausCorrelação de graus

Nós de graus altos tendem a se conectar a nós altos?

Pastor Satoras et al.

E í i P d d l t f áfi d áExercício: Para os dados que voce coletou, faça um gráfico do gráu médio dos vizinhos em função do gráu.

NewmanCompute o coeficiente de correlação dos graus de duas extremidades p ç gde uma aresta

assortative/disassortative

Page 35: Redes Complexas:

Primeira aproximação

AssortatividadePrimeira aproximação

Propriedade do nó = seu grau

Assortative networks Disassortative networks

•Redes reais sempre exibem uma das duas tendências,

• redes “similares” exibme comportamentos “similares” .p

Social networks Techological networks

Page 36: Redes Complexas:

Medidas de Correlação Grau‐a‐Grau

Grau medio dos vizinhos proximos de nós de grau k

Probablilidade que um vertice k esteja conectado a k’)'( kkP

Probablilidade que um vertice k esteja conectado a k

Probabilidade  NNkP k /)( =

Para efeitos de cálculo em redes reais, é mais fácil trabalhar com o grau medio dos vizinhos mais proximos de k, definido por:

Para se analisar assortative faz em função de k ou seja

)'(')('

kkPkkKnnkΣ=

Para se analisar assortative, faz em função de k, ou seja

Se knn é uma função crescente de k: AssortativeAssortative

Se knn é uma função decrescente de k: Disassortative

Se nenhum dos casos acima: Non assortative

Page 37: Redes Complexas:

Conectividade da InternetConectividade da Internet

Page 38: Redes Complexas:

Relações de conectividadeRelações de conectividade Pastor Satorras, Vazquez &Vespignani, PRL 87, 258701 (2001)

Media do grau dos vizinhos mais próximos

F ã d l ã d< k (k)> Σ k’ (k’|k) Função de correlação de graus< knn(k)> = Σk’ k’ p(k’|k)

Page 39: Redes Complexas:

Consequencias da assortatividade: Di i ã de E id iConsequencias da assortatividade: - Disseminação de Epidemias, Comunidades Isoladas....

Newman, PRE, bf 67 : 026126 , (2003).

Page 40: Redes Complexas:

Quantifying social vs. antisocial behavior in email networks Gomes Luiz H ; Bettencourt Luis M A ; Almeida Virgilio A F ; Gomes, Luiz H.; Bettencourt, Luis M. A.; Almeida, Virgilio A. F.; Almeida, Jussara M.; Castro, Fernando D. O.http://adsabs.harvard.edu/abs/2006physics...1141Gp p y

nK

nn

KK

Page 41: Redes Complexas:

Estatísticas Coletivas (M. Newman 2003)Estatísticas Coletivas (M. Newman 2003)

Page 42: Redes Complexas:

Betweenness mede a centralidade de nósBetweenness mede a centralidade de nós

B

AO betweenness bi do nó i é o número de caminhos mínimos entre pares de nós que passa ca os os e t e pa es de ós que passapelo nó i.

Page 43: Redes Complexas:

Betweenness mede a centralidade de nósBetweenness mede a centralidade de nós

B

Abetweenness = load = Betweenness centrality

L h,,j no. Total de shortest paths de h a j e L h,i,,j é o no. total de shortest paths ,,j , ,,jque passa pelo vértice i. Assim, ,

jhjihi LLb ,,, /∑=

Page 44: Redes Complexas:

The betweenness distribution also follows a truncated power law

)/()( bbbbP β− )/()( xbbgbbP β∝

Page 45: Redes Complexas:

Aeroportos: cidades mais conectadas não são as mais centraisAeroportos: cidades mais conectadas não são as mais centrais

Cidades MaisCidades Mais conectadas

MaisMaiscentrais

Page 46: Redes Complexas:

Cidades mais centrais são importantes!Cidades mais centrais são importantes!

CidadesCidades mais centrais

Page 47: Redes Complexas:

Referências (1) e (2) da bibliografia: estudar!Referências (1) e (2) da bibliografia: estudar!

) h d f f l k1)  M. E. J. Newman, The structure and function of complex networks, SIAM Reviews, 45(2): 167‐256, 2003 

2) M. E. J. Newman . D. J. Watts, and  S. H. Strogatz,    Random graph d l f i l k S b 9 2002 l 99 S lmodels of social networks,  PNAS February 19, 2002 vol. 99 no. Suppl 1 

2566‐2572 

Page 48: Redes Complexas:

Is the path length enough?Is the path length enough?

R d h h diRandom graphs have diameter

lognd =

logzd =

d=logn/loglogn when z=ω(logn)

Short paths should be combined with other propertiesp p

ease of navigationhigh clustering coefficientg g

Page 49: Redes Complexas:

ExemploExemplo

1 4

3332 5 83

6113

C(1) =++

=

Page 50: Redes Complexas:

ExemploExemplo

1 4 ( ) 131(2)1

3

4 ( )3013

611151

C(2) =++=

23

5

83

C(1) =

Os dois clustering coefficients levam a medidas diferentes8