Você está na página 1de 8

Comunicação e Redes – Resumo 1

Versão 0 de 15 de junho de 2011, por Luis Andrade Neto ( luis.neto@aluno.ufabc.edu.br),


baseado nos slides do professor Rogério P. de O. Neves

Aula 1: Sistemas Complexos

Definição
Não existe uma definição “cimentada” do que é um sistema complexo, mas há alguns pontos de sobreposição
entre as mais comuns:

 Grande número de agentes;


 Inter-relação e interação entre componentes;
 Comportamentos não-lineares;
 Apresenta características que não são deduzíveis a partir da observação de suas partes.

Características
 As ligações são dinâmicas;
 Possibilidade de aninhamento (i.e. uma rede complexa dentro da outra);
 Produção de fenômenos emergentes (i.e. que só aparecem quando você analisa a rede como um todo, in
loco, por serem resultado da interação entre os componentes);
 Relacionamentos não-lineares (i.e. o efeito pode não ser proporcional à causa);
 Possibilidade de retroalimentação ou feedback (i.e. a saída de um sistema é direcionada para sua
entrada).

As redes são estudadas por um campo da ciência chamado Teoria dos Grafos.

 Exemplos de redes: Internet, redes sociais, redes neurais, redes metabólicas, teias alimentares, redes de
distribuição e redes de citações entre artigos.

Aula 2: Introdução aos Grafos

As Sete Pontes de Königsberg


Leonhard Euler foi desafiado a encontrar uma solução para o seguinte problema:

“Duas ilhas e duas partes do continente são ligados por sete pontes. Saindo de uma das ilhas (ou do continente),
percorra todas as pontes apenas uma vez e retorne ao seu ponto de origem.”

Euler determinou que este problema é insolúvel, pois para cada ponte “de ida”, tem que haver uma “de volta”.
Como o número de pontes de Königsberg era ímpar, seria impossível não deixar de passar por uma das pontes
ou não repetir ponte.

Para chegar a essa conclusão, Euler simplificou o problema de forma que as ilhas e o continente fossem
representados por 4 pontos e as pontes, por ligações entre esses pontos.

Isto é um grafo!

 Os pontos são chamados vértices;


 As ligações entre eles são as arestas.
Definições de grafos
 Cada grafo pode ser expresso por um par ordenado G=(Vértices, Arestas);
 Pseudografo ou multigrafo: pode conter loops (i.e. uma conexão que volta para o mesmo lugar de onde
partiu) e múltiplas arestas entre dois vértices;
o Grafo simples: não contém nenhum desses dois elementos;
 Grafo direcionado: leva em conta a direção do “movimento” entre as arestas;
o Grafo não-direcionado: não leva isso em conta;
 Grafo ponderado: leva em conta diferentes valores (“pesos”) para as arestas;
o Grafo ponderado: todas as arestas têm um mesmo valor;

Propriedades de um grafo
 Ordem: número de vértices;
 Tamanho: número de arestas;
 Diâmetro: o maior entre os caminhos mais curtos entre um par de vértices;
 Conectividade:
o Dos vértices: número mínimo de vértices que devem ser removidos para “quebrar o grafo em
2”;
o Das arestas: número mínimo de arestas que devem ser removidas para desconectar o grafo;
 Grafo planar: a representação de um grafo onde não há sobreposições de arestas;

Modelagem usando grafos


 Número de rotas possíveis envolvendo x cidades: ( ) ( )
 “Fluxo máximo” em um grafo direcional ponderado (problema da tubulação de esgoto):
1. Um tubo de baixa capacidade (i.e. uma aresta com baixo valor) é um “gargalo”;
2. Quando um vértice “recebe mais água” do que o “cano” que leva até o próximo vértice pode
carregar, a água poderá fluir por outros dutos até chegar ao seu destino.
 Organização de arquivos em um computador
o Estrutura em árvore (i.e. uma aresta pode ter várias “filhas”, porém apenas uma aresta “mãe”);

Listas de Adjacências, Matrizes de Adjacências e Matrizes de Incidência

Lista de Adjacências
1. Listar cada um dos vértices do grafo;
2. Listar cada conexão de cada um desses vértices.

Exemplo:

Adj[1] = {2, 5, 7}

Adj[2] = {1, 3, 6}

Adj[3] = {2, 4, 6}

Adj[4] = {3, 5, 7}

Adj[5] = {1, 4, 7}

Adj[6] = {2, 3, 7}

Adj[7] = {1, 4, 5, 6}
Matriz de Adjacências
Cada vértice é representado por uma linha e uma coluna. A matriz de adjacências A, portanto, é quadrada. Se,
por exemplo, em um grafo direcional há conexão do vértice 4 para o 7, então a “célula” A(4,7) da matriz recebe o
valor “1”.

Quando o grafo é não-direcional, o valor “1” também é aplicado em A(7,4).

Exemplos:

1 0 0 1 0 1 0 1 1 0
0 1 0 0 1 1 1 0 0 1
0 0 1 1 1 0 1 1 0 1
1 0 1 1 0 1 0 0 1 0
0 1 1 0 1 0 1 0 1 1
À esquerda, um grafo não-direcional. À direita, um grafo direcional. Repare que a matriz da esquerda é simétrica,
enquanto a da direita não é.

Matriz de Incidência
As linhas da matriz representam vértices e as colunas, as arestas. Em um grafo direcional, a aresta número 5,
indo do vértice 3 para o vértice 2, seria representada na matriz de incidência assim:

Aresta 1 Aresta 2 Aresta 3 Aresta 4 Aresta 5 Aresta 6 Aresta 7


Vértice 1 0 +1 0 -1 0 0 0
Vértice 2 -1 0 0 0 +1 0 0
Vértice 3 0 0 0 +1 -1 0 0
Vértice 4 0 0 0 0 0 -1 +1
Vértice 5 +1 0 -1 0 0 0 0
Vértice 6 0 -1 0 0 0 +1 -1

O vértice aonde a aresta “chega” recebe o valor +1, o vértice de onde ela “parte” recebe -1, e o resto da coluna
recebe zeros.

Aula 3: Algoritmos

Caminho
 Um caminho pode ser descrito como “do vértice 6 (origem), vá para o vértice 4, depois para o vértice 1 e
chegue no vértice 2 (término)”.
 Caminho mínimo é o menor entre dois vértices (em grafos ponderados, considere o valor do vértice).
 Passeio é o caminho onde os vértices podem ser repetidos.
 Comprimento é o número de termos da sequência menos 1. No caminho do exemplo acima, o
comprimento é 3.
 Distância entre vértices é o comprimento do caminho mínimo entre eles.

Busca em grafos
Um algoritmo que examina todos os vértices e arestas de um grafo.

Busca em profundidade (in-depth)


1. O algoritmo pesquisa o primeiro vértice (origem);
2. A primeira aresta que parte deste vértice é explorada, levando a outro vértice;
3. O passo 2 é repetido até que é alcançado um “beco sem saída” no grafo;
4. Quando isso acontece, o algoritmo “volta” para o último vértice e tenta descobrir uma nova aresta;
5. Quando há uma nova aresta, os passos 2 e 3 são repetidos. Quando não há, o passo 4 é repetido...
6. ...até que não restem mais vértices a explorar.
Busca em largura (in-width)
1. O algoritmo coloca o primeiro vértice (origem) na fila de pesquisa;
2. Ele faz a lista de adjacências do vértice que está sendo atualmente pesquisado, colocando os vizinhos
que não foram já varridos na fila de pesquisa;
3. Todos os vértices adjacentes são pesquisados de acordo com a ordem da fila;
4. Os passos 2 e 3 são repetidos até que todos os nós do grafo tenham sido pesquisados.

Algoritmos de caminhos mínimos

Algoritmo de Dijkstra
1. O algoritmo calcula todas as distâncias entre o vértice atual e seus adjacentes não visitados;
2. Quando todos os vértices adjacentes tiverem suas distâncias determinadas, marque o atual como
visitado;
3. Passe para o vértice não visitado com menor distância e repita o processo.

Algoritmo de Floyd-Warshall
Um algoritmo que modifica a matriz de adjacências do grafo, mas funciona de forma parecida com Dijkstra. É
mais aconselhável quando é necessária uma matriz de caminhos mínimos (em vez de um vetor, como no
algoritmo de Dijkstra).

Aula 3: Leis de Potência


 Princípio de Pareto (lei do 80/20) – nem sempre é seguida à risca, mas costuma-se ter algo próximo;
 Lei de potência: duas variáveis onde uma varia de acordo com a potência da outra;
 Formato das leis de potência: ( ) ( ).
 a e k são constantes, o(x ) é uma função assintoticamente pequena, k é chamado de expoente da escala;
k

 Leis de potência são invariáveis à escala (i.e. um escalonamento de x produz um escalonamento


proporcional da função);
 As leis de potência deram origem a teorias da física como a Teoria do Caos.

Distribuições de probabilidade
 Variável aleatória: mapeamento de um evento aleatório em um número;
 Variável discreta: o número de resultados possíveis é finito ou pode ser contado;
 Variável contínua: pode assumir qualquer valor dentro de um dado intervalo;
 Eventos independentes: a ocorrência de um não afeta a probabilidade do outro;
 Distribuição de probabilidade: descreve a chance que uma variável pode assumir ao longo de um
espaço de valores.

Função acumulada e densidade


 Função acumulada: no caso de variáveis contínuas, determina a probabilidade da variável assumir um
valor menor ou igual a um determinado valor x:
( ) ( ) ∫ ( )

 Densidade do valor x = Fx(x).

Distribuição Uniforme
 Parâmetros: a (limite inferior) e b (limite superior)
( )

Distribuição Exponencial
 Parâmetro: λ (média)
( )

Distribuição Normal (Gaussiana)


 Parâmetros: µ (média) e σ (desvio-padrão)
( )
( )

Média, valor esperado, variância e desvio padrão

Média distribucional

( ) ∑ ∫ ( )

Média amostral (estimador)

̅ ∑

Variância

∑( ̅)

Desvio padrão
Raiz quadrada da variância.

Teorema central do limite


 Temos um grande número de eventos aleatórios independentes, com mesmo valor esperado e desvio
padrão;
 O conjunto de suas contribuições se aproxima da distribuição normal.

Escalonamento de funções de lei de potência


 A constante de proporcionalidade é alterada, mas a forma geral da função permanece parecida
com ( ) .
 Esta reta é chamada de assinatura da lei, e tem relação linear com a inclinação k.
 Alteração da variável x só desloca a função pra cima ou pra baixo.

Grau da rede
O grau da rede é definido como o número de arestas conectadas a um vértice.

 In-degree (grau de entradas): número de arestas entrando;


 Out-degree (grau de saídas): número de arestas saindo.

Uma boa maneira de apresentar os graus de vértices é num gráfico de frequência acumulada: ∑

Aula 4: Grafos aleatórios e redes de mundo pequeno (small world)

Grafos aleatórios
Dado um número v de vértices, o número máximo a de arestas é dado pela equação a = ( v – 1 ) / 2 e o número
mínimo m de arestas é dado por m = v – 1.
Conceito de grafos aleatórios
Dado um grafo de v vértices, iniciar a colocação aleatória de arestas entre pares de vértices de forma aleatória,
sem repetição. Serão formados subgrafos. Quando todos os vértices se conectam a um único grafo, o arranjo
passa a ter um conjunto de propriedades:

 Quando o número de conexões aumenta, os subgrafos são ligados, criando grupos cada vez menores;
 Quando a média de conexões por vértice supera 1, surge um único grafo que liga todos os vértices.

Experimento de Milgram: “Small World Experiment”


 Dois “alvos”, pessoas normais, foram escolhidos e dois locais foram eleitos como origens;
 42 cartas foram liberadas pelo professor;
 Instruções: “repasse essa carta a alguém que você conheça pessoalmente e que talvez conheça essa
pessoa ou alguém que possa saber como fazer esta carta chegar ao seu destino”;
 Menor caminho = 2 pessoas, maior = 12, média = 5,5. Daí vem a frase dos “seis graus de separação”;
 Este experimento foi o ponto de partida das teorias de redes de mundo pequeno;
 Em 2001, o professor Watts repetiu o experimento em escala mundial, com média = 6.

Efeito Mundo Pequeno



( )

Onde:

 l = distância média entre todos os pares de vértices do grafo não-direcionado;


 dij = menor caminho entre os vértices i e j;
 [ n * ( n – 1 )] /2 = número total de arestas (máximo de todas as combinações) do grafo.

Se o número de vértices dentro de uma distância r de um vértice cresce exponencialmente com r, então o valor
de l crescerá de acordo com log n.

A rede é considerada como tendo efeito mundo pequeno se o valor de l escala logaritmicamente (ou menos)
com o tamanho da rede.

Todas as redes que seguem lei de potência têm o valor de l crescendo no máximo a [ log n / log ( log n ) ].

Geração de redes de mundo pequeno


 A maioria dos vértices não é vizinho dos outros vértices;
 A maioria dos vértices pode ser alcançada de qualquer outro vértice através de poucas arestas.
 Experimento de Granovetter: a maioria das pessoas conseguiu emprego através de “um conhecido” (em
vez de “um amigo”);
 As ligações fortes (“amigos”) fecham sobre si mesmas (i.e. sempre o mesmo grupo de conhecidos),
enquanto laços fracos (“conhecidos”) participam de círculos diferentes de amizades, o que propicia
maior disseminação de informações;

Clusterização (Agrupamento)
 Um cluster é um grupo de arestas num grafo que, entre si, tem muitas ligações, mas possui poucos
vértices indo para outros grupos.
 O coeficiente de clusterização C é definido pela fórmula:

 Um triângulo é um grupo de vértices { 1, 2, 3 } que tem ligações entre si, i.e. 1-2, 2-3, 3-1.
 Uma tripla conectada é um grupo de vértices { 4, 5, 6 } que tem arestas ligadas aos pares, i.e. 1-2, 2-3.
 O coeficiente pode ser entendido como a probabilidade média de dois vértices que são vizinhos de um
mesmo outro vértice, também serão vizinhos (i.e. você tem 3 vértices, dois deles são vizinhos; esta é a
probabilidade de algum desses dois ser vizinho do terceiro vértice).
 O coeficiente varia entre 0 e 1.

Paul Erdös – Rede de Colaboração de Artigos Científicos


Erdös foi o segundo matemático mais prolífico da história, só perdendo para Euler, tendo 507 coautores em
seus papers. O número de Erdös do próprio Paul Erdös é zero, por ele ser o vértice de partida. Alguém que
colaborou com ele recebe o índice 1, alguém que trabalhou com outra pessoa com índice 1 recebe o índice 2, e
assim vai.

Aula 5: Redes sem escala (“scale-free”)


 Poucos hubs têm muitas conexões, enquanto muitos nós têm poucas conexões (para os hubs, na maioria
das vezes).
 A probabilidade de um grafo já densamente ligado absorver um novo músico na Orquestra Sinfônica do
Estado de São Paulo (OSESP) é maior do que tipo, a probabilidade deste nó solitário se conectar as
“amizades e inimizades”.
 Todos os nós são equivalentes (i.e. não tem tratamento especial para certos nós).
 Alguns nós (especialmente hubs) serão mais requisitados que outros;

Modelo A (Albert-Lázló Barabási)


 Cada nó possui duas arestas;
 Os nós aos quais o novo nó se conecta são também aleatórios;
 Os primeiros nós serão os mais bem conectados.

Modelo B
 Número fixo de nós, nenhuma aresta;
 A cada instante, um nó é selecionado aleatoriamente e conectado com probabilidade dada pela função:

( )

 Elimina o processo de crescimento;
 O número de nós é constante durante a evolução da rede (i.e. este modelo apenas analisa as conexões
entre os nós).

Características gerais das redes sem escala

Crescimento
 Para cada período, adiciona-se um novo nó à rede;
 Essa etapa enfatiza que as redes se compõem de um nó por vez.

Conexão preferencial
 Pressupõe-se que cada novo nó se conecte aos existentes com dois enlaces;
 A probabilidade de que se escolha um dado nó é proporcional ao número de links que o nó escolhido
possui.

Hubs e leis de potência no modelo sem escala


 Nós mais antigos têm mais tempo para adquirir enlaces;
 Novos nós preferem se conectar aos que têm mais conexões, levando à máxima “ricos ficam mais ricos”;
 Na ausência de crescimento, volta-se aos modelos estáticos, incapazes de gerar leis de potência.
Problemas do modelo sem escala
 Novos links podem surgir “do nada” quando se cria um link interno entre dois nós antigos;
 Assim como links podem desaparecer, desconectando toda uma rede de ligações.

Fator idade
 Alguns trabalhos acrescentaram o fator idade ao modelo sem escala, p. ex., quando atores se aposentam,
param de conseguir novos links (filmes), o que torna hubs grandes menos frequentes;
 Outras pesquisas abordaram a possibilidade de, com a idade, os vértices perdiam progressivamente a
capacidade de atrair novas arestas, o que não destruía a lei de potência, apenas a alterava;
 Outros papers descobriram que a conexão a um nó não é simplesmente proporcional ao número de
links que ele possui, mas obedeceria a alguma função mais complicada. Tais efeitos poderiam destruir a
lei de potência que caracteriza a rede.

Teoria de redes em expansão


 Valoriza os mecanismos que moldam a evolução da rede;
 O modelo sem escala teria sido abandonado se várias redes complexas importantes segue tal modelo.

Robustez
 Redes sem escala são muito resistentes a falhas, porque os hubs são poucos e a chance de qualquer nó
ser atingido é a mesma (i.e. na maior parte das vezes, as falhas ocorrerão em nós “pouco importantes”);
 Até 80% dos nós podem ser removidos aleatoriamente sem desconectar a rede;
 Esta característica deixa a rede muito vulnerável a falhas em nós específicos (hubs).

Você também pode gostar