anthropoids

Jakson Alves de Aquino
jalvesaq@gmail.com

 

Sobre

O anthropoids é um modelo baseado em agentes de evolução da cooperação entre antropóides virtuais.

 

Compilar

Digite "make".

 

Executar

Com o anthropoids já compilado, abra um terminal, vá para o diretório onde o anthropoids se encontra, e digite:

./anthropoids
Nota: Para mudar de diretório, use o comando "cd" e para listar o conteúdo de um diretório use o camando "ls".

Durante a execução do programa, clicando com o botão esquerdo do mouse sobre um dos agentes, é possível acompanhar o que acontece com ele. Aparecerá um painel de visualização com uma seleção de variáveis e funções constitutivas de um agente. Para ver todas as variáveis e funções, clique no campo superior esquerdo onde está escrito "Agente" com letras azuis.

Clicando no botão "sigaMe", serão traçadas linhas ligando o agente selecionado a todos os outros dos quais ele se lembra e que não estão na mesma célula. Linhas azuis indicarão lembranças positivas, linhas vermelhas, lembranças negativas e linhas brancas, neutras. No terminal, serão impressos relatos dos eventos que ocorrem com o agente selecionado.

Os gráficos podem ser abertos clicando-se nos botões correspondentes do "Observador", mas eles armazenam todos os dados coletados e, por isso, o uso da memória do computador crescerá continuamente, não sendo recomendável deixá-los abertos por muito tempo. Além disso, a atualização dos gráficos ficará cada vez mais lenta a medida que eles forem alimentados com novos dados. Para que os gráficos sejam deixados abertos por um longo período é recomendável o aumento do valor de "freqExibicao". Para tanto, modifique o valor na caixa de edição e pressione a tecla <Enter>.

 

Modificar parâmetros

Se não forem feitas mudanças nos parâmetros, cada simulação será uma mera repetição da anterior. Para que isso não aconteça, é preciso mudar a semente dos números aleatórios, passando para o programa o parâmetro "-s", possivelmente com uma semente específica:

./anthropoids -s
ou

./anthropoids -s 237243
O uso de uma semente diferente não alterará os valores médios das variáveis no início da simulação. Para isso, é preciso modificar os parâmetros da simulação, editando o arquivo "parameters", criado pelo anthropoids durante a sua primeira execução.

É possível impedir que sejam criadas árvores plantas rasteiras em algumas regiões pela edição da figura "gridTemplate.pbm". Nas coordenadas correspondentes à cor preta não será criada nenhuma vegetação. O arquivo gridTemplate.pbm pode ser criado com o R (o script createGrid.R exemplifica como) ou com algum programa de desenho.

 

Coletar dados para análise estatística

Edite o arquivo "parameters" e altere para um número inteiro maior do que 0 o valor de LogInterval. Durante a simulação, serão continuamente alimentados com dados os arquivos "completeRun.csv" e "deadOnes.csv". O primeiro arquivo contém dados gerais da simulação e o segundo informações detalhadas dos agentes mortos no ciclo no qual os dados estão sendo coletados. Outros dois arquivos são: "entirePop.csv" e "agRemembrances.csv". O primeiro contém aproximadamente as mesmas variáveis de "deadOnes.csv", mas com dados dos agentes vivos e o segundo contém todas as lembranças de todos os agentes vivos, mas excluindo as lembranças que agentes vivos mantém de agentes já mortos. Esses dois arquivos são gerados automaticamente ao final da simulação, mas podem também ser gerados enviando ao anthropoids o sinal USR2, o que pode ser feito com o seguinte comando:

killall -s USR2 anthropoids
Sem nenhum parâmetro além do nome do programa a ser morto, o comando killall mataria todos os aplicativos cujo nome fosse anthropoids. O parâmetro "-s" diz ao killall que o sinal a ser enviado é "Segundo Sinal Definido pelo Usuário". O anthropoids está programado para interpretar esse sinal como uma ordem para gerar os dois arquivos mencionados.

O anthropoids pode ser executado sem modo gráfico. Para tanto, inclua o parâmetro "-b" na inicialização do programa:

./anthropoids -b -s
Neste caso, a duração da simulação será definida pelo valor escolhido para a variável "ExperimentDuration" no arquivo "parameters". Para terminar o programa a qualquer momento, sem esperar por "ExperimentDuration", digite:

killall -s USR1 anthropoids