SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
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 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 com-
pleta 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 metabo-
lismo do indivíduo, consumindo os recursos neces-
sá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 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), CSD vem 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 ·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 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
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 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 cada 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 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 fR do 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
o tamanho do torneio foi definido para compensar a falta
de localidade na reprodução
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.
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 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.
[4] T. Veblen. The Theory of the Leisure Class.
Echo Library, 2007.

Mais conteúdo relacionado

Destaque

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destaque (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

ia707-092208

  • 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 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 com- pleta 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 metabo- lismo do indivíduo, consumindo os recursos neces- sários à subsistência, o consumo não-essencial de
  • 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), CSD vem 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 ·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 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 viciar em C. Caso isso ocorra, ele adquire uma
  • 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 cada 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 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 fR do 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 o tamanho do torneio foi definido para compensar a falta de localidade na reprodução
  • 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. Como no caso inicial, a taxa de vício ficou
  • 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. [4] T. Veblen. The Theory of the Leisure Class. Echo Library, 2007.