SciELO - Scientific Electronic Library Online

 
vol.65 issue4 author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

    Related links

    • On index processCited by Google
    • Have no similar articlesSimilars in SciELO

    Share


    Ciência e Cultura

    On-line version ISSN 2317-6660

    Cienc. Cult. vol.65 no.4 São Paulo  2013

    http://dx.doi.org/10.21800/S0009-67252013000400014 

     

    O papel da emergência em simulações de sociedades de agentes artificiais

    Nuno David
    Jaime Simão Sichman

     

    Não há disciplina científica, a partir da segunda metade do século XX, que tenha contribuído de modo tão profundo para o ressurgimento do interesse científico e filosófico pelo conceito de "emergência" como a simulação computacional de sistemas complexos. Os modelos de simulação pertencem a uma classe de modelos distintos dos modelos teóricos tratáveis através de métodos analíticos. Embora possam ser baseados em modelos teóricos, a sua implementação em um computador implica um rol de tratamentos formais e informais, através de uma cadeia de transformação em sucessivos outros modelos, que torna o produto final de alguma forma autônomo da teoria ou do modelo que lhe deu origem.

    Um dos aspectos interessantes desses modelos consiste em analisar os resultados produzidos pelo processo de interação entre as entidades que os constituem, isto é, a emergência de características observáveis em um nível macro de análise, que não terão sido intencionalmente especificadas no modelo em um nível micro de análise. Tais observações devem ser confirmadas a posteriori, após múltiplos testes da simulação, sendo algumas delas difíceis de validar (1). O escrutínio de resultados emergentes é um dos aspectos fulcrais para o entendimento da relação entre as propriedades globais do modelo e as propriedades das entidades que o constituem (2). Especialmente em estudo de sistemas complexos em ciências sociais (3), as relações encontradas entre os níveis micro e macro de análise, bem como a sua correta validação, constituem o ingrediente mais apelativo para a utilização de abordagens baseadas em simulação computacional.

    No entanto, e não obstante ao extenso uso de modelos de simulação para o estudo da complexidade social, o conceito de emergência não deixa de levantar interrogações científica e filosoficamente estimulantes, que têm merecido contínua análise (4; 5). Interrogações que nas ciências sociais, com menos apetrechos do que as ciências naturais e as da computação para a pesquisa experimental, historicamente multiparadigmáticas, surgem de forma mais vigorosa.

    Este artigo procurará responder a questões fundamentais relativas à natureza e ao papel da emergência em simulações computacionais de fenômenos e teorias sociais, em particular no caso das simulações baseadas em agentes. Como explicar o conceito de emergência no contexto do método de desenvolvimento de simulações, e como se enquadra esse conceito no reconhecimento de que o produto final de uma simulação é o resultado de uma sucessão de transformações de modelos em outros modelos. Para compreender o que verdadeiramente emerge de um modelo computacional, interessa pois, em primeiro lugar, compreender a natureza do processo de implementação de programas em computadores. O que poderá emergir de um programa em execução em um computador, que é, por definição, uma máquina física? Neste artigo, mostramos que a sucessiva transformação de modelos e os processos computacionais de inferência que lhe estão subjacentes carregam um conjunto de pressupostos assumidos pelo pesquisador, que vão além da capacidade que os computadores têm para os representar. Consequentemente, o processo de inferência que relaciona um estado emergente com a sua microdinâmica carrega, igualmente, um conjunto de pressupostos e conclusões que vão além da capacidade de inferência e expressividade dos métodos formais utilizados para desenvolver simulações. Daqui resulta ser algo ilusivo interpretar o conceito de emergência como uma decorrência da interação entre as partes de um modelo. Nem as simulações, nem os programas de computador que as constituem, devem ser entendidas como análogos de teorias científicas num sentido clássico. Razões existem que sugerem ver a simulação computacional da complexidade através de uma perspectiva distinta. A simulação computacional implica uma visão adicional sobre o que os programas de computador podem ser e representar no domínio do conhecimento científico, e que ultrapassa a natureza formal e empírica da computação.

    1. PRESSUPOSTOS DA EMERGÊNCIA EM SIMULAÇÃO A simulação computacional nas ciências sociais estuda teorias e fenômenos sociais através da implementação de modelos científico-sociais em computadores, normalmente especificados ou descritos através de sociedades de agentes computacionais. Para esse efeito, uma infraestrutura computacional é usada para simular as ações e interações de agentes, definidos como entidades individuais ou coletivas, tais como organizações ou grupos, tendo em vista analisar os seus efeitos nos próprios agentes e na sociedade como um todo, desse modo recriando, descrevendo ou prevendo (6) o funcionamento de sistemas organizacionais e sociais, entendidos como sistemas complexos (8). Tal domínio de estudo é conhecido como Multi-Agent-Based Simulation (9-13). Neste contexto, é dada particular importância ao comportamento do sistema em um nível de descrição macro.

    Tomemos como exemplo o conhecido modelo de disseminação de cultura de Axelrod (14), cujo objetivo é analisar a problemática da influência social. Em um nível micro de descrição, o modelo original, a que chamamos modelo pré-computadorizado, define (i) o conceito de atores, que se encontram espacialmente distribuídos num reticulado de 10 x10 posições (ii) o conceito de cultura de cada ator, definido como um conjunto de características em número variável, e que podem tomar diversos valores; (iii) os mecanismos de interação entre culturas como um esquema do tipo bit-flipping, em que a probabilidade de interação entre dois atores é proporcional à medida de similitude entre as suas culturas, calculada por uma medida de proximidade entre os valores das características da cultura (15). Dentre os parâmetros relevantes da simulação, encontram-se o número de características culturais permitidas por cada ator e o número de valores que cada uma delas pode tomar.

    A simulação é então explorada, variando-se os valores dos parâmetros, culminando na conceptualização de novas categorias de objetos em um nível macro de observação do modelo, como resultado da interação entre culturas. A análise da simulação consiste na observação das propriedades desses objetos e das condições em que se formam, tais como os conceitos emergentes de regiões ou zonas de culturas similares. Assim, uma boa parte do objetivo da simulação consiste em pesquisar analítica e matematicamente propriedades dessas regiões de culturas similares, no contexto de um modelo conceptual que, nessa fase de análise, já integra noções pós-computadorizadas, i.e., não representadas internamente no modelo inicial, tais como a relação observada entre o tamanho de uma região emergente e a variação do número de características por cultura individual. Os resultados obtidos são depois interpretados em relação a uma teoria ou fenômeno sobre a influência social, a que podemos chamar de teoria ou fenômeno alvo.

    Podemos assim constatar que do desenvolvimento da simulação emergem não apenas novos objetos, conceptualizados apenas por observação do comportamento da simulação, como emergem, em bom rigor, uma sucessão de novos modelos como extensões do modelo original.

    A Figura 1 ilustra o processo típico de desenvolvimento de uma simulação. O processo envolve a construção de dois tipos distintos de modelos conceptuais: um antes da implementação física dos programas de computador da simulação - os modelos pré-computadorizados - e outro após a efetiva execução dos programas de computador que constituem a simulação - os modelos pós-computadorizados (1). Este fato leva-nos a reconhecer que existem dois objetos de pesquisa durante o desenvolvimento de uma simulação: em primeiro lugar, a teoria ou fenômeno alvo que se pretende estudar (e.g. a problemática da influência social), e, num plano não menos importante, o modelo físico computacional propriamente dito que é executado. Em suma, entre esses dois objetos de pesquisa interpõem-se pelo menos dois modelos conceptuais.

     

     

    Um dos modelos pré-computadorizados poderá ser uma representação presumível da teoria ou fenômeno alvo, idealizada pelos pesquisadores. Tais modelos podem ser representados de formas arbitrárias, podendo não estar representados numa forma computacional, nem sendo garantido que possam, sem perda de generalidade, ser transformados em modelos computacionais equivalentes. Contudo, esse modelo terá que ser implementado como um modelo computacional físico, isto é, executável em computador, através de criação de um número de outros modelos intermediários, como os programas representados textualmente escritos numa linguagem de programação de computadores. A inspeção do modelo computacional em execução leva à criação de um ou mais modelos conceptuais, representados à esquerda na Figura 1, designados modelos pós-computadorizados. Esses são construídos com base na observação do comportamento da execução dos programas de computador e dos seus dados de saída, tais como a visualização de gráficos ou outros dados estatísticos.

    No quadro do método de desenvolvimento de uma simulação é precisamente a construção de modelos pós-computadorizados que dá origem à ideia de "emergência", i.e., quando interações entre objetos especificados através de modelos pré-computadorizados, num nível qualquer de descrição, dão origem a diferentes categorias de objetos em diferentes níveis de descrição, observados no modelo computacional em execução e descritos em conformidade através de modelos pós-computadorizados.

    Podemos assim afirmar que a noção de emergência não pode, no método computacional, ser analisada sem o reconhecimento que o produto final de uma simulação consiste em uma sucessão de transformações e incorporações de modelos em outros modelos.

    A conhecida perspectiva de Mark Bedau (16), por exemplo, na tentativa de caracterizar a noção de emergência em sistemas complexos com grande sensibilidade às condições iniciais, define a noção de emergência do seguinte modo: um estado macroscópico é emergente se puder ser derivado do conhecimento da microdinâmica do sistema e das condições exteriores apenas através de simulação. Contudo, e como adequadamente sublinhado por Baker (17), caso não haja uma clara distinção entre técnicas baseadas e não baseadas em simulação, a definição de Bedau arrisca desaguar em vacuidade. Se queremos compreender o uso de modelos e simulações computacionais para o estudo da complexidade social, bem como a caracterização da noção de emergência que lhe está associada, interessa compreender os processos de sucessivas transformações de modelos que constituem o método de desenvolvimento de uma simulação. Edmonds (18, p.106), por exemplo, na tentativa de caracterizar o método de simulação computacional nas ciências sociais, define emergência do seguinte modo: um resultado é "emergente" quando os resultados da simulação não são facilmente dedutíveis das regras especificadas; por exemplo, no caso do modelo de Schelling (19), quando é difícil ver ou provar porque a formação de aglomerados de agentes da mesma etnia na simulação ocorre para pequenos valores de um parâmetro crítico. Mas se entendermos a simulação como um processo de imitação parcial do real e como um instrumento para estudar as relações que se estabelecem entre um estado emergente e a microdinâmica que lhe deu origem, as sucessivas transformações de modelos inerentes ao método tornam-se incontornáveis para se caracterizar a própria noção de emergência, bem como os processos de inferência utilizados pelo pesquisador para descobrir - ou deduzir, nas palavras de Edmonds - as relações entre um estado emergente e a microdinâmica. O que poderá, de fato, emergir de um programa em execução num computador, que é, por definição, uma máquina física?

    EMERGÊNCIA COMO PRODUTO DA IMPLEMENTAÇÃO EM COMPUTADORES Vimos anteriormente que o método de desenvolvimento de uma simulação envolve a formulação de modelos pré-computadorizados, tais como especificações e programas simbólicos escritos numa linguagem de programação. A simulação envolve, assim, a interpretação da teoria ou fenômeno alvo num programa de computador, uma estrutura formal simbólica com um poder de expressividade bastante mais limitado do que a descrição da teoria. Esse programa é implementado fisicamente no computador, que armazenará um seu equivalente físico, um conjunto de bits. Esse processo de transformação de modelos abstratos em modelos físicos denomina-se implementação. A implementação da simulação implica, por conseguinte, uma interação entre processos simbólicos e físicos que implementam uma relação de causalidade dos programas para o comportamento da simulação. Vejamos como pode ser caracterizada a noção de implementação.

    Em ciências da computação, essa noção tem-se mostrado difícil de definir. Na literatura de linguagens de programação, a implementação é descrita como "a realização de uma linguagem de programação". Entretanto, o termo "realização" não é definido. Tomado literalmente, significa "tornar real", onde "real" é oposto a "imaginário" ou talvez "abstrato", segundo Rapaport (20). Considere-se a relação entre algoritmos, programas e os computadores que os executam. Um algoritmo é um procedimento para computar uma função. Um programa é uma expressão textual mais específica e detalhada de um algoritmo, expressa numa linguagem de programação. Um processo de execução em computador é um comportamento correspondente à descrição do programa num dispositivo físico; o dispositivo físico implementa o programa. Rapaport apresenta, nesse contexto, uma das poucas propostas para definir a noção de implementação. O entendimento de Rapaport é que a implementação, é uma forma de "interpretação semântica" de um domínio sintático para um domínio semântico.

    De acordo com Rapaport, a interpretação semântica requer dois domínios e uma relação: um domínio sintático, chamado de abstração, caracterizado por regras de manipulação de símbolos; um domínio semântico, caracterizado de forma similar; e uma interpretação semântica que mapeia o primeiro domínio no último. Posto desta forma, não existe uma diferenciação intrínseca entre os dois domínios; o que torna um sintático e o outro semântico é a assimetria do mapeamento interpretativo. Um dado domínio pode então ser considerado sintático ou semântico, dependendo do outro domínio, e.g. um processo computacional que implementa um programa exerce o papel de domínio semântico para o programa como domínio sintático. O mesmo programa, implementando um algoritmo, exerce o papel de domínio semântico enquanto o algoritmo exerce o papel de domínio sintático.

    As implementações são, por conseguinte, realizações abstratas ou físicas de abstrações. Para Rapaport, a explicação dessa noção requer ainda um terceiro termo, além da implementação e da abstração:

    I é uma implementação da abstração A no meio M

    onde A é a abstração e M é o domínio semântico que pode ser físico ou abstrato. Por exemplo, no estudo de estruturas de dados, pode falar-se sobre a implementação de uma estrutura abstrata - e.g. uma fila de registros de alunos - através de uma outra estrutura abstrata - e.g. uma lista ligada; implementar a lista numa linguagem de programação; implementar o programa numa linguagem de máquina; e implementar uma linguagem de máquina num computador. Há, portanto, dois tipos de implementação, abstratas e concretas, onde as últimas são realizadas em algum meio físico. Rapaport avança no contexto dessa proposta, através do que ele chama do problema da brecha semântica, representada pelas quatro relações ilustradas na Figura 2:

     

     

    A. Através de uma relação A, um programa P numa linguagem de programação de alto nível é interpretado semanticamente por objetos do mundo real. Presumivelmente, a interpretação semântica do programa consiste na relação entre, por exemplo, estruturas de dados (um registro representando um estudante, com o seu nome, classe, número, média das suas classificações) e um estudante arbitrário, imaginário ou no mundo real.

    B. O programa P é compilado para uma implementação em linguagem de máquina, por meio de uma relação B. A relação da compilação inclui a relação entre o registro do estudante e determinadas construções com tipos de dados da linguagem de máquina. Ambas A e B são relações semânticas.

    C. A implementação em linguagem de máquina - um programa P - é, por sua vez, interpretada semanticamente por bits num computador, por meio de uma relação C. Todas as relações semânticas são correspondências. A relação entre o programa P e os bits é apenas mais uma correspondência. Afinal de contas, poder-se-ia mapear também o programa P nos bits do computador, representado por uma relação de implementação E, via B e C.

    D. A brecha semântica refere-se à relação entre os objetos do mundo real referidos na relação A (o estudante) e os objetos do mundo real referidos em C (os bits do computador), pois são ambos interpretações semânticas do programa.

    E. O que é então a relação D? Segundo Rapaport, poderia ser o que ele chama de simulação. "Os bits do computador simulam o estudante. Mas simulação é, afinal de contas, uma forma de implementação. Os bits de computadores são uma implementação em computador do estudante" (20, p.112).

    Existe um aspecto na proposta de Rapaport que merece melhor análise. Considere-se a relação A. Não parece questionável afirmar que o programa P é interpretado semanticamente por objetos do mundo real, no exemplo dado, o mapeamento de uma estrutura de dados em um estudante. Mas na acepção de Rapaport, isto é o mesmo que dizer que o programa P - o domínio sintático - é implementado em estudante - o domínio semântico -, o que se afigura absurdo!

    Se entendermos o conceito de simulação como a relação D, podemos vê-la como um processo parcialmente representativo do estudante, que utiliza como meio uma máquina física, que se obtém por sucessivas transformações de modelos em outros modelos. Mas é inquestionável que a natureza da transformação de modelos formais em outros modelos formais equivalentes, através das relações B e C, se distingue da natureza da interpretação semântica de P por objetos do mundo real, dada por A. A brecha semântica acontece como o produto das limitações de expressividade da linguagem formal do programa computacional P para representar o mundo real que se pretende descrever.

    Edmonds (18), por exemplo, aflora a questão das dificuldades de representação do mundo social em computadores, aludindo a dois tipos distintos de complexidade, a que chama de complexidades sintática e semântica. A primeira caracteriza as dificuldades em analisar o processo de inferência subjacente a uma simulação, nomeadamente, analisar os antecedentes dos resultados de uma simulação devido à complexidade das interações características de sistemas sociais. Uma forma de ver essa complexidade é que "a distância computacional do estado inicial do sistema para os resultados é tão grande que é completamente impraticável, senão inútil, derivar analiticamente propriedades dos resultados do estado inicial." Por sua vez, a complexidade semântica é caracterizada pela dificuldade dos sistemas formais em representarem descrições com complexos conteúdos semânticos, como emoções, objetivos, crenças e normas sociais.

    Há, contudo, um aspecto importante não frisado por Edmonds. As dificuldades semânticas de representação limitam em si mesmo a capacidade de inferência formal através da derivação sintática. A interpretação dos resultados de uma simulação é afetada pela perda ou alteração de significados durante os processos de inferência sintática e de transformação de modelos. Em (21; 22), mostramos que a brecha semântica implica infundir significados nos programas de computador para além do que eles são, formalmente, capazes de representar, originando uma interpretação da computação que vai além da sua natureza formal e empírica, a que chamamos computação intencional. A sucessiva transformação de modelos e os processos de inferência que lhes estão subjacentes transportam pressupostos assumidos pelo pesquisador que vão além da capacidade de representação dos computadores. Consequentemente, o processo computacional de derivação sintática, que potencialmente relaciona um estado emergente com a sua microdinâmica, transporta, igualmente, um conjunto de pressupostos e conclusões externas assumidos pelo pesquisador, que vão além da capacidade dos métodos formais subjacentes ao processo.

    DO CONCEITO ILUSIVO DE EMERGÊNCIA AO ENRIQUECIMENTO SEMÂNTICO Dos pressupostos enunciados anteriormente, resulta como algo ilusivo que o conceito de emergência seja uma decorrência da microdinâmica de um modelo, quando não interpretado num quadro estrito e demonstrável de modo formal. Em boa parte, a interpretação de um estado emergente é sustentada por uma analogia semântica com a teoria ou fenômeno alvo que se pretende simular. A título de exemplo, comparam-se duas conclusões distintas e de teor abundante na literatura, relativo à emergência de agregados de agentes da mesma cor no conhecido modelo de Schelling:

    "Existe um valor crítico para o parâmetro C (a proporção mínima de preferência por vizinhos da mesma cor), a partir do qual a grelha se auto-organiza em áreas segregadas de localizações da mesma cor. Esse valor é menor que 0,5" (18, p.123).

    "Até um desejo por uma pequena proporção de vizinhos de raça similar pode levar a segregação auto-organizada" (18, p.23, nosso itálico).

    Não será difícil concordar que a última conclusão, uma mera interpretação da primeira, carrega, no âmbito estrito do modelo computacional que dá suporte à simulação, um significado contra-factual. A analogia entre as duas conclusões não se encontra senão por um enriquecimento semântico da última sobre a primeira, cuja sustentação só pode ser encontrada em pressupostos exteriores à própria simulação.

    Todavia, não restam dúvidas que o objetivo de uma simulação consiste em estabelecer analogias entre o sistema alvo considerado e a simulação. Como Küppers e Lenhard (23) assinalam, mesmo nas ciências naturais, o sucesso de um modelo computacional é normalmente avaliado em função da sua capacidade de imitar a teoria ou fenômeno alvo, e não pelo realismo dos seus pressupostos ou pela sua redução a princípios gerais. Como caso paradigmático, Küppers e Lenhard destacam o modelo global climático de Philips, avaliado pela medida em que reproduz realisticamente características dinâmicas da atmosfera, em detrimento do realismo das equações diferenciais utilizadas para gerá-lo. Estas foram intencionalmente modificadas da sua forma original para reproduzir corretamente as características emergentes da atmosfera.

    Mas a capacidade de uma simulação imitar o fenômeno ou teoria alvo no domínio das ciências sociais carrega interrogações adicionais. As categorias de objetos emergentes num nível macro de observação em um modelo computacional não podem ser paralelizadas com categorias no mundo real senão por uma extensão semântica que não encontra sustentação empírica na própria simulação. Da mesma forma, a explicação das características emergentes de uma simulação em um nível macro de descrição, entendidas como o resultado da especificação da microdinâmica do modelo simulado, tampouco pode ser paralelizada com o mundo real senão por uma extensão semântica que, novamente, não encontra sustentação na própria simulação. Noções formais do conceito de emergência, como, por exemplo, as de "emergência fraca" de Mark Bedau, encontrarão assim dificuldades que parecem incontornáveis para situar o conceito de emergência na simulação computacional da complexidade social.

    Há razões que sugerem considerar a simulação computacional da complexidade social através de uma perspectiva distinta. No caso, a simulação implica uma visão distintiva sobre o que os programas de computador podem ser, e representar, para o conhecimento científico. Nem as simulações nem os programas devem ser entendidos como análogos de teorias científicas num sentido clássico, tal como hipotetizamos (21), tese também sugerida no mesmo encontro por Küppers e Lenhard (23), entre outros. Aí se sugere que qualquer abordagem para definir o caráter epistemológico das simulações deve levar em conta a especificidade das ciências sociais, pondo-as em contraste com a natureza formal e empírica de pesquisa em ciências da computação, e, principalmente, com atenção ao estudo do contexto epistemológico da simulação nas ciências sociais.

     

    Nuno David é professor auxiliar e pesquisador do Dinamia, no Centro de Estudos Sobre a Mudança Socioeconômica e o Território (CET), Departamento de Ciências e Tecnologias da Informação do Instituto Universitário de Lisboa (ISCTE/IUL), Portugal.
    Jaime Simão Sichman é professor associado e pesquisador do Laboratório de Técnicas Inteligentes (LTI/PCS) da Escola Politécnica, Universidade de São Paulo (USP), sendo parcialmente financiado pelo CNPq e Fapesp.

     

    NOTAS E REFERÊNCIAS BIBLIOGRÁFICAS

    1. David, N.. "Validation and verification in social simulation: patterns and clarification of terminology". In: Squazzoni, F. (Ed.) Epistemological aspects of computer simulation in the social sciences, EPOS 2006, Revised Selected and Invited Papers, Lecture Notes in Artificial Intelligence. Berlin, Germany, Springer-Verlag. Vol. 5466, p. 117-129. 2009.

    2. David, N.; Sichman, J. S.; Coelho, H.. "Towards an emergence-driven software process for agent-based-simulation". In: Sichman, J. S.; Bousquet, F.; Davidsson, P. (Eds.) Multi-agent-based simulation II. Lecture Notes in Artificial Intelligence. Berlin, Germany, Springer-Verlag. Vol. 2581, p. 89-104. 2003.

    3. Edmonds, B.; Meyer, R.. Simulating social complexity - a handbook, Understanding complex systems series. Berlin, Germany, Springer-Verlag. 2013.

    4. Franck, U.; Troitzsch, K. "Epistemological perspectives on simulation". Journal of Artificial Societies and Social Simulation, 8(4), 2005.

    5. David, N.; Caldas, J. C.; Coelho, H.. "Epistemological perspectives on simulation III". Journal of Artificial Societies and Social Simulation, 13(1), 2010.

    6. A real capacidade dos modelos computacionais preverem o comportamento ou o funcionamento dos fenômenos que modelam é controversa, e varia de um domínio científico para outro. Na realidade, e em particular no domínio das ciências sociais, raramente é esse o objetivo. Para uma discussão em profundidade, vide David (7).

    7. David, N.. "Validating simulations". In: Edmonds, B.; Meyer, R.. Simulating social complexity - a handbook, Understanding Complex Systems Series. Berlin, Germany, Springer-Verlag. p. 135-171. 2013.

    8. Conte, R.; Gilbert, N.; Sichman, J. S.. "MAS and social simulation: a suitable commitment". In: Sichman, J. S.; Conte, R.; Gilbert, N. (Eds.) Multi-agent systems and agent-based simulation. Lecture Notes in Artificial Intelligence. Berlin, Germany, Springer-Verlag. Vol. 1534, p. 1-9. 1998.

    9. Sichman, J. S.; Bousquet, F.; Davidsson, P. (Eds.) Multi-agent-based simulation II. Lecture Notes in Artificial Intelligence. Berlin, Germany, Springer-Verlag. Vol. 2581. 2003.

    10. Sichman, J. S.; Antunes, L. (Eds.) Multi-agent-based simulation VI. Lecture Notes in Artificial Intelligence. Berlin, Germany, Springer-Verlag. Vol. 3891. 2006.

    11. Sichman, J. S.. "MABS celebrates its 10th. Anniversary!". In: Antunes, L.; Paolucci, M.; Norling, E. (Eds.) Multi-agent-based simulation VIII. Lecture Notes in Artificial Intelligence. Berlin, Germany, Springer-Verlag. Vol. 5003, p. 1-7. 2008.

    12. David, N.; Sichman, J. S. (Eds.) Multi-agent-based simulation IX. Lecture Notes in Artificial Intelligence. Berlin, Germany, Springer-Verlag. Vol. 5269. 2009.

    13. Villatoro, D.; Sabater-Mir, J.; Sichman, J. S. (Eds.) Multi-agent-based simulation XII. Lecture Notes in Artificial Intelligence. Berlin, Germany, Springer-Verlag. Vol. 7124. 2012.

    14. Axelrod, R.. "The dissemination of culture: a model with local convergence and global polarization". Journal of Conflict Resolution, 41(2), p. 203-226. 1997.

    15. Uma vez que os atores interagem, o mecanismo de bit-flipping funciona da seguinte maneira: é selecionada uma característica na qual os seus valores diferem, resultando depois da interação em dois atores com o mesmo valor na mesma característica.

    16. Bedau, M. A. "Weak emergence". In: James Tomberlin (Ed.) Philosophical perspectives: mind, causation, and world. Oxford, Blackwell Publishers. Vol. 11, p. 375-399. 1997.

    17. Baker, A.. "Simulation-based definitions of emergence". Journal of Artificial Societies and Social Simulation, 13 (1), 2010.

    18. Edmonds, B.. "Towards an ideal social simulation language". In: Sichman, J. S.; Bousquet, F.; Davidsson, P. (Eds.) Multi-agent-based simulation II. Lecture Notes in Artificial Intelligence. Berlin, Germany, Springer-Verlag. Vol. 2581, p. 105-124. 2003.

    19. Schelling, T.. Micromotives and macrobehavior. W. W. Norton & Company. 1978.

    20. Rapaport, W. J. "Implementation is semantic interpretation". The Monist, 82(1), p. 109-130. 1999.

    21. David, N.; Sichman, J. S.; Coelho, H.. "The logic of the method of agent-based simulation in the social sciences: empirical and intentional adequacy of computer programs". Journal of Artificial Societies and Social Simulation, 8(4). 2005.

    22. David, N.; Sichman, J. S.; Coelho, H.. "Simulation as formal and generative social science: the very idea". In: Gershenson, C.; Aerts, D.; Edmonds, B. (Eds.) Worldviews, science, and us: philosophy and complexity. World Scientific Publishing. p. 266-284. 2007.

    23. Küppers, G.; Lenhard, J. (2005). "Validation of simulation: patterns in the social and natural sciences". Journal of Artificial Societies and Social Simulation, 8(4), 2005.