Redes Complexas
Research Reports
É parte fundamental da pesquisa o estudo e uso de redes complexas. Daí que esta seção é dedicada aos métodos utilizados.
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 redeN;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.