• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
5
0
0

Texto

(1)

Modelos de Agentes em Simulações Sociais:

um estudo de dinâmicas populacionais

Marco Almada

Universidade Estadual de Campinas (Unicamp)

ra092208@students.ic.unicamp.br

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 po-dem ser empregadas no estudo de fenômenos soci-ais. Um exemplo é dado pelo Sugarscape, modelo proposto em 1996 por Joshua Epstein e Robert Ax-tell que busca estudar a dinâmica temporal de uma população de agentes. Estes agentes têm sua sobre-vivência determinada pelas interações entre si e com o meio em que estão inseridos, podendo deixar des-cendentes 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 es-tudados de uma perspectiva bottom-up. Assim, ofe-rece 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 gera-tiva através da implementação e análise de um mo-delo lúdico baseado no Sugarscape. Um modelo lúdico (do inglês toy model) é um modelo que faz uso de analogias para simplificar sistemas comple-xos enquanto características importantes são preser-vadas. Tais modelos não são necessariamente tri-viais, mas são usados para especulação de proprie-dades de sistemas, enfatizando certas características do sistema de um ponto de vista familiar ao mode-lador. [3]

2. Implementação

Esta seção discutirá a implementação de um mo-delo baseado no Sugarscape de Epstein e Axtell, em que agentes localizados em um grid bidimensi-onal competem por dois recursos: C e D. Num pri-meiro momento, um agente necessita apenas de D

para sobreviver, mas pode consumir tanto D como C para extrair felicidade disso. Agentes, cuja inte-raçã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 alea-toriamente. Na seção 3., serão testados diferentes valores para essa população inicial.

2.1. Mapa

Cada posição do mapa possui inicialmente quanti-dades 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 re-posição rCe 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

(2)

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 de-termina sua longevidade, gerado aleatoriamente du-rante 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 surgi-mento de indivíduos com maior longevidade. Um indivíduo atinge a maturidade sexual no turno ime-diatamente posterior à fase de reprodução em que surgiu.

2.3. Busca e Movimento

A posição de um agente no mapa é dada por suas co-ordenadas 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 sim-plificar 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 li-mites do mapa.

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 pa-rar nelas.

2.4. Metabolismo

Ao chegar em sua nova posição, o agente tenta ex-trair 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

defi-nida 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 necessida-des metabólicas e falece, deixando no local de sua morte eventuais remanescentes de C.

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 metabo-lismo (ou perecessem no processo). Na modelagem de sistemas sociais, no entanto, é importante lem-brar que a ostentação também é uma causa de con-sumo.

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 so-cialmente 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),

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 da-das pelo valor absoluto de um número amostrado de N (0, 1), CSDvem de U {1, 5} e CSC, de U {2, 10},

sendo todos os parâmetros determinados na geração do indivíduo.

Depois do cálculo da felicidade, uma quan-tia CPi· cide 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 adqui-rida no metabolismo do turno seguinte. Porém, o saldo negativo de D é multiplicado por um fator ROI = 2 depois do cálculo da alegria, represen-tando 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.

Quando o indivíduo consome uma unidade de C, ele tem uma probabilidade pa = 0.2 de se

(3)

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 de-manda 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 base-ada na felicidade de cbase-ada indivíduo. Em todos os modos de reprodução, todos os atributos são afeta-dos 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 inte-resse em explorar mecanismos alternativos, optou-se por não adotar restrições geográficas ou de optou-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 é pu-ramente aleatório: cada indivíduo tem uma proba-bilidade 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 repro-dução clonal hedônica, no qual a seleção para re-produção depende da felicidade relativa fRdo

indi-víduo, dada pela razão entre sua felicidade e a feli-cidade do indivíduo mais feliz da população. A pro-babilidade 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 ta-manho da população. Uma variação é a reprodução multiclonal hedônica, em que um indivíduo conti-nua 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 pon-derada 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 mecanis-mos 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 ta-bela 1, assim como o número de viciados.

Reprodução População Final Viciados (%)

Clonal 9 0 (0%)

Clonal Hedônica 100 28 (28%)

Multi-clonal Hedônica 3 1 (33%)

Sexuada sem mutação 9 3 (33%)

Sexuada com mutação 4 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

(4)

Nas populações em que a reprodução de-pende da felicidade do indivíduo, há uma taxa re-lativamente 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 propen-são dos indivíduos, que dá uma vantagem reprodu-tiva aos agentes que derivam grande satisfação do consumo de C.

3. Resultados

Após o estágio de calibração do modelo, foram rea-lizadas 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 es-palha pela população. Para estas execuções, foi uti-lizada 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 ge-rações.

A tabela 2 apresenta dados sobre as popu-lações na última iteração de cada execução. A ta-bela 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 vanta-gens que tal consumo traz na seleção reprodutiva.

Execução População Viciados

1 24 16 (67%) 2 66 31 (47%) 3 29 12 (41%) 4 48 25 (52%) 5 34 17 (50%) 6 34 17 (50%) 7 13 6 (46%) 8 30 16 (53%) 9 26 11 (42%) 10 27 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 po-pulação inicial; mesmo no cenário mais populoso a população diminuiu por um fator de 15. Para anali-sar a relação entre o tamanho da população inicial e

o tamanho da população final, o algoritmo foi exe-cutado dez vezes com uma população inicial de 100 indivíduos, obtendo os resultados apresentados na tabela 3.

Execução População Viciados

1 34 19 (56%) 2 2421 322 (13%) 3 18 7 (39%) 4 13 3 (24%) 5 27 15 (56%) 6 14 9 (64%) 7 29 14 (48%) 8 4 3 (75%) 9 43 28 (65%) 10 14 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, asso-ciada a um aumento na taxa da vício. A taxa, no en-tanto, varia num intervalo maior do que o observado com a população maior, o que pode estar relacio-nado à menor pressão seletiva nas gerações iniciais. A segunda execução da tabela 3 diverge bastante das demais, tanto por apresentar uma popu-laçã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 exe-cuções do algoritmo com uma população inicial de 10 indivíduos, resultando nos dados da tabela 4.

Execução População Viciados

1 54 28 (52%) 2 46 21 (46%) 3 27 10 (22%) 4 22 11 (50%) 5 34 14 (41%) 6 17 7 (41%) 7 45 21 (47%) 8 2500 988 (40%) 9 10 4 (40%) 10 39 18 (46%)

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

(5)

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 no-vamente 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 expli-cação desta sobrevivência deve vir de propriedades dos indivíduos da população, que devem ser identi-ficadas 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 su-gere que a capacidade do mapa, isto é, o número de indivíduos que este consegue sustentar, é depen-dente 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 rela-tivas 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 gar-galo de um recurso apenas ou de ambos. Por ques-tõ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 mode-los sociais baseados em agentes permite o acompa-nhamento 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 ta-manhos 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âme-tros na simulação.

Modelos lúdicos como o implementado neste artigo lidam com número relativamente pe-queno 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 mo-delo que este artigo implementou, a flexibilidade em relação aos parâmetros e as questões suscitadas pe-los resultados servem como uma prova de conceito da ideia mais ampla do uso de modelos computa-cionais 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 Evolu-tiva podem colaborar com esta vasta área do conhe-cimento.

Referências

[1] Joshua M. Epstein. Agent-based computational models and generative social science. Comple-xity, 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, edi-tors, Deduction, Computation, Experiment, pa-ges 49–64. Springer Milan, 2008.

Referências

Documentos relacionados

RESUMO - O trabalho objetivou avaliar a qualidade das sementes de arroz utilizadas pelos agricultores em cinco municípios (Matupá, Novo Mundo, Nova Guarita, Alta Floresta e Terra

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

Informações tais como: percentual estatístico das especialidades médicas e doenças, taxas de ocupação dos principais recursos, tempos de permanência de internação, escores

determinou, nomeadamente: “III - Salvo prova em contrário, de ocorrência de circunstâncias excecionais, o acordo no qual o sócio e gerente de uma sociedade garante

Com base nos resultados da pesquisa referente à questão sobre a internacionalização de processos de negócios habilitados pela TI com o apoio do BPM para a geração de ganhos para

“O aumento da eficiência e o plano de produção fizeram com que a disponibilidade das células de fabricação aumentasse, diminuindo o impacto de problemas quando do

Para Dewey (1959), o processo de educar não consiste apenas na reprodução de conhecimentos, mas em uma constante reconstrução da experiência, de forma a dar ao aluno

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição