Resumos
A modelagem baseada em agentes (MBA) é uma metodologia poderosa e acessível para explorar sistemas complexos, onde interações simples entre indivíduos podem gerar comportamentos coletivos emergentes. Este artigo apresenta a MBA de maneira didática e fluida, utilizando a interface NetLogo para exemplificar como a metodologia pode ser aplicada em diversas áreas, como ecologia, saúde pública, economia e sociologia. Com uma abordagem prática, mostramos que não é necessário um conhecimento avançado em computação para começar a usar a MBA, mas que sua versatilidade permite investigar questões complexas do mundo real. Ao final, o leitor será capaz de entender os fundamentos da MBA, interpretar resultados de simulações e identificar sua aplicabilidade em diferentes contextos reais.
Palavras-chave:
Sistemas complexos; Modelagem baseada em agentes; NetLogo
Agent-based modeling (ABM) is a powerful and accessible methodology for exploring complex systems, where simple interactions between individuals can generate surprising collective behaviors. This paper presents ABM in a didactic and fluid manner, using the NetLogo interface to exemplify how the methodology can be applied to various fields, such as ecology, public health, economics, and sociology. With a practical approach, we demonstrate that advanced computational knowledge is not required to begin using ABM, yet its versatility enables the investigation of complex real-world questions. By the end, readers will be able to understand the fundamentals of ABM, interpret simulation results, and identify its applicability across different real-world contexts.
Keywords
Complex systems; Agent-based modeling; NetLogo
1. Introdução
A Modelagem baseada em agentes (MBA) é uma metodologia que nos permite uma avançada maneira de fazer ciência utilizando experimentos feitos em computadores [1]. Esta metodologia foi uma das pioneiras para se estudar sistemas complexos [2, 3]. Esses sistemas são formados por um conjunto de elementos (indivíduos) que interagem entre si através de regras simples de interação, dando origem a comportamentos emergentes coletivos que não podem ser previstos quando se investiga apenas as propriedades de cada indivíduo isoladamente [4].
O mundo tem se tornado mais interconectado e complexo e nossas habilidades para compreender fenômenos reais também têm evoluído. Com o avanço da computação e da modelagem, além de termos acesso a uma explosão de novos dados, também conseguimos analisar e modelar, de maneira mais pragmática, sistemas sociais, tecnológicos, biológicos, econômicos, políticos, etc. [5, 6]. Além disso, conseguimos, através da análise de dados, responder perguntas que até então não eram possíveis. Como a biodiversidade de um ecossistema é mantida a partir da interação de diversas espécies que competem e/ou colaboram entre si? Como as instituições políticas afetam as decisões individuais, considerando que alguns desses indivíduos conseguem manipular estas próprias instituições? Como podemos utilizar a inteligência artificial para auxiliar na interação de redes sociais? Como as agências de saúde podem interferir na mobilidade e nas ações da população para evitar ou conter a propagação de uma epidemia? [3].
Para tentar responder essas e outras questões, um conjunto de pesquisadores multidisciplinares é necessário, como físicos, biólogos, cientistas da computação, engenheiros, sociólogos, urbanistas, cientistas sociais, etc. Neste contexto, a modelagem baseada em agentes surge como uma ferramenta versátil que permite a integração de diversas áreas de pesquisa, pois sua utilização não requer um conhecimento prévio extremamente avançado em simulações computacionais [7, 8, 9].
Assim sendo, o objetivo deste artigo é apresentar, de maneira didática, através de exemplos computacionais usando a interface do Netlogo [10], o que é a modelagem baseada em agentes e como podemos utilizá-la em diferentes contextos relacionados a sistemas complexos de modo geral. Espera-se que o leitor perceba, ao longo da leitura deste artigo, que, de fato, não é necessário muito conhecimento como pré-requisito para começar a usar a modelagem baseada em agentes. Ao mesmo tempo, uma vez compreendidas algumas técnicas básicas de simulação computacional, há grande potencial para o que pode ser implementado. É importante mencionar que existem outros softwares para modelagem de sistemas complexos, como o CompuCell3D , por exemplo, mas que são mais específicos para sistemas biológicos, como o crescimento de tecidos e a dinâmica de células [11].
Esperamos que esse artigo possa servir de base ou de material complementar para diferentes abordagens, como aulas de física computacional envolvendo a modelagem baseada em agentes, ou como referência em disciplinas de sistemas complexos. Este material também pode ser usado em qualquer conteúdo envolvendo ciências naturais como física, química e biologia; aulas de engenharia e até mesmo aulas de ciências sociais, como sociologia e linguística, uma vez que sistemas sociais são constituídos por indivíduos interagindo entre si e, consequentemente, podem ser mapeados como sistemas complexos [9, 12]. Por fim, os leitores, ao final deste artigo, entenderão os componentes básicos da MBA, como analisar os resultados do modelo que se deseja investigar e como identificar se tal modelo abrange, de fato, situações do mundo real. O artigo está estruturado da seguinte maneira: na seção II, explicamos o que é a modelagem baseada em agentes; na seção III, apresentamos a linguagem computacional denominada NetLogo como uma ferramenta para criar modelos baseados em agentes; na seção IV, apresentamos como a MBA pode ser aplicada no estudo de sistemas complexos, mostrando alguns exemplos de sistemas sociais, econômicos, ecológicos, etc.; por fim, na seção V, apresentamos nossas considerações finais.
2. O Que é Modelagem Baseada em Agentes
Quando falamos sobre modelos, geralmente estamos nos referindo a uma representação abstrata de algum processo, objeto ou sistema. Modelos podem ter diferentes formatos e alguns são mais fáceis de manipular que outros. Uma das maneiras de se implementar um modelo é utilizando uma abordagem computacional. Basicamente, neste caso, temos um conjunto de dados de entrada (input) que são manipulados através de um código computacional, definido previamente por um algoritmo, e que gera um conjunto de resultados, ou dados de saída (output). Em MBAs estamos interessados em representar computacionalmente elementos da realidade por meio de agentes autônomos com regras simples, mas eficazes na transferência do conhecimento do mundo real para a simulação. Por exemplo, caso o sistema que queremos modelar se trate de um grupo de formigas em busca de alimentos, podemos tratar as formigas como agentes autônomos do sistema, que podem estar em determinado estado, possuir certas características e obedecer a um conjunto de regras de interação [13, 14].
Nesse sentido, a modelagem baseada em agentes é uma metodologia que nos permite, dentre outras coisas, simular sistemas complexos. Como mencionamos anteriormente, nesta abordagem, os agentes são entidades computacionais que podem ser dotadas de determinadas características, como, por exemplo, posição, velocidade, altura, idade, gênero, estado de saúde (em modelos epidemiológicos como veremos na seção IV), etc. Estes agentes representam os elementos de um sistema qualquer. Um certo volume de um gás, por exemplo, é constituído por moléculas ou átomos deste gás (os agentes do sistema) com determinadas características como massa e velocidade. O objetivo da MBA é criar regras simples de interação entre esses indivíduos que consigam resultar na emergência de fenômenos e/ou comportamentos coletivos que não são possíveis de serem previstos analisando tais elementos do sistema individualmente [3].
Resumidamente, a maioria dos sistemas reais pode ser modelada usando MBA, visto que são constituídos basicamente por um cenário, que é o ambiente no qual os agentes vivem e interagem. A estrutura do ambiente também pode ser representada por uma rede geométrica, uma rede sem escala ou mesmo uma rede real [15]. Os agentes interagem entre si e/ou com o próprio ambiente, desenvolvendo e aprimorando as regras de interação, as estratégias de ação, etc. que podem mudar ao longo do tempo. Como resultado dessas interações, agentes podem modificar seu estado e/ou comportamento. Como veremos na Seção IV, podemos utilizar um sistema formado por pessoas saudáveis, infectadas e recuperadas como um exemplo. Se uma pessoa saudável entra em contato com outra infectada, ela pode ficar infectada também com uma certa probabilidade. Já uma pessoa infectada, por sua vez, pode se recuperar espontaneamente depois de um certo tempo. Nesse caso, temos um exemplo simples de indivíduos que mudam seu estado de acordo com as interações e, inclusive, podem mudar seu comportamento. Por exemplo, uma pessoa saudável, ao perceber que está com um vizinho infectado, pode romper aquela conexão, pelo menos temporariamente [16, 17].
Há muitas vantagens em utilizar a MBA. Uma delas é o fato da MBA ser implementada de maneira discreta e estocástica, isto é, em uma dinâmica de população, os agentes são discretos e não contínuos e as regras de interação entre eles são baseadas em probabilidades e não determinísticas. Modelos contínuos e determinísticos são, em geral, modelados utilizando um conjunto de equações diferenciais que representam a interação entre os indivíduos [18]. Outra vantagem é que a MBA permite analisar o indivíduo separadamente e também o comportamento coletivo, permitindo o uso de diferentes substratos como ambientes, sejam eles heterogêneos ou homogêneos. Diferente da modelagem determinística que nos fornece como resultado, basicamente, apenas a evolução temporal de determinado conjunto de indivíduos (por exemplo, número de infectados ao longo do tempo), e, também apresenta limitações quando se trata de redes heterogêneas representando as ligações entre os indivíduos. Isso faz com que modelos baseados em agentes sejam mais fidedignos para simular situações reais [19]. Por fim, um outro aspecto poderoso da MBA é a possibilidade de encontrar padrões e/ou regras universais que caracterizam fenômenos aparentemente diferentes. Por exemplo, o modelo SIR (suscetível-infectado-recuperado) pode tanto representar uma modelagem epidêmica como também pode representar uma modelagem de propagação de rumores. Nesse caso, os suscetíveis seriam os que não conhecem a notícia (rumor), os infectados são os espalhadores da notícia, enquanto os recuperados representam os indivíduos que estão cientes da informação, mas não possuem mais interesse em espalhá-la [20].
No entanto, é importante ressaltar também que, quanto mais complexo for o sistema a ser modelado, em termos de número de agentes, complexidade da rede de ligações e regras de interação, etc., maior será o custo computacional. É o preço que pagamos pelo benefício de ter, como resultado, um conjunto rico de dados a nível individual. Porém, nos últimos anos, as ferramentas computacionais têm se tornado cada vez mais poderosas.
3. NetLogo Como Ferramenta Para MBA
Uma das linguagens mais utilizadas para este tipo de modelagem é o NetLogo, desenvolvida em 1999 por Uri Wilensky. É um tipo de programação conhecida como low-threshold, high-ceilingâ , que significa que é fácil começar a usar, mas tem um grande potencial de crescimento e complexidade. Por isso, sua abordagem de programação é considerada acessível e intuitiva, permitindo que estudantes e pesquisadores, sem conhecimento profundo de programação, possam utilizá-lo. NetLogo [10] é uma linguagem de programação multi-agente cujo ambiente de modelagem pode ser usado em pesquisa e ensino em diversas áreas do conhecimento, incluindo ciências sociais e ciências naturais.
Portanto, o NetLogo foi projetado para ser uma plataforma acessível e flexível para modelagem baseada em agentes (MBA), mas com grande potencial e poder expressivo para a modelagem de diversos sistemas. Como linguagem, o NetLogo é prático e relativamente fácil de aprender, permitindo que os usuários criem modelos complexos de sistemas dinâmicos de maneira rápida e eficiente. A abordagem gráfica do NetLogo é baseada em blocos de funcionalidade genérica, que ajudam a criar modelos. A combinação desses blocos produz um programa completo em NetLogo. Por ser uma ferramenta que contém ambiente e linguagem computacional integrada, o NetLogo não é considerado apenas uma linguagem de programação ou simulador, mas uma plataforma completa para modelagem e simulação.
3.1 Funcionamento e interface
O software NetLogo é gratuito (freeware), isto é open-access e pode ser baixado no site oficial, mantido pela Northwestern University1. Nesse software há muitas funcionalidades que auxiliam na construção dos modelos, inclusive uma biblioteca de modelos, com diversos exemplos de diferentes áreas do conhecimento.
Há basicamente três abas de controle para o usuário investigar ou implementar o seu programa: 1) interface; 2) informação e 3) código (veja Figura 1). Na primeira, temos acesso ao ambiente simulacional propriamente dito, composto pela janela de interface gráfica (responsável pela reprodução da simulação) denominada “world” (mundo/ambiente) onde as interações entre os agentes ocorrem, onde há botões de ações, parâmetros do modelo, central de comandos e algumas configurações para a simulação. A segunda aba é dedicada às principais informações do modelo em análise/construção e a terceira é o código escrito em NetLogo, a simulação propriamente dita, onde estão todas as características e comandos do modelo.
Mostramos, em sequência (da esquerda para a direita), as três abas de controle do NetLogo para o usuário manusear o seu programa: 1) interface; 2) informação e 3) código. No exemplo desta figura, a aba interface corresponde ao código de simulação rock-paper-scissors que pode ser encontrado na biblioteca de modelos do software. Esse código, traduzido para o português, se refere ao jogo pedra-papel-tesoura, aqui representado pelas cores vermelha, verde e azul, respectivamente. Na interação, o vermelho vence o verde, que vence o azul, que, por sua vez, vence o vermelho. Os indivíduos competem com seus vizinhos, movem-se pelo ambiente e também podem se reproduzir [21]. Esse modelo foi utilizado para investigar a diversidade de espécies nos ecossistemas promovida por interações cíclicas e não hierárquicas entre populações concorrentes [22, 23].
Na interface é onde se reproduz e se obtém todas as saídas da simulação, como gráficos e reprodução do modelo no mundo. No NetLogo, é possível construir os modelos onde o foco é a interação entre agentes no mundo. O mundo da simulação opera com agentes móveis, que podem transitar por ele, de acordo com as regras definidas pelo autor da simulação, e agentes estáticos, que não se movem, mas que podem interagir com os agentes móveis por meio de regras também definidas pelo usuário.
Os agentes móveis são chamados “turtles”, enquanto os agentes estáticos são os “patches”. O mundo é um Grid (uma grade) dividido em patches, e cada patch é uma pequena peça do ground (chão/solo) por onde turtles se movem livremente. Não obstante, é possível definir ligações entre agentes por meio dos links, que também podem ter propriedades e regras de comportamento. Os links são agentes que conectam duas turtles e podem ser orientados ou não.
Netlogo também apresenta diferentes contextos (ou escopos) onde os comandos podem ser executados. Cada tipo de agente tem o seu contexto, e o programador também tem o seu escopo por meio do contexto de observer. Qualquer comando executado fora do contexto dos demais agentes é considerado um comando feito pelo observer, que tem autonomia e acesso a toda simulação.
O Netlogo permite que o programador crie diferentes tipos de agentes além das “turtles”. Um novo tipo de agente é chamado de breed, ou raças. Assim, pode-se criar agentes móveis de diferentes tipos. Isso permitiria, por exemplo, uma simulação em que os “turtles” são definidos em três tipos: lobos, ovelhas e grama, por exemplo.
Na Figura 2, mostramos alguns exemplos da própria biblioteca de modelos do NetLogo. No primeiro exemplo do modelo presa-predador, os agentes móveis (turtles) são ovelhas e lobos e podem se mover no ambiente [24]. Já os casos representados na Figura 2(b) e (c) são modelos de biologia e autômatos celulares [25, 26], respectivamente. Já na 2(d), temos a simulação da propagação de vírus em uma rede complexa [27].
Exemplos do NetLogo: (a) Modelo presa-predador, (b) modelo de difusão em uma rede direcionada, (c) modelo de agregação de células hexadecimais, (d) e modelo de espalhamento de um vírus em uma rede.
4. Como Usar MBA em Sistemas Complexos
A compreensão de sistemas cada vez mais complexos é um dos desafios atuais para a ciência. O desenvolvimento de ferramentas mais sofisticadas nos permite elaborar e responder às novas perguntas que surgem dentro de uma sociedade em constante transformação. O avanço da computação nos permite, desta forma, modelar, simular e investigar mais minuciosamente problemas complexos. Para ilustrar o poder da modelagem baseada em agentes, nesta seção, vamos ilustrar alguns exemplos nas mais diversas áreas do conhecimento.
4.1. Modelos ecológicos
Um modelo ecológico é uma representação matemática simplificada de um ecossistema altamente complexo do mundo real. Os modelos ecológicos permitem aos pesquisadores realizar experimentos computacionais em grande escala, o que seria completamente inviável de ser feito em sistemas reais. Tais modelos também permitem a simulação de processos ecológicos de longa duração, possibilitando a predição de fenômenos diversos ao longo do tempo. Esses modelos têm aplicações em muitas áreas como gestão de recursos naturais, agricultura, conservação da vida selvagem, etc. [28]. A seguir, mostraremos dois exemplos de modelos ecológicos: presa-predador e queimadas na floresta.
4.1.1. Modelo presa-predador
Um exemplo clássico de interação entre espécies é o modelo do tipo presa-predador, que pode ser descrito, de maneira simplificada, pela interação entre duas espécies, como lobos e ovelhas, por exemplo. Basicamente, tal sistema pode ser descrito da seguinte forma: os lobos se alimentam das ovelhas que, por sua vez, buscam alimentos como a grama. Quando as ovelhas têm uma oferta abundante de alimentos, elas se reproduzem mais. Isso atrai mais lobos que, consequentemente, começam a caçar as ovelhas. Então a população de ovelhas diminui, o que gera, posteriormente, uma diminuição na população de lobos, devido à redução na disponibilidade de alimento. Com menos lobos, as ovelhas se reproduzem mais e a sequência recomeça, gerando uma biodiversidade cíclica resultante da interação desse ecossistema [29].
Essa dinâmica pode ser entendida através das equações de Lotka-Volterra, que formam um par de equações diferenciais não lineares de primeira ordem [29], como mostradas a seguir:
Onde:
-
x representa a população de presas.
-
y representa a população de predadores.
-
α é a taxa de crescimento natural das presas na ausência de predadores.
-
β é a taxa de predação, que representa a taxa de sucesso do predador em capturar a presa.
-
δ é a taxa de reprodução do predador per capita com base na quantidade de presas capturadas.
-
γ é a taxa de mortalidade natural dos predadores na ausência de presas.
Na Figura 3 mostramos um exemplo resolvido numericamente utilizando o pacote deSolve no software estatístico R2. O gráfico representa os resultados para a dinâmica utilizando os seguintes parâmetros: α = 0.1, β = 0.02, δ = 0.1 e γ = 0.1. Na Figura 3(a), mostramos a evolução temporal da dinâmica do modelo e na Figura 3(b), mostramos o ciclo de fases que descreve a dinâmica populacional entre presas e predadores, mostrando como uma população influencia a outra em um sistema fechado. À medida que a população de presas cresce, devido à baixa pressão de predação, a abundância de alimento permite o aumento dos predadores. Esse crescimento resulta na diminuição da população de presas, que, por sua vez, leva à redução dos predadores devido à escassez de recursos. O ciclo se repete, formando um padrão oscilatório que reflete a interdependência entre as espécies e ilustra a estabilidade dinâmica do sistema.
(a) Evolução temporal determinística de um sistema presa-predador que se comporta seguindo a dinâmica de Lotka-Volterra. (b) Ciclo Presa-Predador.
No entanto, ao se estudar um sistema de equações diferenciais, o modelo é representado por uma evolução determinística, como discutimos anteriormente. Ao realizar uma simulação deste modelo, usando MBA, introduzimos uma estocasticidade na dinâmica, como podemos observar na Figura 4. A quantidade de ovelhas e lobos oscila com o tempo, porém de maneira mais ruidosa. Essa dinâmica foi obtida utilizando o modelo Wolf Sheep Predation do NetLogo (veja Figura 2(a)) [24]. Para gerar essa dinâmica, iniciamos a simulação com 150 ovelhas e 65 lobos e colocamos uma taxa de reprodução de 4% para ovelhas e 5% para lobos.
Dinâmica presa-predador simulada utilizando MBA no NetLogo com as seguintes configurações iniciais: 150 ovelhas e 65 lobos, taxa de reprodução de 4% para ovelhas e 5% para lobos.
4.1.2. Modelo: queimada na floresta
O modelo do Netlogo denominado “Forest fire” [30], exemplificado na Figura 5, pode ser usado para simular um incêndio em uma floresta. Nele, podemos alterar a densidade das árvores e observar como este parâmetro pode influenciar na propagação do fogo. Quanto mais densa a vegetação, mais rápido o fogo se espalha, pois há mais material combustível disponível. Por outro lado, áreas com menor densidade de árvores podem conter mais facilmente o avanço do incêndio. A pergunta principal a ser feita quando estudamos este modelo é: se começamos com algumas árvores queimadas em uma borda da floresta, qual é a probabilidade do fogo se espalhar por toda parte até atingir o outro lado da floresta? Um dos primeiros trabalhos sobre este tipo de modelo, foi feito por Per Bak e colaboradores [31], no qual foi demonstrado que a propagação do fogo dependia de um parâmetro crítico [32], a densidade de árvores na floresta. Como este parâmetro surge naturalmente em sistemas reais, esse fenômeno ficou conhecido como “criticalidade auto-organizada” e, posteriormente, foi demonstrado em outros contextos, como, por exemplo, em avalanches em pilhas de areia [33].
Modelo fogo na floresta com uma densidade inicial de árvores de 60%. O fogo começa a se alastrar e, nas imagens sequenciais da esquerda para a direita, temos, respectivamente, 15%,32%,50% e 70% da floresta tomada pelo fogo.
Nesta versão do modelo apresentado no Netlogo [30], os patches podem ter quatro estados distintos: (1) verde, indicando uma árvore não queimada, (2) vermelho, indicando uma árvore em chamas, (3) marrom, indicando uma árvore queimada, ou (4) preto, indicando um espaço vazio, isto é, sem árvores (veja Figura 2). No início da simulação, a borda da esquerda fica toda vermelha, indicando o início do incêndio e o fogo pode se espalhar para qualquer árvore vizinha de uma árvore em chamas, isto é, uma árvore à sua direita, à esquerda, abaixo ou acima que ainda não esteja queimada ou em chamas. O espalhamento acontece até que o fogo não consiga mais se espalhar, seja porque não há mais árvores a serem queimadas (pontos pretos) ou porque todas elas já foram queimadas. Por isso, o único parâmetro de controle neste modelo é a densidade de árvores na floresta. Este parâmetro serve, então, para determinar se o incêndio vai prosseguir ou não. Como a dinâmica é probabilística, e não determinística, mesmo se você executar o modelo várias vezes com a mesma condição inicial de densidade, obterá resultados diferentes. O ponto crítico (ou critical point) deste modelo é 59% de densidade de árvores. Isto é, abaixo deste valor, o fogo não consegue se espalhar até a outra borda, enquanto valores maiores que 59% farão com que o incêndio chegue até a outra borda. Ou seja, o modelo apresenta uma transição de fase determinada por este ponto crítico e um comportamento não linear, isto é, uma pequena mudança no parâmetro de controle pode ocasionar uma mudança significativa no resultado final da simulação [31, 34].
Podemos também incluir outras características no modelo como uma probabilidade de espalhamento do fogo. Essa propriedade pode representar uma série de fatores, como, por exemplo, o vento. Podemos pensar no efeito do vento sobre um incêndio como um aumento da probabilidade do fogo se espalhar em uma determinada direção. O modelo pode se tornar mais complexo, tendo em vista que incluir todos os elementos é uma tarefa quase impossível. Um exemplo seria a inclusão de efeitos locais provocados pelo vento, como a turbulência [35].
Estas simulações são úteis para compreender como a densidade das árvores afeta a propagação do fogo e para desenvolver estratégias de manejo florestal que tentam reduzir o risco e impacto de incêndios florestais. Obviamente, trata-se de um modelo simplificado, mas que pode servir de ponto de partida para modelos mais elaborados que consigam descrever, de fato, situações mais realistas, como o grande incêndio que aconteceu em fevereiro de 2024, em Valparaíso, no Chile3. O incêndio iniciou-se nas florestas e, devido a diversos fatores, como vento e a geografia do local, atingiu comunidades inteiras, matando mais de 130 pessoas. O modelo de propagação de fogo na floresta pode ser relevante para descrever outros fenômenos naturais, como a propagação de uma doença, a percolação de petróleo em rochas ou a difusão de informações em uma população [36].
4.2. Modelos socioeconômicos
Os modelos socioeconômicos podem ser vistos como ferramentas para compreender e prever o comportamento de sistemas sociais e econômicos interconectados. Esses modelos consideram as interações dinâmicas entre diversos agentes, como indivíduos, empresas e instituições, bem como os efeitos dessas interações no desenvolvimento de padrões emergentes e na evolução do sistema como um todo. Ao capturar a complexidade e a não linearidade das relações socioeconômicas, esses modelos permitem a análise de fenômenos como desigualdade econômica, crescimento sustentável e impacto de políticas públicas, oferecendo uma visão aprofundada das estruturas subjacentes e das dinâmicas que moldam a sociedade e a economia. A seguir, apresentamos alguns exemplos.
4.2.1. Segregação
Um modelo simples chamado Segregation do Netlogo [37] pode ser usado para estudar o fenômeno de segregação nas sociedades atuais. Este exemplo simula o comportamento de dois tipos de agentes em uma vizinhança, inspirado na teoria do economista Thomas Schelling sobre sistemas sociais [38]. Os agentes são representados pelas cores laranja e azul (veja Figura 6(a)) e eles têm preferências de viver perto de outros da mesma cor. A simulação demonstra como essas preferências individuais se propagam pela vizinhança, resultando em padrões de segregação. Embora bastante simplificado, o modelo permite a adição de novas regras, novos agentes e novos tipos de interação, enriquecendo assim a dinâmica e tornando-a mais realista.
(a) Configuração inicial do modelo de segregação, começando com 80% da rede ocupada e com um valor de 40% de similar-wanted. (b) Evolução do modelo em t=5 passos de tempo e, (c) estado final do modelo em t=15 quando o número final de agentes insatisfeitos chega a zero.
Existem apenas dois parâmetros neste modelo: o controle de densidade (density ), que ajusta o número total de agentes, e o controle semelhante-desejado (similar-wanted ), que define a porcentagem de vizinhos da mesma cor que cada agente deseja ter. Por exemplo, podemos iniciar a dinâmica com 80% da rede ocupada, ou seja, 20% da rede fica vazia (espaços para os agentes se locomoverem) e com um valor de similar-wanted de 40%, o que significa que cada agente deseja que, pelo menos, 40% dos seus vizinhos sejam semelhantes a ele, isto é, tenha a mesma cor. Por isso, na configuração inicial, aparecem alguns agentes representados por X, que significa que são os agentes insatisfeitos (veja Figura 6(a)). Ao longo da dinâmica, os agentes insatisfeitos se movem para novos locais na tentativa de atingir o seu valor mínimo de similar-wanted , o que leva a mudanças na composição da vizinhança ao longo do tempo. A segregação aumenta à medida que agentes se agrupam com outros da mesma cor (veja Figuras 6(b) e (c)). A Figura 7 mostra a evolução da porcentagem de vizinhos similares e o número de agentes insatisfeitos ao longo do tempo. Valores diferentes para similar-wanted e densidade inicial afetam o grau de segregação e o tempo necessário para o modelo convergir. Novas regras podem ser consideradas, como alterar o procedimento de busca de novos locais dos agentes, incorporar redes sociais como substrato da dinâmica ou modificar as regras de felicidade ou insatisfação do agente.
À esquerda, a porcentagem de vizinhos similares ao longo do tempo e à direita a quantidade de agentes insatisfeitos diminuindo com o tempo, à medida em que a segregação aumenta, como mostrado na figura anterior.
4.2.2. Distribuição de riqueza
Um outro exemplo significativo de MBA que captura aspectos socioeconômicos importantes é o estudo da distribuição de riqueza e renda. Em modelos que exploram esta dinâmica, os agentes envolvidos interagem com distintas fontes de renda ou riqueza, seguindo regras definidas.
No modelo Wealth Distribution [39], disponível no NetLogo, simula-se a distribuição de riqueza na sociedade. A expressão “os ricos ficam mais ricos e os pobres ficam mais pobres” resume bem a desigualdade observada na distribuição de riqueza. Na simulação, essa desigualdade é representada pela lei de Pareto [40], na qual há um grande número de pessoas “pobres” (cor vermelha na simulação), um número menor de pessoas na “classe média” (verdes) e muito menos pessoas “ricas” (azuis) – veja Figura 8.
(a) Configuração inicial do modelo, começando com 500 pessoas e demais parâmetros conforme pré-definidos na simulação. (b) Evolução do modelo em t=100 passos de tempo e, (c) estado do modelo em t=200 quando o número de agentes pobres já é notadamente alto, contrariamente pouquíssimas pessoas ricas e de classe média.
No modelo, cada patch possui uma quantidade variável de grãos, que podem crescer ao longo do tempo. As pessoas coletam grãos dessas células e os consomem para sobreviver. A quantidade de grãos acumulada por cada pessoa representa sua riqueza.
A simulação começa com uma distribuição de riqueza aproximadamente igual entre os indivíduos. À medida que a simulação avança, as pessoas se locomovem pelo cenário coletando o máximo de grãos possível. Cada pessoa se move na direção onde há maior abundância de grãos. Em cada tick (unidade de tempo na simulação), cada pessoa consome uma quantidade de grãos correspondente ao seu metabolismo. Além disso, cada pessoa tem uma expectativa de vida. Quando seu tempo de vida se esgota ou quando ela fica sem grãos, ela morre e gera um único descendente. Este descendente recebe uma quantidade aleatória de grãos, variando entre a quantidade de grãos da pessoa mais pobre e da pessoa mais rica, e possui um metabolismo também aleatório, sem herança de riqueza. A simulação permite observar como as pessoas se movem para áreas com maior concentração de grãos e como essa movimentação impacta a distribuição de riqueza.
Para analisar a equidade ou desigualdade na distribuição da riqueza, o modelo utiliza ferramentas como a Curva de Lorenz e o índice de Gini (veja Figura 9). A Curva de Lorenz mostra a relação entre a porcentagem da população e a porcentagem de riqueza que essa população possui, enquanto o índice de Gini é uma medida numérica da desigualdade. Numericamente, varia de zero a um. O valor zero representa a situação de igualdade, ou seja, todos têm a mesma renda, enquanto o valor um está no extremo oposto, isto é, uma só pessoa detém toda a riqueza [41].
(a) Variação do índice de Gini ao longo do tempo. Note que quando mais perto de um, mais desigual é a distribuição de riqueza. (b) Curva de Lorenz.
Os controles do modelo permitem ajustar diversos parâmetros, como a densidade inicial de grãos, o número de pessoas, a expectativa de vida, entre outros. Como pode ser observado na Figura 10, há também outros gráficos gerados na simulação que enriquecem o entendimento do fenômeno. Portanto, com a simulação, é possível realizar várias observações e experimentos, como analisar como a distribuição de riqueza evolui ao longo do tempo e como diferentes configurações afetam essa distribuição.
(a) A quantidade da população nas três classes em função do tempo. Preto representa a classe baixa, vermelho, a classe média e verde a classe alta. (b) Histograma das classes.
4.3. Modelos físicos
Por fim, temos alguns modelos que aplicam princípios da física e da matemática para investigar o comportamento emergente em sistemas compostos por muitos agentes que interagem entre si. Esses modelos ajudam a entender como propriedades macroscópicas surgem a partir de interações microscópicas, revelando padrões e transições de fase, por exemplo, como veremos a seguir.
4.3.1. Modelos epidêmicos
Um dos exemplos de modelos físicos que revelam padrões e transições de fase se encontra na classe de modelos epidêmicos que, a grosso modo, são controlados por parâmetros de infecção e cura dos agentes envolvidos na dinâmica. Dependendo dos valores de tais parâmetros, a epidemia pode cessar rapidamente ou, senão, pode se espalhar por toda a rede de contatos. Nesta seção, vamos mostrar o modelo SIR (Suscetível – Infectado – Recuperado) que serve de base para a construção de outros modelos mais sofisticados.
O modelo SIR é o modelo matemático aplicado à propagação de doenças infecciosas mais básico. Esse modelo foi formulado pelo médico William Ogilvy Kermack e o bioquímico Anderson Gray McKendrick, que se basearam na pesquisa de Ronald Ross (médico) e Hilda Hudson (matemática). Kermack e McKendrick publicaram sua teoria em três artigos publicados em 1927, 1932 e 1933, respectivamente, consolidando o início da epidemiologia moderna [42, 43, 44].
O modelo SIR de Kermack e McKendrick descreve a evolução temporal de casos de uma doença infecciosa à medida que são transmitidos em uma população. Isto é, calcula, teoricamente, o número de pessoas que foram infectadas com a doença. Contudo, vale ressaltar que assume-se uma população fechada ao longo do tempo, isto é, a quantidade de indivíduos permanece constante (os indivíduos no compartimento R podem representar, a princípio, tanto os indivíduos recuperados quanto os que não sobreviveram à doença).
Desse modo, chamamos este e outros modelos onde os indivíduos flutuam de um grupo para outro de modelos compartimentais (ou de compartimentos). No caso do SIR, há três compartimentos: suscetíveis (S), infectados (I) e removidos (R). Após a proposta de Kermack e McKendrick, surgiram novas propostas que continham mais compartimentos além do SIR, dependendo da necessidade, que é sempre ditada pelo tipo de doença e características de propagação da mesma. Essas modificações são necessárias à medida que há a necessidade de modelos com maior nível de complexidade, que possam descrever a propagação de doenças, levando em consideração também outros fatores como comorbidades, hospitalizações, etc [45].
É possível abordar o modelo SIR de duas maneiras: 1) abordagem determinística, ou baseada em equações, e 2) abordagem estocástica. A distinção desses dois métodos de abordagem reside, basicamente, no fato de que, no primeiro, utilizam-se equações diferenciais que descrevem a probabilidade de transição de um compartimento para o outro, enquanto, no segundo, as probabilidades de transição de um compartimento para o outro são modeladas através de um processo de Markov, usando simulações de Monte Carlo ou a modelagem baseada em agentes. Conforme o fluxograma da Figura 11, se determinada parcela da população de suscetíveis (S) tem contato com indivíduos já infectados do compartimento (I), pode haver uma mudança de estado de S para I com uma taxa de infecção β. Por sua vez, os indivíduos infectados podem se “mover” para o compartimento removido (morto ou recuperado) espontaneamente à uma taxa de recuperação γ.
Para o caso de uma abordagem utilizando equações diferenciais, temos um grupo de três equações diferenciais acopladas que descrevem a evolução temporal do sistema, conforme mostram as Equações 2, 3 e 4.
Na Equação 2, observamos que o número de indivíduos suscetíveis (S) decresce devido à infecção de indivíduos saudáveis em contato com indivíduos infectados. Na Equação 3, observamos que o número de infectados (I) aumenta caso os indivíduos suscetíveis se tornem infectados a uma taxa β e diminui caso os indivíduos infectados fiquem curados espontaneamente à uma taxa γ. E na Equação 4, o número de recuperados (R) aumenta espontaneamente a uma taxa γ. Para resolver esse sistema de equações, podemos assumir uma hipótese comum de que praticamente todos os indivíduos são suscetíveis no início da dinâmica, exceto o indivíduo zero. Isso significa que S(t = 0) ≈ N. Assim, observamos que a solução da Equação 3 será um crescimento exponencial do número de infectados se β/γ > 1 ou um decrescimento exponencial, caso contrário. Ou seja, podemos definir um número R0 = β/γ, chamado de número básico de reprodução, que, basicamente, diz respeito ao quão infecciosa é a doença e indica o número de indivíduos que serão infectados a partir de um indivíduo já infectado. De modo geral, esse conjunto de equações pode ser resolvido utilizando o pacote deSolve do R, por exemplo, e, para um cenário onde R0 > 1
(β = 0.3 e γ = 0.1), obtemos um gráfico como mostrado na Figura 12 [46].
Evolução temporal da quantidade de indivíduos SIR para a taxa de reprodução R0 > 1 (β = 0.3 e γ = 0.1).
Perceba que a tendência é de que, com o passar do tempo, surja um pico de infecção na população à medida que os suscetíveis vão sendo infectados. Além disso, espera-se que a população se recupere da doença à medida que o pico de infecção diminui. Contudo, dependendo da letalidade da doença, não é viável simplesmente aguardar esse período, pois o número de óbitos pode ser elevado, especialmente porque, nesse modelo, as mortes também são contabilizadas no compartimento R. Recentemente, o mundo passou por uma situação pandêmica com a COVID-19, que é um exemplo de uma doença com elevada taxa de letalidade, causando muitas situações de complicações graves e mortes. Em casos assim, deve-se estudar medidas preventivas que diminuam o pico de infecção da epidemia a fim de mitigar os efeitos adversos, como vacinação, distanciamento social, diminuição do contágio, etc. [47].
O modelo Virus do Netlogo [48] simula a transmissão de um vírus na população humana de maneira estocástica utilizando MBA. O modelo é inicializado com um determinado número de pessoas, das quais uma pequena porcentagem já está infectada. As pessoas se movem aleatoriamente pelo mundo e podem estar em um dos três estados: saudáveis, mas suscetíveis a infecções (verde), doentes e infecciosas (vermelho) e imunes ou recuperadas (cinza) – veja Figura 13. Nessa dinâmica, também são considerados o nascimento e a morte das pessoas. Nessa abordagem, consideramos uma mistura homogênea, isto é, não levamos em consideração a estrutura de contato entre os indivíduos. Neste caso, a densidade populacional afeta a frequência com que indivíduos infectados, imunes e suscetíveis entram em contato uns com os outros.
Modelo Virus do Netlogo considerando uma população inicial de 150 indivíduos, sendo 10 deles já infectados inicialmente. Da esquerda para a direita: t=0, t=80 e t=240 passos de tempo, respectivamente. Nesta dinâmica, as pessoas se movem aleatoriamente pelo mundo e podem estar em um dos três estados: saudáveis, mas suscetíveis a infecções (verde), doentes e infecciosas (vermelho) e imunes ou recuperadas (cinza).
Na Figura 14, mostramos a evolução do número de suscetíveis, infectados e recuperados, ao longo do tempo. Neste modelo, a imunidade não é permanente, isto é, depois de um certo tempo, o indivíduo imune volta a ser suscetível. Nesse sentido, esse modelo se assemelha mais os modelo SIRS (Suscetível – Infectado – Recuperado – Suscetível). Além disso, há também o nascimento e morte de novos indivíduos, fazendo com que a população não permaneça constante ao longo do tempo. Por isso observamos esse comportamento periódico nos 3 diferentes compartimentos.
Há outras variações de modelos de transmissão de vírus no NetLogo, como por exemplo o modelo HIV [49], que simula a propagação do vírus da imunodeficiência humana (HIV) em uma pequena população. O HIV espalha-se de várias formas, das quais o contato sexual é apenas uma delas, que é a forma de propagação utilizada neste modelo. Dentre outros parâmetros, o modelo inclui a quantidade de tempo que um casal médio da população permanecerá junto, a tendência da população para usar preservativos e a tendência da população para fazer o teste de HIV. Tais modelos são importantes pois podem prever como a identificação regular de indivíduos infectados impacta na saúde pública.
Por fim, o NetLogo também conta com a simulação do SIR em uma rede complexa com conexão preferencial [50], denominado Virus on a Network [51]. Tal abordagem é interessante pois mostra como a estrutura de conexões dos indivíduos pode afetar a dinâmica de propagação da epidemia [45].
4.3.2. Caminhada aleatória
A caminhada aleatória (ou passeio aleatório) é um conceito matemático que descreve um trajeto composto por uma sequência de passos aleatórios (veja Figura 15 da dinâmica de caminhada aleatória gerada no NetLogo). O termo “passeio aleatório” foi introduzido por Karl Pearson em 1905 [52] para descrever trajetórias formadas por passos aleatórios, como o movimento desordenado de partículas em suspensão. Esse conceito foi posteriormente relacionado ao movimento browniano, descoberto por Robert Brown em 1827, ao observar o comportamento de grãos de pólen na água [53]. Décadas depois, em 1905, Albert Einstein forneceu uma descrição teórica do movimento browniano, estabelecendo sua conexão com as propriedades microscópicas dos fluidos [54]. Assim, o passeio aleatório tornou-se uma base matemática para compreender fenômenos estocásticos, incluindo o movimento browniano e suas aplicações em física, química e biologia.
A dinâmica de caminhada aleatória na qual, a cada passo de tempo, a seta amarela muda sua direção aleatoriamente em um grid com condições de contorno periódicas.
4.3.3. Percolação
Na teoria da percolação, estuda-se como uma substância, como óleo, se desloca através de um material com porosidade, como a rocha. Broadbent e Hammersley (1957) [55] foram os primeiros a formular esse problema que, desde então, tem atraído o interesse de diversos matemáticos e físicos. Inspirados pelos modelos de autômatos celulares [56], eles propuseram um modelo de percolação utilizando o exemplo de uma pedra porosa imersa em um balde de água. A principal questão levantada por eles foi: qual é a probabilidade de que o centro da pedra fique molhado?
No modelo de percolação do Netlogo [57] é feita uma simulação que demonstra como um derramamento de óleo pode se infiltrar no solo permeável. Inspirado em um modelo de papel e caneta, ele representa o solo como uma grade de xadrez, com quadrados cinzas representando partículas sólidas e quadrados marrons representando espaços semipermeáveis entre elas. O óleo, representado por gotas vermelhas, se move para baixo na grade, atravessando os quadrados marrons de acordo com a porosidade do solo, que é um parâmetro que pode ser alterado. As gotas de óleo afundam diagonalmente entre as partículas sólidas e podem saturar o solo, marcado em preto.
O modelo permite ajustar a porosidade do solo e observar como isso afeta a propagação do óleo, isto é, a porosidade funciona como a porcentagem de chance de o óleo entrar em cada quadrado marrom à medida em que desce. A Figura 16 mostra a dinâmica da percolação gerada no NetLogo considerando uma porosidade igual a 62%. Além disso, o modelo exemplifica um autômato celular estocástico, um tipo de modelo computacional que utiliza a aleatoriedade para representar a probabilidade de certos eventos ocorrerem dentro de uma grade de células interconectadas [56].
A dinâmica de percolação é representada por óleo (pontos vermelhos) infiltrando-se em um solo com porosidade de 62% (em marrom), à medida que se desloca para baixo. Da esquerda para a direita mostrando diferentes instantes de tempo sendo t1 < t2 < t3.
A percolação, como modelo matemático, oferece uma compreensão profunda sobre como uma substância ou até mesmo uma informação ou vírus pode se propagar através de um substrato, como um material poroso, por exemplo. Assim como o modelo de fogo na floresta, o modelo de percolação pode ser utilizado em outros contextos, mostrando como a matemática da percolação pode contribuir para a compreensão de processos dinâmicos complexos em diversas áreas do conhecimento.
5. Considerações Finais
A modelagem baseada em agentes, especialmente utilizando ferramentas como o NetLogo, tem se mostrado uma abordagem poderosa para a simulação de sistemas complexos. Um modelo baseado em agentes oferece uma descrição simplificada do sistema real, sendo suficientemente detalhado para capturar os mecanismos principais do fenômeno, mas evitando o excesso de detalhamento que poderia inviabilizar sua análise. Esse equilíbrio torna a MBA uma ferramenta prática para entender, explicar e prever comportamentos complexos [19].
Além disso, os modelos promovem o esclarecimento ao destacar mecanismos fundamentais e possibilitar experimentos que variam parâmetros e condições iniciais, gerando insights sobre o comportamento do sistema. Eles também funcionam como uma plataforma de experimentos mentais, permitindo explorar ideias ou fenômenos hipotéticos, bem como identificar analogias entre sistemas distintos [7, 9, 14].
Outra questão bastante relevante associada à modelagem computacional é a predição. No entanto, é fundamental lembrar que a precisão de um modelo preditivo depende dos dados de entrada e do contexto. Em muitos casos, o objetivo principal não é prever com exatidão eventos futuros, mas identificar padrões passados e entender como esses padrões podem emergir novamente sob determinadas condições [8].
Por fim, do ponto de vista prático, esperamos que tenha ficado claro para estudantes e professores que se interessam por esse tema, que os modelos também oferecem uma forma eficaz de comunicação e educação, simplificando conceitos para facilitar o aprendizado e promovendo o diálogo científico. A modelagem computacional, de maneira geral, é uma ferramenta útil para fomentar um discussão mais objetiva e focada nos mecanismos relevantes que explicam comportamentos observados.
Agradecimentos
C. R. da Silva, O. Mesquita agradecem ao apoio financeiro da FAPEMIG e A. S. da Mata agradece ao apoio financeiro do CNPq/FAPEMIG projeto APQ-06591-24.
References
- [1] S.C. Bankes, Proceedings of the National Academy of Sciences 99(suppl3), 7199 (2002).
- [2] N. Boccara, Modeling Complex Systems (Springer, New York, 2010), v. 1.
- [3] U. Wilensky e W. Rand, An Introduction to Agent-Based Modeling: Modeling Natural, Social, and Engineered Complex Systems with NetLogo (MIT Press, Cambridge, 2015).
- [4] J. Kwapień e S. Drożdż, Phys. Rep. 515, 115 (2012).
- [5] A.E. Hassanien, A.T. Azar, V. Snasael, J. Kacprzyk e J.H. Abawajy, in: Big Data in Complex Systems: Challenges and Opportunities (Springer, Switzerland, 2015), v. 9.
- [6] J.N. Kutz, Data-Driven Modeling & Scientific Computation: Methods for Complex Systems & Big Data (Oxford University Press, Oxford, 2013).
- [7] P. Patlolla, V. Gunupudi, A.R. Mikler e R.T. Jacob, em: Innovative Internet Community Systems: 4th International Workshop, IICS 2004 (Guadalajara, 2004).
- [8] C.M. Macal e M.J. North, em: Proceedings of the 2009 Winter Simulation Conference (WSC) (Austin, 2009).
- [9] R. Conte e M. Paolucci, Front. Psychol. 5, 83393 (2014).
-
[10] U. Wilensky, NetLogo, disponível em: http://ccl.northwestern.edu/netlogo/
» http://ccl.northwestern.edu/netlogo/ - [11] J.A. Izaguirre, R. Chaturvedi, C. Huang, T. Cickovski, J. Coffland, G. Thomas, G. Forgacs, M. Alber, G. Hentschel, S.A. Newman et al., Bioinformatics 20, 1129 (2004).
- [12] M.W. Macy e R. Willer, Annu. Rev. Sociol. 28, 143 (2002).
- [13] T.F.M. Lima, S.D. Faria, B.S.S. Filho e T.G.S. Carneiro, em: Anais XIV Simpósio Brasileiro de Sensoriamento Remoto (Natal, 2009).
- [14] D. Helbing, em: Social Self-Organization: Agent-Based Simulations and Experiments to Study Emergent Social Behavior, editado por C. Brown (Springer, Zürich, 2012).
- [15] A.S. Mata, Braz. J. Phys. 50, 658 (2020).
- [16] M.J. Keeling e K.T.D. Eames, J. R. Soc. Interface 2, 295 (2005).
- [17] R.M. Anderson e R.M. May, Infectious Diseases of Humans: Dynamics and Control (Oxford University Press, Oxford, 1991).
- [18] R. Laura, Rev. Enseñanza Fís. 17, 74 (2004).
- [19] E. Bonabeau, Proc. Natl. Acad. Sci. USA 99 suppl3, 7280 (2002).
- [20] Y. Moreno, M. Nekovee e A.F. Pacheco, Phys. Rev. E 69, 066130 (2004).
- [21] B. Head, R. Grider e U. Wilensky, NetLogo Rock Paper Scissors Model, Center for Connected Learning and Computer-Based Modeling, Technical Report (Northwestern University, Evanston, 2017).
- [22] T. Reichenbach, M. Mobilia e E. Frey, J. Theor. Biol. 254, 368 (2008).
- [23] T. Reichenbach, M. Mobilia e E. Frey, Nature 448, 1046 (2007).
- [24] U. Wilensky, NetLogo Wolf Sheep Predation Model, Technical Report, (Northwestern University, Evanston, 1997).
- [25] F. Stonedahl e U. Wilensky, NetLogo Diffusion on a Directed Network Model, Technical Report (Northwestern University, Evanston, 2008).
- [26] U. Wilensky, NetLogo Hex Cell Aggregation Model, Technical Report (Northwestern University, Evanston, 007).
- [27] F. Stonedahl e U. Wilensky, NetLogo Virus on a Network Model, Technical Report (Northwestern University, Evanston, 2008).
- [28] S.E.Jørgensen e G. Bendoricchio, Developments in Environmental Modelling 21, ix (2001).
- [29] J.D. Murray, Mathematical Biology: An Introduction (Springer, Berlin, 2002), v. 17.
- [30] U. Wilensky, NetLogo Fire Model, Technical Report (Northwestern University, Evanston, 1997).
- [31] P. Bak, C. Tang e K. Wiesenfeld, Phys. Rev. Lett. 59, 381 (1987).
- [32] D. Stauffer, J. Adler e A. Aharony, J. Phys. A: Math. Gen. 27, L475 (1994).
- [33] P. Evesque, Phys. Rev. A 43, 2720 (1991).
- [34] K. Chen, P. Bak e M.H. Jensen, Phys. Lett. A 149, 207 (1990).
- [35] P. Bak, K. Chen e C. Tang, Phys. Lett. A 147, 297 (1990).
- [36] M.E.J. Newman, M. Girvan e J.D. Farmer, Phys. Rev. Lett. 89, 028301 (2002).
- [37] U. Wilensky, NetLogo Segregation Model, Center for Connected Learning and Computer-Based Modeling (Northwestern University, Evanston, 1997).
- [38] T.C. Schelling, The Journal of Mathematical Sociology 1, 143 (1971).
- [39] U. Wilensky, NetLogo Wealth Distribution Model, Center for Connected Learning and Computer-Based Modeling (Northwestern University, Evanston, 1998).
- [40] M.E.J. Newman, Contemp. Phys. 46, 323 (2005).
- [41] A.C. Murolo, Rev. Análise 5, 43 (2004).
- [42] W.O. Kermack e A.G. McKendrick, Proc. R. Soc. Lond. A 115, 700 (1927).
- [43] W.O. Kermack e A.G. McKendrick, Proc. R. Soc. Lond. A 138, 55 (1932).
- [44] W.O. Kermack e A.G. McKendrick, Proc. R. Soc. Lond. A 141, 94 (1933).
- [45] A.S. Mata e S.M.P. Dourado, São Paulo J. Math. Sci. 15, 1025 (2021).
- [46] H.H. Weiss, Mater. Mat. 0001, 17 (2013).
- [47] S. Moein, N. Nickaeen, A. Roointan, N. Borhani, Z. Heidary, S.H. Javanmard, J. Ghaisari e Y. Gheisari, Sci. Rep. 11, 4725 (2021).
- [48] F. Stonedahl e U. Wilensky, NetLogo Virus Model, Center for Connected Learning and Computer-Based Modeling (Northwestern University, Evanston, 1998).
- [49] F. Stonedahl e U. Wilensky, NetLogo HIV Model, Center for Connected Learning and Computer-Based Modeling (Northwestern University, Evanston, 1997).
- [50] A.L. Barabási e R. Albert, Science 286, 509 (1999).
- [51] F. Stonedahl e U. Wilensky, NetLogo Virus on a Network Model, Center for Connected Learning and Computer-Based Modeling (Northwestern University, Evanston, 2008).
- [52] K. Pearson, Nature 72, 342 (1905).
- [53] P. Hänggi e F. Marchesoni, Chaos 15, 2 (2005).
- [54] A. Einstein, Ann. Phys. 19, 371 (1906).
- [55] S.R. Broadbent e J.M. Hammersley, Math. Proc. Camb. Philos. Soc. 53, 629 (1957).
- [56] S. Wolfram, Rev. Mod. Phys. 55, 601 (1983).
- [57] U. Wilensky, NetLogo Percolation Model, Center for Connected Learning and Computer-Based Modeling (Northwestern University, Evanston, 1998).
Datas de Publicação
-
Publicação nesta coleção
10 Mar 2025 -
Data do Fascículo
2025
Histórico
-
Recebido
16 Dez 2024 -
Aceito
01 Fev 2025