Redes Complexas

Research Reports
Autor

Timóteo Fassoni

É parte fundamental da pesquisa o estudo e uso de redes complexas. Daí que esta seção é dedicada aos métodos utilizados.

Implementação de Redes Complexas em Fortran moderno, usando o paradigma orientado a objetos.

Implementação

A implementação da rede utiliza de tipos derivados em Fortran. Em suma, uma rede corresponde a um objeto com algumas propriedades intrínsecas, a saber:

  • adjacency_list (variável alocável): guarda o grau, \(k_i\), e a lista de vizinhos de cada nó \(i\) da rede (coleção de \(N\) vetores alocáveis, cada um de tamanho \(k_i\));
  • gen_network (sub-rotina): gera a lista de graus da rede a partir de uma dada distribuição (power law, Poisson ou constante);
  • build_network (sub-rotina): aplicação do modelo configuracional a partir de uma dada distribuição de graus e o tamanho da rede N;
  • report (função): verifica os possíveis erros e inconsistências que podem aparecer com o modelo configuracional.

A grande vantagem desta abordagem é a capacidade de gerar redes totalmente independentes sem acúmulo de variáveis (ou uso de dummies), compacticidade do código e possibilidade de paralelização com OpenMP (basta passar a rede como variável privada), sem custo computacional extra.

Outras rotinas numéricas, como centralidade de autovetor/valor e componente gigante também podem ser facilmente implementadas sobre esta mesma abstração.