Escolar Documentos
Profissional Documentos
Cultura Documentos
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:
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.
“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!
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;
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”.
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:
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.
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).
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.
Distribuição Uniforme
Parâmetros: a (limite inferior) e b (limite superior)
( )
Distribuição Exponencial
Parâmetro: λ (média)
( )
Média distribucional
( ) ∑ ∫ ( )
̅ ∑
Variância
∑( ̅)
Desvio padrão
Raiz quadrada da variância.
Grau da rede
O grau da rede é definido como o número de arestas conectadas a um vértice.
Uma boa maneira de apresentar os graus de vértices é num gráfico de frequência acumulada: ∑
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.
Onde:
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 ) ].
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.
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).
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.
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.
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).