Modelos de Agentes em Simulações Sociais: um estudo de dinâmicas populacionais

September 13, 2017 | Autor: Marco Almada | Categoria: Evolutionary Computation, Agent Based Simulation, Agent-based modeling, Sugarscape
Share Embed


Descrição do Produto

Modelos de Agentes em Simulações Sociais: um estudo de dinâmicas populacionais Marco Almada Universidade Estadual de Campinas (Unicamp) [email protected] Abstract – This paper presents a short introduction of the uses of agent-based modelling on the study of problems in social science. As an example of the applications of evolutionary computing to such an endeavor, the paper analyzes the results obtained from the implementation of a variant of Epstein and Axtell’s Sugarscape, discussing the changes that result from modifying specific operators. Keywords –

Agent-based modelling, Generative Social Science, Sugarscape, Evolutionary Computing

1. Introdução Técnicas inspiradas em computação evolutiva podem ser empregadas no estudo de fenômenos sociais. Um exemplo é dado pelo Sugarscape, modelo proposto em 1996 por Joshua Epstein e Robert Axtell que busca estudar a dinâmica temporal de uma população de agentes. Estes agentes têm sua sobrevivência determinada pelas interações entre si e com o meio em que estão inseridos, podendo deixar descendentes com herança genética. [2] O uso de modelos baseados em agentes para abordar problemas nas ciências sociais é defendido em [1] por permitir o estudo de emergência de fenômenos em sistemas sociais, que podem então ser estudados de uma perspectiva bottom-up. Assim, oferece uma oportunidade para estudos empíricos, em especial sobre a forma como preferências e ações individuais dão origem a padrões macroscópicos. Este artigo exemplifica a abordagem gerativa através da implementação e análise de um modelo lúdico baseado no Sugarscape. Um modelo lúdico (do inglês toy model) é um modelo que faz uso de analogias para simplificar sistemas complexos enquanto características importantes são preservadas. Tais modelos não são necessariamente triviais, mas são usados para especulação de propriedades de sistemas, enfatizando certas características do sistema de um ponto de vista familiar ao modelador. [3]

2. Implementação Esta seção discutirá a implementação de um modelo baseado no Sugarscape de Epstein e Axtell, em que agentes localizados em um grid bidimensional competem por dois recursos: C e D. Num primeiro momento, um agente necessita apenas de D

para sobreviver, mas pode consumir tanto D como C para extrair felicidade disso. Agentes, cuja interação com o meio é definida por atributos gerados durante sua criação, vivem por um número limitado de gerações, ou até não atingirem suas demandas metabólicas, mas podem deixar descendentes. Para o teste do modelo aqui especificado e suas variantes, a população inicial será de 20 elementos, com posição no mapa e valores de atributos definidos aleatoriamente. Na seção 3., serão testados diferentes valores para essa população inicial.

2.1. Mapa Cada posição do mapa possui inicialmente quantidades aleatórias dos recursos C e D, limitadas por parâmetros mC e mD que definem as capacidades máximas de uma célula para cada recurso. No início de cada turno, os pontos do mapa recuperam C e D de acordo com as suas taxas de reposição rC e rD . As taxas de reposição são geradas aleatoriamente na criação do mapa. Para as etapas de desenvolvimento descritas na seção 2., foi utilizado um mapa 10×10 em que mC = 3 e mD = 100. Porém, a quantidade inicial e a taxa de reposição de C foram fixadas como zero; a introdução do recurso C será analisada na seção 3.

2.2. Passagem do Tempo A passagem de tempo no programa é medida em turnos. Cada turno representa uma execução completa do ciclo de atividades dos agentes: a busca de recursos nas posições dentro do alcance de visão do agente, o movimento para a melhor posição livre dentro do alcance de movimento, a ação do metabolismo do indivíduo, consumindo os recursos necessários à subsistência, o consumo não-essencial de

recursos, representando o hedonismo, a seleção dos indivíduos para reprodução e a reprodução sexuada entre os indivíduos selecionados. Cada indivíduo possui um atributo que determina sua longevidade, gerado aleatoriamente durante sua criação. O valor inicial da longevidade pode variar entre 1 e 5 rodadas, mas a mutação durante a reprodução sexuada pode levar ao surgimento de indivíduos com maior longevidade. Um indivíduo atinge a maturidade sexual no turno imediatamente posterior à fase de reprodução em que surgiu.

2.3. Busca e Movimento A posição de um agente no mapa é dada por suas coordenadas x e y. No início de cada turno, ele pode avaliar todas as posições que distam até sight de sua posição atual, onde sight é um atributo gerado aleatoriamente na criação do indivíduo. Para simplificar a implementação, o indivíduo não enxerga em diagonal; isto é, seu campo de visão é uma cruz definida por sight, por sua posição atual e pelos limites do mapa.

2.5. Hedonismo Do ponto de vista de cada agente do sistema, as ações da etapa anterior tinham o objetivo de garantir sua sobrevivência, garantindo que eles extraíssem do meio os recursos demandados por seu metabolismo (ou perecessem no processo). Na modelagem de sistemas sociais, no entanto, é importante lembrar que a ostentação também é uma causa de consumo. Uma das explicações clássicas da literatura das Ciências Sociais, com origens nos trabalhos de Thorstein Veblen, descreve a ostentação como uma demonstração de poder econômico: as classes socialmente dominantes consomem itens supérfluos como uma forma de ressaltar sua posição social. [4] A abordagem de Veblen foi bastante influenciada pelas ideias de Darwin, o que a torna interessante para uso em um modelo de computação evolutiva. A felicidade de um indivíduo i em um turno T é calculada por Hi,T = 1 + r · (CSC · CPC · cC + CSD · CPD · cD ),

Após avistar seus arredores, o agente se desloca para a posição com mais D que esteja até mov unidades de distância, onde mov é um atributo definido aleatoriamente durante a criação do indivíduo. O agente também não se move em diagonal. Além disso, cada posição pode ser ocupada por no máximo um agente, mas um agente pode passar por posições ocupadas em seu deslocamento se não parar nelas.

onde CPi indica a propensão de um indivíduo ao consumo de i ∈ {C, D}; CSi , a felicidade que um indivíduo deriva do consumo de uma unidade de i; e r é amostrado para cada par (i, T ) a partir de U(0, 2), representando oscilações na felicidade por fatores externos. Ambas as propensões são dadas pelo valor absoluto de um número amostrado de N (0, 1), CSD vem de U{1, 5} e CSC , de U{2, 10}, sendo todos os parâmetros determinados na geração do indivíduo.

2.4. Metabolismo

Depois do cálculo da felicidade, uma quantia CPi · ci de cada recurso i é consumida. Caso isso reduza a carga cD do agente a um valor negativo, o indivíduo pode tentar cobrir a dívida assim adquirida no metabolismo do turno seguinte. Porém, o saldo negativo de D é multiplicado por um fator ROI = 2 depois do cálculo da alegria, representando um empréstimo feito sobre uma certa taxa de juros. Já dívida de C precisa ser sanada no mesmo turno através da conversão de D em C numa taxa t determinada aleatoriamente na criação do indivíduo. Caso isso reduza cD abaixo de zero, o mesmo fator ROI se aplica.

Ao chegar em sua nova posição, o agente tenta extrair C e D de sua posição atual. Dado um recurso i ∈ {C, D}, ele toma unidades de i até que a sua carga ci do recurso atinja a capacidade cmax,i definida como parâmetro do modelo ou que i naquele ponto acabe, o que acontecer antes. Após extrair o que conseguir de ambos os recursos, o agente consumirá o mínimo necessário para sua sobrevivência. Em um primeiro momento, cada agente possui apenas uma demanda metabólica dD do recurso D, que representa um valor a ser subtraido de cD . Caso isso reduza cD a um valor negativo, o agente falha em atender suas necessidades metabólicas e falece, deixando no local de sua morte eventuais remanescentes de C.

Quando o indivíduo consome uma unidade de C, ele tem uma probabilidade pa = 0.2 de se viciar em C. Caso isso ocorra, ele adquire uma

demanda metabólica dC igual a um inteiro tomado aleatoriamente entre 1 e 10 e que deve ser suprida na etapa de metabolismo de forma análoga a dD . Quando o indivíduo, na fase do metabolismo, tem cC < dC , a diferença dC − cC precisa ser coberta pelo consumo de D, com o mesmo mecanismo do parágrafo anterior. Tal cobertura é realizada entre a coleta de recursos do mapa e a satisfação da demanda de D, podendo resultar no falecimento do agente.

2.6. Reprodução A última etapa de cada turno do modelo consiste na reprodução dos indivíduos. A versão final do modelo utiliza mecanismos de reprodução sexuada com mutações, efetuando seleção por torneios baseada na felicidade de cada indivíduo. Em todos os modos de reprodução, todos os atributos são afetados pela herança, exceto pelos estoques de recursos (que começam vazios) e pelo vício (nenhum indivíduo nasce viciado). O Sugarscape original faz uso de reprodução sexuada: cada indivíduo pode ter filhos com cada um de seus vizinhos, caso eles sejam de sexos diferentes e ao menos um dos pais tenha um espaço livre em sua vizinhança [2]. Tanto por uma questão de simplicidade de implementação quanto por interesse em explorar mecanismos alternativos, optouse por não adotar restrições geográficas ou de sexo à reprodução entre os indivíduos, para que o foco da análise fosse a adição da felicidade como critério reprodutivo. Em vez disso, cada indivíduo pode ter filho com qualquer outro indivíduo, e o novo agente é inserido em uma posição aleatória do mapa que esteja livre. 2.6.1. Mecanismos reprodutivos Antes da introdução das funções de felicidade no sistema, o critério de seleção para reprodução é puramente aleatório: cada indivíduo tem uma probabilidade po = 0, 1 de dar origem a um filho com os mesmos valores dos atributos que o pai. Nessa reprodução clonal, cada indivíduo gera no máximo um filho por turno. Com a introdução do cálculo de felicidade, temos como primeiro operador reprodutivo a reprodução clonal hedônica, no qual a seleção para reprodução depende da felicidade relativa fR do indi-

víduo, dada pela razão entre sua felicidade e a felicidade do indivíduo mais feliz da população. A probabilidade de seleção é então dada por po = 0, 5fR , e cada indivíduo pode dar origem a um único filho; o fator multiplicativo tem por objetivo controlar o tamanho da população. Uma variação é a reprodução multiclonal hedônica, em que um indivíduo continua a gerar filhos enquanto não falhar em atingir a probabilidade de seleção. Para a reprodução sexuada, cada indivíduo tem a mesma probabilidade po de dar origem a um ou mais filhos. Porém, para cada filho, o outro pai é selecionado por meio de um torneio envolvendo metade da população atual. 1 Selecionado o pai, os atributos do filho são obtidos como a média ponderada dos atributos correspondentes dos pais, com as felicidades atuando como pesos. A mutação é realizada multiplicando cada atributo do filho por 1 + α, onde α é determinado para cada atributo amostrando uma distribuição normal de média zero e variância unitária.

2.6.2. Comparação Para fins de comparação, cada um dos mecanismos de reprodução foi executado com os parâmetros descritos acima e utilizando uma mesma semente s = 89172159 para o gerador de números aleatórios. O tamanho da população após dez iterações para cada forma de reprodução pode ser visto na tabela 1, assim como o número de viciados. Reprodução Clonal Clonal Hedônica Multi-clonal Hedônica Sexuada sem mutação Sexuada com mutação

População Final 9 100 3 9 4

Viciados (%) 0 (0%) 28 (28%) 1 (33%) 3 (33%) 1 (25%)

Tabela 1. População ao final de 10 iterações para diferentes mecanismos reprodutivos.

Como cada indivíduo na reprodução clonal simples dá origem a no máximo um filho, e com uma probabilidade baixa, a taxa de reposição não é suficiente para compensar as perdas geradas pelos limites de longevidade e por inanição. 1

o tamanho do torneio foi definido para compensar a falta de localidade na reprodução

Nas populações em que a reprodução depende da felicidade do indivíduo, há uma taxa relativamente regular de vício em C, mesmo sem esse recurso existir no mapa. Isso se deve à possibilidade de conversão de C em D de acordo com a propensão dos indivíduos, que dá uma vantagem reprodutiva aos agentes que derivam grande satisfação do consumo de C.

3. Resultados Após o estágio de calibração do modelo, foram realizadas dez execuções da implementação final, com várias sementes do gerador de números aleatórios, com o objetivo de verificar como o vício em C se espalha pela população. Para estas execuções, foi utilizada uma população inicial com 1000 indivíduos dispostos em um mapa 50×50, que comportaria até 2500 agentes. O tempo de execução foi estendido para 50 gerações, o que foi acompanhado por um aumento no limite inicial de longevidade para 10 gerações. A tabela 2 apresenta dados sobre as populações na última iteração de cada execução. A tabela mostra que o tamanho da população tende a se concentrar no intervalo [24, 48], enquanto a taxa de vício fica normalmente entre 40% e 50%, acima da probabilidade de 20% de um indivíduo se viciar a cada rodada que consome C, o que reflete as vantagens que tal consumo traz na seleção reprodutiva. Execução 1 2 3 4 5 6 7 8 9 10

População 24 66 29 48 34 34 13 30 26 27

Viciados 16 (67%) 31 (47%) 12 (41%) 25 (52%) 17 (50%) 17 (50%) 6 (46%) 16 (53%) 11 (42%) 12 (44%)

Tabela 2. População ao final de 50 iterações, partindo de uma população de 1000 indivíduos.

Outro fator perceptível é a queda drástica na população final em relação ao tamanho da população inicial; mesmo no cenário mais populoso a população diminuiu por um fator de 15. Para analisar a relação entre o tamanho da população inicial e

o tamanho da população final, o algoritmo foi executado dez vezes com uma população inicial de 100 indivíduos, obtendo os resultados apresentados na tabela 3. Execução 1 2 3 4 5 6 7 8 9 10

População 34 2421 18 13 27 14 29 4 43 14

Viciados 19 (56%) 322 (13%) 7 (39%) 3 (24%) 15 (56%) 9 (64%) 14 (48%) 3 (75%) 28 (65%) 8 (57%)

Tabela 3. População ao final de 50 iterações, partindo de uma população de 100 indivíduos.

Analisando as execuções apresentadas na tabela 3, constata-se de forma geral uma queda no tamanho da população em relação à tabela 2, associada a um aumento na taxa da vício. A taxa, no entanto, varia num intervalo maior do que o observado com a população maior, o que pode estar relacionado à menor pressão seletiva nas gerações iniciais. A segunda execução da tabela 3 diverge bastante das demais, tanto por apresentar uma população próxima da capacidade do mapa quanto pela baixa taxa de vício. Para verificar se não se tratava de um resultado espúrio, foram realizadas dez execuções do algoritmo com uma população inicial de 10 indivíduos, resultando nos dados da tabela 4. Execução 1 2 3 4 5 6 7 8 9 10

População 54 46 27 22 34 17 45 2500 10 39

Viciados 28 (52%) 21 (46%) 10 (22%) 11 (50%) 14 (41%) 7 (41%) 21 (47%) 988 (40%) 4 (40%) 18 (46%)

Tabela 4. População ao final de 50 iterações, partindo de uma população de 10 indivíduos.

Como no caso inicial, a taxa de vício ficou

sempre em torno de 45%. O tamanho da população final para uma população inicial de 10 agentes não foi significativamente diferente do observado para os outros tamanhos de população inicial, o que novamente vai contra a hipótese de que o tamanho final da população seja determinado pelo tamanho inicial desta. Novamente temos um caso anômalo de população atingindo o tamanho máximo possível. Como a população do caso 8 da tabela 4 está próxima das demais em taxas relativas de vício, a explicação desta sobrevivência deve vir de propriedades dos indivíduos da população, que devem ser identificadas a partir de um estudo das populações de tal caso e do caso 2 de 3. Os mapas gerados não são rigorosamente iguais, uma vez que os parâmetros dos pontos são gerados de maneira aleatória. Porém, o intervalo em que as populações se distribuem nos três casos sugere que a capacidade do mapa, isto é, o número de indivíduos que este consegue sustentar, é dependente dos parâmetros utilizados para a criação do mapa. Outro fator que pode estar relacionado às quedas populacionais vistas principalmente em 2 é a baixa disponibilidade do recurso C, que leva à morte dos indivíduos com demanda metabólica muito alta por ele. Para controle das hipóteses relativas ao vício, seria importante executar simulações com as mesmas sementes aleatórias, mas em que não houvesse distribuição inicial do recurso C no mapa. Com isso, poder-se-ia verificar se há um gargalo de um recurso apenas ou de ambos. Por questões de tempo, optou-se pelo foco na análise com os diversos tamanhos de população inicial apresentada acima.

4. Conclusões O uso de conceitos ligados à evolução em modelos sociais baseados em agentes permite o acompanhamento das mudanças nas dinâmicas de interação com o passar do tempo. As dinâmicas também são transformadas pela adição de novos mecanismos de interação entre agentes e entre estes e o meio em que estão inseridos. O uso de simulações computacionais pode servir para levantar questões sobre os modelos que as inspiraram. Na implementação apresentada neste

artigo, por exemplo, a relativa estabilidade dos tamanhos da população chamou a atenção do autor, exigindo a formulação de hipóteses explicativas, que foram testadas a partir da variação de parâmetros na simulação. Modelos lúdicos como o implementado neste artigo lidam com número relativamente pequeno de fatores. Um modelo que tivesse pretensões descritivas mais sérias, no entanto, provavelmente precisaria englobar formas de interação com o meio além do consumo de recursos e da reprodução entre agentes. O Sugarscape original [2] adiciona interações como comércio e difusão cultural, que devem ser incorporadas a este modelo no futuro. Além da mudança nos modos de interação, um modelo útil para estudo de fenômenos precisaria de validação com o mundo externo. De um lado, isso envolve a validação de seus parâmetros com os dados da literatura da área; de outro, a comparação dos resultados obtidos com dados obtidos a partir de estudos empíricos da situação que é modelada. Apesar do poder descritivo limitado do modelo que este artigo implementou, a flexibilidade em relação aos parâmetros e as questões suscitadas pelos resultados servem como uma prova de conceito da ideia mais ampla do uso de modelos computacionais no estudo de fenômenos sociais. Embora a modelagem por agentes não substitua as abordagens tradicionais das Ciências Sociais, ela indica uma forma pela qual os estudos de Computação Evolutiva podem colaborar com esta vasta área do conhecimento.

Referências [1] Joshua M. Epstein. Agent-based computational models and generative social science. Complexity, 4(5):41–60, May 1999. [2] Joshua M. Epstein and Robert Axtell. Growing Artificial Societies: Social Science from the Bottom Up. The Brookings Institution, Washington, DC, USA, 1996. [3] Annalisa Marzuoli. Toy models in physics and the reasonable effectiveness of mathematics. In Rossella Lupacchini and Giovanna Corsi, editors, Deduction, Computation, Experiment, pages 49–64. Springer Milan, 2008. [4] T. Veblen. The Theory of the Leisure Class. Echo Library, 2007.

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.