Modelagem de Sistemas Complexos

Uma questão que é recorrente quando ensino sobre a Ciência das Redes é: onde essa ciência se insere junto aos demais campos de estudo?

Podemos enquadrar a Ciência das Redes dentro da chamada Análise de Sistemas Complexos, que é um campo muito vasto (talvez porque não seja tão bem definido, na minha opinião) e exige habilidades diferentes em três grandes áreas de conhecimento: matemática, estatística e computação. 

O objeto de estudo da Análise de Sistemas Complexos são sistemas com diversos componentes e cujo comportamento, advindo das interações destes componentes, exibe padrões/propriedades emergentes. Note como as redes se encaixam perfeitamente nesta definição. Contudo, outras alternativas de modelagem se encaixam aqui como sistemas de equações diferenciais, modelos baseados em agentes, autômatos celulares etc.

Para dominar, minimamente, os conceitos e estratégias para lidar com sistemas complexos é bom que se tenha: um curso básico de programação (em alguma linguagem procedural de alto nível, como python, C, java...); um curso de probabilidade e estatística; uma introdução ao cálculo diferencial e integral; e uma introdução à álgebra linear.

Todos estes cursos você encontra na forma de disciplinas ofertadas em todas as universidades do país, as vezes dos departamentos de matemática, outras na engenharia, outras nos departamentos de física, estatística, computação etc.

Para uma visão introdutória na área, sugiro a leitura do livro Introduction to the Modeling and Analysis of Complex Systems (vamos chamá-lo de IMACS para facilitar), escrito por Hiroki Sayama. O autor é pesquisador ativo na área de sistemas complexos, com contribuições reconhecidas na ciência das redes, particularmente pelas chamadas Redes Adaptativas. Uma sub-área da Ciência das Redes que estuda o comportamento de processos dinâmicos em redes dinâmicas, isto é, esta sub-área procura avaliar o que acontece quando informação ou bens se propagam em uma rede que muda no tempo. Basta dizer que o autor tem um livro só sobre este assunto.

Voltando ao IMACS, podemos dizer que é um livro de fácil leitura e que procura dar uma visão global da área de forma muito didática. Para cada tópico e forma de modelagem são oferecidos diversos exemplos, que são inclusive modelados de mais de uma forma.

O melhor de tudo: o livro é de graça! E você pode encontrá-lo aqui.

O IMACS possui uma divisão didática em capítulos laranjas e azuis. Os capítulos laranja discutem a modelagem de sistemas e dependem de conhecimento mais básico de matemática ("some basic knowledge of derivatives and probabilities", conforme o autor), enquanto que os capítulos azul fazem a parte da análise e dependem de um maior conhecimento em outras das áreas que falei acima. Esta organização facilita demais a leitura de cada capítulo, permitindo que o leitor avance até onde consegue.

Outro ponto positivo do livro é o uso da linguagem Python para exemplificar a implementação de diversos conceitos. Python é uma linguagem aberta e de fácil assimilação para iniciantes. A escolha dessa linguagem e dessa abordagem prática facilita o acesso às técnicas estudadas para quem não tem um background matemático sólido, mas possui algum background em programação.

Entendo que o livro serve muito bem como uma primeira abordagem ao tema dos Sistemas Complexos e, até mesmo, para conhecimento mais profundo em algumas das subáreas da ciência de sistemas complexos. A parte de redes complexas mesmo é bem extensa e dá uma visão geral sobre métricas, topologias e processos de difusão de informação em redes. Por isso vale muito a leitura para quem quer dominar globalmente a área, mas para um estudo mais específico de redes complexas, vale a pena procurar os materiais que já indicamos anteriormente.

Comentários