UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UMA ANÁLISE ECOLÓGICA E EVOLUTIVA DOS LAGARTOS EM UM SIMULADOR PARA O JOGO CALANGOS Documento de dissertação apresentado ao Programa de Pós-Graduação em Engenharia Elétrica da Universidade Presbiteriana Mackenzie, como requisito parcial para a obtenção do título de Mestre em Engenharia Elétrica. Área de Concentração: Engenharia da Computação. Aluno: Venyton Nathan Leandro Izidoro Orientador: Prof. Dr. Leandro Nunes de Castro São Paulo Junho de 2012 I98a Izidoro, Venyton Nathan Leandro. Uma análise ecológica e evolutiva dos lagartos em um simulador para o jogo calangos. / Venyton Nathan Leandro Izidoro. – 2012. 91 f. : il.; 30 cm. Dissertação (Mestrado em Engenharia Elétrica) – Universidade Presbiteriana Mackenzie, São Paulo, 2012. Orientador: Leandro Nunes de Castro Bibliografia: f. 88-91. 1. Computação natural. 2. Algoritmos evolutivos. 3. Simuladores. 4. Jogos eletrônicos educacionais. I. Título. CDD 794.81676 Resumo O jogo eletrônico educativo Calangos é baseado na modelagem de um caso ecológico real relativo aos lagartos que habitam a região das Dunas do Médio São Francisco, no Estado da Bahia. O objetivo final do jogo é possibilitar ao estudante interagir com um ambiente que promova uma compreensão adequada de processos ecológicos e evolutivos da natureza. O jogo deve funcionar como ferramenta de apoio ao ensino e aprendizagem de ecologia e evolução no nível médio de escolaridade. Para que o Calangos atinja esse objetivo conceitos centrais de evolução e ecologia deverão ser incorporados adequadamente ao jogo. Nesse sentido, o primeiro desafio científico do projeto, que antecede aos desafios tecnológicos de desenvolvimento de jogos propriamente ditos, está relacionado à como modelar a dinâmica das populações e a biologia evolutiva no contexto do Calangos. Para investigar estes aspectos de forma independente do jogo, essa dissertação propõe um simulador para o Calangos, assim como uma modelagem genético-evolutiva para os lagartos e, na sequência, realiza um conjunto de experimentos que permitem analisar a ecologia e evolução dos lagartos no ambiente simulado. Mais especificamente, são propostos quatro cenários experimentais e três níveis de dificuldade ambiental para cada cenário, que permitirão analisar cuidadosamente a dinâmica das populações e influência da evolução na fecundidade e longevidade de populações de lagartos localizadas dentro do ambiente de simulação. Os resultados mostram que em um ambiente equilibrado e sem predadores é possível observar um equilíbrio dinâmico das populações, em um formato típico dos modelos clássicos de dinâmica populacional baseados nas equações de Lotka-Volterra. Por outro lado, observa-se também que em ambientes mais hostis contendo grande quantidade de predadores a capacidade de evolução dos lagartos permite a sobrevivência da espécie no ambiente, o que não ocorre caso os lagartos não possam evoluir durante as simulações. No contexto do jogo Calangos, os resultados apresentados aqui servem como a prova de conceito inicial necessária para a modelagem computacional dos lagartos a serem incorporados no jogo. Palavras-chave: Computação Natural, Algoritmos Evolutivos, Simuladores, Jogos Eletrônicos Educacionais. Abstract The educational game Calangos is based on the ecological modeling of a real case of lizards that inhabit the Dunes of the Middle São Francisco River, in the state of Bahia - Brazil. The goal of the game is to enable students to interact with an environment that promotes a proper understanding of ecological and evolutionary processes. The game should serve as a tool to support the teaching and learning of ecology and evolution to high school students. For the Calangos Game to achieve this goal, central concepts of evolution and ecology should be properly incorporated in the game. Thus, the first scientific challenge of the project, in addition to the technological challenge of developing the game itself, is related to modeling the population dynamics and evolutionary biology in the context of Calangos. To investigate these aspects independently of the game, this dissertation proposes a simulator for Calangos, as well as a genetic-evolutionary model for the lizards. Furthermore, it performs a set of experiments that examine the ecology and evolution of the lizards in the proposed simulated environment. More specifically, four experimental scenarios and three difficulty levels for each environmental scenario are proposed to carefully analyze the dynamics of populations and the influence of the evolution on the fertility and longevity of lizards’ populations located within the simulated environment. The results clearly show that in a balanced environment without predators it is possible to observe a dynamic equilibrium of populations in a typical Lotka-Volterra model of population dynamics. On the other hand, it is also observed that in the most hostile environments containing large numbers of predators, the capability of evolution allows the lizard species to survive in the environment, which does not occur if the lizards’ evolution is disabled during the simulations. In the context of the Calangos game, the results presented here serve as the initial proof of concept necessary for the modeling of the lizards to be incorporated in the game. Keywords: Videogames. Natural Computing, Evolutionary Algorithms, Simulators, Educational Agradecimentos Agradeço primeiramente a Deus pela vida, por estar sempre no meu caminho, iluminando, protegendo, proporcionando oportunidades e guiando as escolhas certas. Aos meus pais: Reni de Fátima Machado Izidoro e Sergio Francisco Izidoro, que foram a base de tudo pra mim, na educação e no apoio aos momentos difíceis com força, confiança, amor e carinho, ensinando-me a persistir nos meus objetivos e ajudando a alcançá-los. Aos meus grandes amigos Luiz Henrique Gonçalves e Willyan Abilhoa. À minha companheira Mônica Ikeda. À minha irmã Dayane Izidoro pelo carinho, dedicação, amor e tolerância. Ao meu orientador Prof. Dr. Leandro Nunes de Castro pelo apoio e inúmeras contribuições a este trabalho. Aos integrantes do grupo de pesquisa do Laboratório de Computação Natural Abilio Coelho, Alexandre Szabo, Ana Carolina Lima, Daniel Gomes Ferrari, Danilo Souza da Cunha, Diego Duarte Almeida, Emanuel Maués Tavares, Rafael Silveira Xavier e Willyan Daniel Abilhoa, pelo apoio, amizade, companheirismo e auxílio nos momentos de dificuldade. Aos integrantes do projeto Calangos Prof. Dr. Ângelo Conrado Loula, Prof. Dr. Charbel Niño El-Hani, Diego Duarte Almeida e Emanuel Maués Tavares. A todos os professores e membros do Programa de Pós-graduação em Engenharia Elétrica da Universidade Presbiteriana Mackenzie pelo excelente trabalho. Ao CNPQ, ao MackPesquisa, à FINEP e à Fapesp pelo apoio financeiro ao projeto. Sumário 1 2 3 INTRODUÇÃO .................................................................................................................. 9 1.1 OBJETIVOS .............................................................................................................. 10 1.2 ORGANIZAÇÃO DO DOCUMENTO ..................................................................... 11 REFERENCIAL TEÓRICO ............................................................................................. 13 2.1 O JOGO CALANGOS............................................................................................... 13 2.2 DINÂMICA DAS POPULAÇÕES ........................................................................... 17 2.3 BIOLOGIA EVOLUTIVA ........................................................................................ 20 2.4 ALGORITMOS EVOLUTIVOS ............................................................................... 22 2.5 SIMULADORES ....................................................................................................... 30 MATERIAIS E MÉTODOS ............................................................................................. 33 3.1 3.1.1 Elementos das Simulações.................................................................................. 35 3.1.2 Interface .............................................................................................................. 40 3.2 4 MODELAGEM GENÉTICA DOS LAGARTOS ..................................................... 41 3.2.1 Codificação Genética .......................................................................................... 41 3.2.2 Reprodução, Cruzamento e Mutação.................................................................. 43 SIMULAÇÕES ................................................................................................................. 45 4.1 PARAMETRIZAÇÃO ............................................................................................... 45 4.2 RESULTADOS E DISCUSSÃO ............................................................................... 48 4.2.1 Cenário 1: Ambiente Sem Predadores e Sem Evolução ..................................... 48 4.2.2 Cenário 2: Ambiente Sem Predadores e Com Evolução .................................... 55 4.2.3 Cenário 3: Ambiente Com Predadores e Sem Evolução .................................... 65 4.2.4 Cenário 4: Ambiente Com Predadores e Com Evolução ................................... 70 4.3 5 O AMBIENTE DE SIMULAÇÃO PROPOSTO ...................................................... 33 RESUMO GERAL DOS RESULTADOS EXPERIMENTAIS ................................ 81 CONCLUSÕES E TRABALHOS FUTUROS ................................................................. 86 REFERÊNCIAS ....................................................................................................................... 88 Lista de Figuras Figura 1: Captura de tela da Fase 1 do jogo. ............................................................................ 15 Figura 2: Flutuações nas populações de linces e lebres no norte do Canada entre 1845 e 1935 (PURVES; ORIANS, 1992). .................................................................................................... 18 Figura 3: Comportamento cíclico da relação presa-predador no modelo de Lotka-Volterra (RICKLEFS, 2010). .................................................................................................................. 19 Figura 4: Esquema geral de um algoritmo evolutivo em pseudocódigo. Tradução e adaptação de (EIBEN; SMITH, 2003). ..................................................................................................... 24 Figura 5: Exemplos de mecanismos de codificação de genótipos............................................ 26 Figura 6: Operadores de cruzamento de um ponto, n-pontos, uniforme e de média ponderada (EIBEN; SMITH, 2003). .......................................................................................................... 27 Figura 7: Exemplos ilustrados de operadores de mutação. ...................................................... 29 Figura 8: Exemplo de reticulado bidimensional, no qual cada tipo de célula representa um elemento diferente. ................................................................................................................... 33 Figura 9: Exemplo da movimentação de um lagarto (célula cinza escuro) com velocidade de duas células por iteração, indo na direção de um alimento (célula cinza claro listrada) no reticulado bidimensional........................................................................................................... 34 Figura 10: Máquinas de estados dos lagartos (a) e predadores (b). .......................................... 38 Figura 11: Campo de visão de um lagarto. A região quadrada 3×3 ao centro representa o campo de atuação, dentro do qual o lagarto pode interagir com objetos. As outras áreas representam as coordenadas geográficas indicadas e a região dentro da qual o lagarto percebe outros objetos (predadores, alimentos e coespecíficos)............................................................ 39 Figura 12: Tela do simulador. A tela no canto esquerdo superior mostra a animação da simulação em execução. Logo abaixo há um painel de controle e alguns dados da simulação em forma textual atualizados periodicamente. As telas à direita apresentam gráficos atualizados em tempo real, exibindo o tamanho da população de lagartos e de predadores, a quantidade de machos e fêmeas, as variações nos tamanhos dos corpos, cabeças e velocidade dos lagartos, os tamanhos dos alimentos do ambiente, as dietas preferenciais e as causas das mortes dos lagartos. .................................................................................................................. 40 Figura 13: Exemplo de cromossomo de um lagarto. ................................................................ 43 Figura 14: Cromossomo dos lagartos em cenários sem evolução formado pelos valores médios do domínio de cada gene. ............................................................................................. 46 Figura 15: Comparativo entre a população de lagartos e a quantidade de alimentos em uma simulação do Cenário1 nos ambientes favorável, equilibrado e hostil..................................... 49 Figura 16: Comparativo entre as causas de mortes dos lagartos nas simulações do Cenário 1 nos ambientes favorável, equilibrado e hostil. ......................................................................... 50 Figura 17: Comparativo entre o tamanho médio dos dois tipos de alimentos nas simulações do Cenário 1 nos ambientes favorável, equilibrado e hostil. ......................................................... 51 Figura 18: Comparativo entre a quantidade de insetos e vegetais nas simulações do Cenário1 nos ambientes favorável, equilibrado e hostil. ......................................................................... 52 Figura 19: Comparativo entre a quantidade de filhos gerados a cada iteração nas simulações do Cenário 1. ............................................................................................................................ 53 Figura 20: Comparativo entre a longevidade média dos lagartos a cada iteração nas simulações do Cenário 1. .......................................................................................................... 54 Figura 21: Comparativo entre a população de lagartos e a quantidade de alimentos nas simulações do Cenário 2. .......................................................................................................... 56 Figura 22: Comparativo entre a longevidade média dos lagartos nas simulações do Cenário 2 para os ambientes favorável, equilibrado e hostil..................................................................... 57 Figura 23: Convergência evolutiva dos limiares de energia e hidratação do Cenário 2. ......... 58 Figura 24: Comparativo entre a quantidade de filhos gerados por iteração no Cenário 2. ...... 59 Figura 25: Comparativo entre a evolução da velocidade dos lagartos nos três tipos de ambiente do Cenário 2. ............................................................................................................. 60 Figura 26: Comparativo entre a evolução do tamanho dos corpos e cabeças dos lagartos no Cenário 2. ................................................................................................................................. 61 Figura 27: Comparativo entre o tamanho dos corpos dos lagartos e o tamanho médio dos insetos e vegetais das simulações do Cenário 2. ...................................................................... 62 Figura 28: Comparativo entre os motivos das mortes dos lagartos no Cenário 2. ................... 63 Figura 29: Comparativo da preferência dos lagartos por insetos e vegetais nas simulações do Cenário 2. ................................................................................................................................. 64 Figura 30: Comparativo entre a população de lagartos e predadores no Cenário 3. ................ 65 Figura 31: Comparativo entre a população de lagartos e a quantidade média de alimentos no Cenário 3. ................................................................................................................................. 66 Figura 32: Comparativo entre as causas das mortes dos lagartos no Cenário 3. ...................... 67 Figura 33: Comparativo entre a longevidade média dos lagartos no Cenário 3. ...................... 68 Figura 34: Comparativo entre a quantidade média de filhos gerados por iteração no Cenário 3. .................................................................................................................................................. 69 Figura 35: Comparativo entre os tamanhos da população de predadores e lagartos no Cenário 4. ............................................................................................................................................... 71 Figura 36: Comparativo entre a quantidade de alimentos e o tamanho da população de lagartos no Cenário 4. ............................................................................................................... 72 Figura 37: Comparativo entre a quantidade de filhos por iteração no Cenário 4. .................... 73 Figura 38: Comparativo entre a quantidade a longevidade dos lagartos no Cenário 4. ........... 74 Figura 39: Comparativo entre a convergência evolutiva da velocidade dos lagartos nos ambientes do Cenário 4. ........................................................................................................... 75 Figura 40: Comparativo os motivos das mortes dos lagartos no Cenário 4. ............................ 76 Figura 41: Comparativo entre os tamanhos dos corpos e cabeças dos lagartos no Cenário 4.. 77 Figura 42: Comparativo entre o tamanho dos alimentos do Cenário 4. ................................... 78 Figura 43: Comparativo entre a preferência dos lagartos pelos tipos de alimentos do Cenário 4. ............................................................................................................................................... 79 Figura 44: Comparativo entre a quantidade de insetos e vegetais no Cenário 4. ..................... 80 Figura 45: Comparativo entre os limiares mínimos de energia e hidratação Cenário 4. .......... 81 9 1 INTRODUÇÃO Jogos eletrônicos possuem um grande potencial como ferramenta de apoio a experiências imersivas de aprendizagem. Eles fornecem diversas possibilidades para se comunicar conceitos complexos através de uma ferramenta que coloca a descoberta na raiz do processo de aprendizagem. Os estudantes-jogadores sentem-se motivados a aprender, pois o próprio ambiente do jogo fornece experiências ativas e tem a capacidade de fornecer uma motivação intrínseca. Jogos eletrônicos estão crescendo rapidamente, principalmente devido ao desenvolvimento de jogos para plataformas móveis (smartphones e tablets), e vêm ganhando importância como ferramenta para apoio ao ensino e aprendizagem de conceitos específicos (SQUIRE, 2008). O Projeto Calangos é um projeto de pesquisa e desenvolvimento de um jogo eletrônico educativo que envolve três universidades brasileiras: Universidade Presbiteriana Mackenzie (UPM), Universidade Federal da Bahia (UFBA) e Universidade Estadual de Feira de Santana (UEFS). O jogo eletrônico educativo, denominado Calangos, deve funcionar como ferramenta de apoio ao ensino e aprendizagem de ecologia e evolução no nível médio de escolaridade. Não se trata de um jogo de exposição direta de conteúdos a serem aprendidos pelo estudante-jogador, mas de aprendizagem decorrente da experiência na tentativa de resolver situações-problema. Para criar a situação-problema na qual os conceitos em foco de fato são relevantes, o jogo deve simular o cenário e sua dinâmica de forma a permitir que a estratégia de jogo desenvolvida pelo jogador melhore à medida em que ele compreende os conceitos e aplica o que aprendeu. O jogo Calangos é baseado na modelagem de um caso ecológico real, situado no contexto das Dunas do Médio São Francisco, no Estado da Bahia, investigado por pesquisadores brasileiros (e.g., ROCHA; RODRIGUES, 2005), e tem como personagens principais os lagartos endêmicos desse ecossistema. O ensino da teoria da evolução Darwiniana foi escolhido como um dos temas do jogo, pois é considerado fundamental não só para a compreensão de modelos clássicos da biologia, mas também na educação para a cidadania, em particular, para a tomada de decisões em situações sóciocientíficas (SADLER, 2005). Logo, o jogo Calangos traz em si a vantagem, em termos educacionais, de que se baseia em um ecossistema real e bem característico do nordeste brasileiro. Essa inspiração em um caso ecológico real visa, principalmente, criar situações autênticas e significativas para os alunos, um requisito importante para a aprendizagem. 10 Contudo, é um trabalho complexo projetar e desenvolver um jogo capaz de representar de forma acurada conceitos específicos a serem transmitidos e, ao mesmo tempo, tornar o jogo suficientemente atraente e capaz de prender a atenção dos estudantes-jogadores. Por essa razão, o foco desta dissertação é neste primeiro elemento de projeto, ou seja, na representação acurada dos conceitos de ecologia e evolução do Calangos. Para que isso seja possível, essa dissertação propõe um simulador computacional para o jogo. O simulador servirá como um ambiente virtual que permite a observação dos comportamentos dos lagartos em cenários distintos, cada qual composto por ambientes com variados graus de dificuldade. Especificamente sobre a evolução e ecologia dos lagartos, este projeto propõe também uma modelagem genética para os lagartos que permitirá que eles evoluam com o passar das gerações e, consequentemente, tornem-se melhor adaptados aos cenários e ambientes de avaliação. O simulador proposto foi desenvolvido de maneira independente do jogo em linguagem Java e foi idealizado um conjunto de cenários de simulação que visam permitir uma compreensão mais profunda dos aspectos ecológicos a serem incorporados no jogo Calangos, sequência natural do presente projeto de pesquisa. 1.1 OBJETIVOS O desenvolvimento do jogo Calangos requer conhecimentos e habilidades inter- e multidisciplinares, permeando as áreas de biologia, ensino, computação e engenharia, dentre outras. O jogo foi idealizado para transcorrer em ambiente 3D e considerar diversos aspectos do ambiente natural a ser simulado. Além disso, os comportamentos dos agentes no ambiente devem ser razoavelmente fieis a seus comportamentos reais, de maneira a permitir que os estudantes-jogadores sejam capazes de absorver os conceitos tratados no jogo. Iniciar o projeto a partir do desenvolvimento do próprio jogo e considerando todas essas habilidades e variáveis poderia ser uma estratégia muito custosa e correções de erro poderiam estar sujeitas a elevados níveis de complexidade. Por essa razão, a proposição de um simulador como uma plataforma genérica de experimentação da dinâmica dos agentes e suas interações com o ambiente torna-se um elemento estratégico de desenvolvimento do projeto como um todo. Toda a modelagem genético-evolutiva, ambiental e comportamental do Calangos precisa ser validada experimentalmente antes de ser incorporada ao jogo. Assim, além de propor tal modelagem para os agentes que comporão o Calangos, esta dissertação realizará um vasto conjunto experimental por meio do simulador, capaz de validar a modelagem proposta e analisar possíveis comportamentos emergentes das interações entre os agentes e desses com o 11 ambiente. Esse trabalho visa fazer parte da pesquisa e desenvolvimento relacionado a passagem do tempo ecológico para o tempo evolutivo do jogo. Dada a ênfase nas Fases 3 e 4 do jogo, o trabalho envolve uma contribuição tecnológica e outra científica. Especificamente, a dissertação possui os seguintes objetivos: 1. Desenvolver um ambiente de simulação e testes para o Calangos. Isso se deve ao fato de que testar todos os principais aspectos evolutivos e populacionais do Calangos no ambiente original 3D é consideravelmente mais custoso sob o ponto de vista computacional. Por essa razão, um ambiente de simulação simplificado vem sendo desenvolvido. Esse ambiente de simulação também funcionará como plataforma para a prototipagem da parte evolutiva do jogo. 2. Investigar o comportamento evolutivo dos lagartos nos níveis individual e populacional dentro do ambiente de simulação. Nessa etapa são aplicados algoritmos evolutivos para simular o comportamento evolutivo de populações de lagartos sob diferentes condições ambientais. Essa investigação envolve a proposição de uma modelagem computacional das estruturas que representarão os lagartos virtuais (codificação genotípica dos lagartos), operadores genéticos adequados a essas estruturas e reprodução dos lagartos no ambiente e, por fim, a simulação das populações para estudo do impacto das diferentes características no nível de adaptabilidade populacional. 1.2 ORGANIZAÇÃO DO DOCUMENTO Essa dissertação está organizada em cinco capítulos, como detalhado a seguir. O Capítulo 1 faz uma introdução ao tema da dissertação, sua motivação, objetivos e descreve a organização do documento. O Capítulo 2 traz o referencial teórico do texto, contendo embasamentos sobre os aspectos do jogo Calangos (Seção 2.1), o caso biológico que inspirou o jogo, noções sobre dinâmica de populações (Seção 2.2), biologia evolutiva (Seção 0), algoritmos evolutivos (Seção 2.4) e simuladores (Seção 2.5). O Capítulo 3 apresenta a proposta de um simulador para o Calangos. É dada uma explicação detalhada do funcionamento e desenvolvimento do simulador (Seção 3.1) e a modelagem genética dos lagartos (Seção 3.2). 12 O Capítulo 4 apresenta os materiais e métodos usados nos experimentos de análise comportamental dos agentes, assim como os resultados obtidos e discussões. A dissertação é concluída no Capítulo 5 com uma discussão sobre o desenvolvimento do simulador e os resultados experimentais, além de fornecer temas de trabalhos futuros. 13 2 REFERENCIAL TEÓRICO Essa dissertação propõe um simulador para o Calangos capaz de permitir a realização de estudos sobre a ecologia e evolução dos lagartos do jogo. Para que o simulador pudesse ser desenvolvido e os experimentos envolvendo as dinâmicas populacionais dos lagartos nas Dunas do médio São Francisco, com e sem evolução, pudessem ser realizados e discutidos, todo um arcabouço conceitual precisou ser estudado. Especificamente, foi necessário investigar conceitos associados à dinâmica das populações em ambientes naturais, biologia evolutiva, algoritmos evolutivos e simuladores. Este capítulo inicia com uma revisão geral sobre o jogo Calangos, relevante para um melhor entendimento do simulador e seus componentes, e segue com uma revisão conceitual sobre cada um desses temas, discursando sobre os aspectos necessários e suficientes ao desenvolvimento do simulador e condução dos experimentos. 2.1 O JOGO CALANGOS Calangos é um jogo educacional inspirado em um caso biológico real que valoriza a fauna brasileira e o conhecimento produzido pela comunidade acadêmica nacional. Além disso, a fonte de inspiração reflete uma das regiões de preservação biológica mais importantes da caatinga (PRENSKY, 2001). Neste capítulo serão apresentados uma visão geral do jogo, o caso real no qual ele foi inspirado e as quatro fases que o compõem. As dunas do rio São Francisco formam uma das mais destacadas paisagens da caatinga brasileira, localizadas em uma faixa de terra que apresenta clima árido e semiárido, se estendendo do Raso da Catarina até o Vale do Rio São Francisco. Situadas principalmente no estado da Bahia, essas dunas representam a região da caatinga com maior nível de endemismos conhecida. Nelas são encontradas diversas espécies de lagartos, serpentes, aves, pequenos mamíferos e plantas. A maior diversidade da fauna da região é formada principalmente por lagartos e serpentes. Além da grande variedade de espécies por localidade, as espécies presentes em lados opostos do rio São Francisco e, eventualmente, em ilhas desse rio, são distintas e aparentadas entre si, aumentando a diversidade regional e refletindo um interessante histórico de isolamento reprodutivo derivado de isolamento geográfico de áreas que eram conexas no passado (ROCHA; RODRIGUES, 2005). O Calangos foi proposto como um jogo computacional para o apoio ao ensino e aprendizagem de evolução e ecologia. O cenário real idealizado como inspiração para o 14 desenvolvimento do Calangos foi as dunas do São Francisco e seu ecossistema formado por lagartos, suas presas e predadores. A inspiração em um caso ecológico real visa, principalmente, criar situações autênticas e significativas para os alunos. Os personagens principais do jogo são os lagartos da caatinga, que interagem com o ambiente (outros animais, plantas e o meio físico). Estes outros animais são divididos em predadores, presas e coespecíficos em relação aos lagartos. Dentre os predadores, há sete espécies: carcará, seriema, coruja, teiú, jararaca, raposa e gato, além de algumas espécies da família Colubridae (família de répteis escamados da subordem serpentes). As presas, por sua vez, incluem animais como formiga, aranha, besouro, grilo, larva e cupim. Os coespecíficos são outros lagartos, machos ou fêmeas, da mesma espécie do personagem do jogador. Há uma série de inter-relações ecológicas entre os lagartos e outros animais: ele é presa de animais como o teiú e a seriema, devendo se precaver contra ataques desses predadores; ao mesmo tempo ele é também predador de alguns insetos e aracnídeos, os quais deve buscar para sua alimentação. Os lagartos também se relacionam com seus coespecíficos: machos são competidores de coespecíficos do mesmo sexo pela reprodução com coespecíficos fêmeas e lagartos também competem entre si pela busca por alimentos (OLIVEIRA, et al., 2010). A descrição de toda fundamentação ecológica foi realizada pelos biólogos da equipe, visando a apresentação correta dos conceitos e fatos para o jogador-aluno. Para elaboração do jogo eletrônico, esta descrição se transformou em requisitos que descrevem os elementos do jogo e a dinâmica deles, de forma a elaborar um jogo de simulação no qual o jogador controla um lagarto (ou uma população de lagartos em algumas fases) e deve alcançar suas metas de sobrevivência, reprodução e perpetuação da espécie. O desafio da sobrevivência está em manter-se vivo frente às adversidades do clima, da alimentação e da predação. A reprodução depende da sobrevivência, pois o lagarto somente se reproduz se alcançar a fase adulta, ou seja, deve sobreviver à fase jovem para desenvolver-se e entrar na fase reprodutiva, na qual encontrará também o desafio de competição. Estes são os desafios trazidos do caso ecológico real para o jogo eletrônico (OLIVEIRA, et al., 2010). O jogo Calangos propriamente dito, foi planejado para ser desenvolvido em quatro fases distintas. A Fase 1 já foi desenvolvida e encontra-se em estágio de aperfeiçoamento. Nela o jogador controla um único lagarto de uma das três espécies disponíveis (Tropidurusp sammonastes, Cnemidophorussp. nov. e Eurolophosaurus divaricatus). O jogador pode analisar 15 diversos tipos de dados e gráficos para melhor entender os aspectos do personagem. O objetivo desta fase é simular para o jogador os aspectos ecológicos do lagarto, como alimentação, reprodução, disputas por parceiros reprodutivos e fuga de predadores. Se o jogador for bem sucedido, o lagarto sobreviverá por tempo suficiente para crescer e se reproduzir. Uma captura de tela da Fase 1 do jogo é exibida na Figura 1. Figura 1: Captura de tela da Fase 1 do jogo. Para ter sucesso (sobreviver) um lagarto precisa gerenciar seus níveis de energia e hidratação por meio da alimentação; manter em equilíbrio sua temperatura corporal, levando em consideração a temperatura do ambiente, regiões à sombra e regiões expostas ao sol; manter-se oculto e/ou fugir de predadores quando necessário e, principalmente, reproduzir-se o maior número possível de vezes. Para o desenvolvimento da Fase 1 foi necessário desenvolver e implementar personagens não jogáveis (NPCs, do inglês non-playable characters) baseados nos animais que existem na caatinga (OLIVEIRA, et al., 2010). O comportamento desses animais também foi modelado de maneira simplificada, por exemplo, formigas e cupins andam agrupados em trilhas, predadores diferentes possuem estratégias de caça diferentes e atuam em períodos distintos do dia e da noite, e todos se orientam apenas pela visão. 16 Além de insetos e aracnídeos, lagartos também podem se alimentar de uma grande variedade de frutos e flores encontrados no ambiente. Os principais alimentos das dunas também foram implementados no Calangos, incluindo larvas, grilos, cupins, besouros, formigas e aranhas. Cada alimento fornece ao lagarto quantidades diferentes de energia e hidratação, vitais para a sobrevivência do animal. Insetos e aracnídeos em geral fornecem uma quantidade maior de energia, enquanto frutos e flores fornecem uma quantidade maior de hidratação. A versão beta da Fase 1 do jogo encontra-se disponível para download no endereço http://www.calangos.sourceforge.net. Esta versão conta com alguns dos principais elementos do ambiente, como clima e ciclo circadiano. Na Fase 2 o aluno jogador deve criar sua própria espécie de lagarto usando um editor de personagens. No editor o jogador será apresentado a uma tela com uma lista de características fisiológicas, morfológicas e comportamentais que podem ser modificadas e atribuídas aos personagens. Dentre as características morfológicas é possível alterar: Tamanho do corpo: quanto maior o corpo do lagarto, maior sua velocidade e capacidade de inibir o ataque de predadores, porém maior sua demanda por alimento e água, e também o tempo para atingir a maturidade reprodutiva; Largura da cabeça: lagartos com cabeças de larguras diferentes têm diferentes restrições sobre os tipos de alimentos que podem consumir. Cabeças maiores implicam em bocas maiores, que podem apanhar objetos maiores, mas que tornam mais difícil manipular objetos pequenos; Padrões de Coloração: lagartos podem ter padrões de cores diferentes, variando dos padrões visíveis aos mais furtivos. Um padrão camuflado torna menos provável que coespecíficos do sexo oposto possam ver uns aos outros, mas diminuem as chances de serem vistos por predadores. O padrão de cor também influencia a regulação da temperatura do corpo: as cores mais claras refletem mais o calor, diferentemente das cores escuras que o absorvem com mais facilidade. Dentre as características fisiológicas e comportamentais que podem ser selecionadas na Fase2, estão: Dieta: existem lagartos especialistas em alimentar-se de frutos (eles obtêm maior hidratação a partir deste tipo de alimento), e especialistas em insetos (obtêm mais nutrição a partir de insetos, como formigas e cupins), assim como generalistas que podem ter uma nutrição média de vários tipos de alimentos; 17 Ciclo circadiano de atividade: suscetibilidade de lagartos para realizar atividades durante o dia ou a noite. Algumas presas e predadores se manifestam apenas durante certos períodos do ciclo circadiano, por isso a escolha do período de atividade do lagarto deve ser planejada com cuidado; Velocidade: quanto maior a velocidade de um lagarto, maior a sua capacidade de escapar de predadores, porém seu gasto basal (em repouso) de energia é maior devido ao seu metabolismo rápido. Outra desvantagem da velocidade é que lagartos que se movem rapidamente chamam mais a atenção de predadores próximos; Densidade inicial da espécie: refere-se ao tamanho da população de lagartos que existirá no início do jogo. Quanto maior o número de indivíduos, maior a probabilidade de um lagarto encontrar um parceiro para a reprodução, porém, maior o consumo de recursos disponíveis no ambiente. Este fator influi diretamente na competição pela sobrevivência entre lagartos logo no início da simulação; Agregação dos lagartos (sociabilização): lagartos que vivem próximos uns aos outros são mais propensos a encontrar parceiros para a reprodução e têm menor probabilidade individual de serem predados. No entanto, a agregação de lagartos provoca uma maior competição por alimento e parceiros reprodutivos em pequenas regiões. As opções selecionadas pelo jogador na Fase 2 têm efeito na Fase 3, na qual uma população de lagartos (com base nos atributos selecionados na Fase 2) é gerada. O jogador deve então gerenciar sua nova população buscando o sucesso e evitando a extinção. Esta fase ainda está na etapa de modelagem e documentação. A Fase 4 do jogo dá ao jogador não só o desafio de manter uma população de lagartos, como na Fase 3, mas também de lidar com sua evolução ao longo de várias gerações. O desenvolvimento de um simulador para esta fase é o foco desta dissertação, na qual serão definidas algumas das técnicas de computação natural que viabilizarão o desenvolvimento da ecologia e evolução dos lagartos. 2.2 DINÂMICA DAS POPULAÇÕES A densidade das populações na natureza é dependente de dois fatores primordiais: 1) taxas de natalidade e mortalidade em relação às mudanças ambientais, como temperatura, umidade, falta de alimentos e escassez de água; e 2) tamanho da própria população (RICKLEFS, 2010). Sistemas de relações presa-predador (BERRYMAN, 1992; VOLTERRA, 1928; LOTKA, 18 1925) são muito estudados na biologia. No jogo Calangos existe este tipo de relação entre lagartos e alimentos (insetos e vegetais), e entre lagartos e predadores. Na natureza quando uma população de determinada espécie torna-se muito grande em comparação à disponibilidade de recursos, é comum ocorrer uma drástica diminuição no número de indivíduos. Alguns sistemas biológicos são inerentemente instáveis e tendem a desenvolver oscilações (RICKLEFS, 2010). Um exemplo de flutuação na densidade (número de indivíduos) de uma espécie é indicado na Figura 2, na qual são ilustradas as oscilações de populações de lebres (presas) e linces (predadores) no norte do Canadá, com base em pelagens dos animais encontradas no território (PURVES; ORIANS, 1992). Figura 2: Flutuações nas populações de linces e lebres no norte do Canada entre 1845 e 1935 (PURVES; ORIANS, 1992). Na Figura 2 observa-se que quando a população de lebres é pequena, há escassez de alimento para os linces, resultando em um decaimento no tamanho da população de predadores. Com um número menor de linces, a população de lebres sofre menos predação e tende a aumentar. Algum tempo depois, a população de predadores volta a crescer devido ao aumento da população de presas. O aumento na população de predadores acarreta a diminuição da população de lebres. Este ciclo tende a se repetir indefinidamente. Este é um exemplo típico de um comportamento conhecido como presa-predador, no qual as lebres são as presas e os linces são os predadores (BERRYMAN, 1992). Um modelo clássico de dinâmica deste tipo é o modelo de Lotka-Volterra (LOTKA, 1925; VOLTERRA, 1928), no qual uma população de presas x aumenta a uma taxa (A) 19 proporcional ao número de presas, ou seja: Porém, esta população é simultaneamente consumida por uma população de predadores y, a uma taxa (B) proporcional ao produto do número de presas e predadores, ou seja: . Simultaneamente, a população de predadores diminui a uma taxa (C) proporcional ao número de predadores ( ), mas aumenta a uma taxa (D) novamente proporcional ao produto do número de presas por predadores ( ). Isto resulta nas Eqs. (4) e (5), onde A é a taxa de crescimento da população de presas, B é um coeficiente que representa a taxa de predação, D é a taxa de reprodução dos predadores e C a taxa de morte dos predadores: (1) (2) Este tipo de interação, segundo o modelo de Lotka-Volterra, gera um comportamento cíclico no qual há um aumento da população de presas, seguido por um aumento na predação. Um aumento na população de predadores causa um declínio na população de presas, o que causa uma menor sustentação na população de predadores seguida de seu declínio, fazendo com que a população de presas aumente novamente, e assim por diante (RICKLEFS, 2010), como ilustrado na Figura 3. Figura 3: Comportamento cíclico da relação presa-predador no modelo de Lotka-Volterra (RICKLEFS, 2010). 20 O modelo de Lotka-Volterra para a representação da dinâmica entre presas e predadores é apenas um dos diversos modelos estudados na biologia. Ele é um modelo clássico que pode ser admitido dentro do contexto do Calangos, porém não se tem subsídios para afirmar sua validade. Em um espaço de tempo maior aparecem outros fatores que afetam a dinâmica das populações. Em escalas de tempo maiores pode-se observar a evolução das espécies como consequência da seleção natural que ocorre ao longo das gerações, como será discutido na próxima seção. 2.3 BIOLOGIA EVOLUTIVA A evolução é o processo de mudança que ocorre em populações de seres vivos através das gerações como consequência da necessidade de adaptabilidade ao meio em que vivem (LINDEN, 2012). Diferentemente do processo de aprendizado, que acontece com um indivíduo no espaço de tempo de sua vida, a evolução ocorre em um espaço de tempo muito maior (tempo evolutivo), envolvendo gerações. É um processo que não ocorre localmente em um indivíduo e nem é percebido por ele, mas afeta toda uma população. Esse processo permite que uma espécie se torne mais adaptada ao ambiente com o passar das gerações (STEARNS; HOEKSTRA, 2000). Um componente essencial no processo evolutivo é o cromossomo. Ele pode ser entendido como um código que contribui para a determinação das características que formam o organismo. Os blocos construtivos de um cromossomo são chamados genes e sua configuração em um cromossomo determina as características do organismo resultante (CHARLES, et al., 2008). Um cromossomo é formado por uma estrutura molecular e possui um alfabeto de quatro letras diferentes correspondentes às bases nucléicas do DNA. O DNA (ácido desoxirribonucleico) é um tipo de molécula que constitui o material genético de praticamente todos os organismos do planeta (com exceção de alguns tipos de vírus que possuem o material genético formado por RNA ou ácido ribonucleico). As moléculas de DNA são compostas por quatro bases: adenina, guanina, citosina e timina. A combinação destas moléculas aos pares (adenina com timina e guanina com citosina) forma a codificação genética do DNA (BENTLEY; KUMAR, 2003). O DNA representa o genótipo, ou seja, a codificação genética, de um indivíduo. O genótipo funciona como um conjunto de instruções de crescimento e desenvolvimento de um organismo. O termo fenótipo refere-se às características físicas e bioquímicas observáveis do 21 organismo (como altura, cor dos olhos, tom de pele, etc.) que são determinadas tanto pela construção genética quanto pelas influências ambientais (BENTLEY; KUMAR, 2003). Em organismos sexuados, durante a reprodução ocorre o cruzamento ou recombinação dos genes dos pais. A recombinação é a troca aleatória entre genes dos cromossomos dos pais a qual é herdada pelo descendente, assim um novo indivíduo recebe parte de suas características genéticas de cada um de seus progenitores (STEARNS; HOEKSTRA, 2000). Um fenômeno que pode ocorrer durante um cruzamento é o processo de mutação. Uma mutação é uma modificação aleatória na sequência de DNA, da forma ou da estrutura de um cromossomo. Uma mutação pode afetar a função de um organismo positiva ou negativamente. Por exemplo, alguns tipos de mutações podem ajudar a fortalecer o sistema imunológico na defesa contra patógenos, porém, há tipos de mutação que podem provocar câncer ou atrofias. É um processo de ordem aleatória que contribui para a divergência genética entre populações. Populações da mesma espécie separadas geograficamente podem receber mutações diferentes, o que pode fazer com que a espécie em questão seja divergida em espécies diferentes (STEARNS; HOEKSTRA, 2000). O cruzamento e a mutação durante a reprodução permitem que novas variantes das espécies surjam durante a reprodução, sendo fatores chaves na evolução das espécies. A teoria da evolução por meio da seleção natural propõe que na natureza, indivíduos competem por recursos limitados, como alimentos e água. Os indivíduos que não obtêm êxito tendem a ter proles em menor quantidade, fazendo com que a probabilidade de que os genes desses indivíduos sejam propagados ao longo das gerações seja menor. Este é o processo chamado de seleção natural (LINDEN, 2012). A seleção natural pode influenciar a distribuição dos genes e, consequentemente, das características associadas a eles, numa população de três formas distintas (RICKLEFS, 2010): 1) Seleção estabilizadora: ocorre quando atributos de fenótipos intermediários (mais comuns entre a população) oferecem maior chance de sucesso aos indivíduos do que atributos de fenótipos extremos. Por exemplo, em uma espécie de pássaros, indivíduos com tamanho de bico médio teriam maiores chances de sobrevier do que indivíduos com bicos muito longos ou muito curtos. 2) Seleção direcional: ocorre quando os indivíduos mais adaptados possuem um fenótipo mais extremo do que a média da população. Por exemplo, aves de uma espécie que 22 possuem tamanho do corpo menor do que a média dos seus coespecíficos podem ser mais adaptadas ao ambiente. 3) Seleção disruptiva: ocorre quando indivíduos com fenótipos extremos de qualquer uma das pontas da distribuição populacional podem ter um nível de adaptabilidade mais alto do que indivíduos com fenótipos intermediários. Como exemplo, considere uma população de lagartos na qual indivíduos com caudas maiores ou menores do que a média da população são mais adaptados ao ambiente. Esse último tipo, apesar de incomum, pode levar à divisão de uma espécie em múltiplas espécies distintas. Cabe ressaltar que a evolução natural não é um processo dirigido, com o objetivo de otimizar características de indivíduos de uma espécie. A evolução é um processo pelo qual as características dos indivíduos de uma espécie são alteradas com o passar das gerações (LINDEN, 2012). A evolução natural pode ocorrer quando quatro condições básicas são satisfeitas (DARWIN, 1859): 1) Há uma população de indivíduos; 2) Um indivíduo tem a capacidade de se reproduzir; 3) Há alguma variação de características entre os indivíduos durante o processo reprodutivo; 4) Há alguma diferença entre as capacidades de sobrevivência e reprodução no ambiente relacionadas a essa variação. Na natureza, o processo evolutivo é dependente da variedade nas características de indivíduos da mesma espécie, manifestada em seus cromossomos. Este processo ocorre por meio da substituição de indivíduos de uma população menos adaptados ao ambiente pelos descendentes dos mais adaptados. Embora a evolução ajude a combinar as adaptações dos organismos com seus ambientes, ela não beneficia um indivíduo propriamente dito. É a genética da população que evolui e não o organismo (RICKLEFS, 2010). 2.4 ALGORITMOS EVOLUTIVOS Muitos problemas parecem precisar de interação humana para serem resolvidos com sucesso. Certos problemas possuem uma explosão combinatória de possíveis soluções, como problemas de otimização (roteamento, escalonamento de processos, etc.), que não podem ser exploradas por métodos de computação tradicionais, como busca exaustiva. Ou seja, mesmo que se desejasse observar e comparar todas as soluções possíveis do problema buscando a melhor 23 delas, esse processo levaria tanto tempo que seria infactível na prática. Estes problemas são ditos intratáveis ou complexos. Encontrar soluções para alguns destes problemas envolve buscas em espaços multidimensionais extensos. Contudo, o processo de busca por soluções otimizadas pode ser desafiador e consumir grandes quantidades de tempo e recursos. Portanto, diversos métodos para automatizar esses processos foram propostos nas últimas décadas. Entre as décadas de 1950 e 1960, diversos pesquisadores estudaram sistemas evolutivos naturais com a visão de que a evolução poderia ser utilizada como ferramenta de busca e otimização de problemas complexos. A ideia era evoluir uma população de soluções candidatas a um dado problema utilizando operadores inspirados na teoria da evolução por meio da seleção natural (MITCHEL, 1998). Uma contribuição importante para a então chamada computação evolutiva foi o desenvolvimento dos algoritmos genéticos (AGs) por John Holland na década de 1960. O objetivo original de Holland não era a solução de problemas específicos, mas sim estudar de maneira formal a adaptação, por meio da teoria da evolução, em sistemas naturais e computacionais. Como consequência de seus estudos ele apresentou o algoritmo genético como uma abstração da teoria da evolução (HOLLAND, 1975). A computação evolutiva está baseada em estudos dos processos de evolução por meio da seleção natural propostos por Charles Darwin (DARWIN, 1859). Ela servirá como referencial para os estudos evolutivos com o simulador do Calangos e, posteriormente, para a Fase 4 do jogo. Nesta fase os jogadores poderão criar seus próprios lagartos que estarão sujeitos à evolução dentro do ambiente. Assim, a simulação dos processos evolutivos a ser proposta nessa dissertação tem dois objetivos: 1) permitir que os lagartos criados pelos jogadores possam evoluir ao longo do jogo; e 2) investigar como o processo evolutivo impactará a adaptabilidade dos lagartos ao ambiente. Estes estudos serão feitos com um simulador desenvolvido exclusivamente para o Calangos, não com o jogo propriamente dito. Algoritmos genéticos codificam soluções candidatas de um problema proposto e fazem com que elas evoluam de forma iterativa até que uma solução satisfatória seja encontrada. Além de aplicações comerciais, algoritmos genéticos são usados extensivamente na ciência como métodos de busca para resolver problemas e para a criação de modelos científicos de sistemas evolutivos, incluindo genéticas de população, seleção clonal em sistemas imunológicos e evolução de comportamento coletivo em sistemas sociais (MITCHELL; TAYLOR, 1999; FLOREANO; NOLFI, 2000; GOLDBERG, 1989). 24 É típico em algoritmos evolutivos utilizar populações de soluções candidatas constituídas a partir de conjuntos de dígitos binários ou valores reais, representando genótipos (Seção 2.1) de indivíduos. Estes são lidos e interpretados para formar os fenótipos, os quais são avaliados de acordo com sua função de adaptabilidade ao ambiente e reproduzidos seletivamente (SIMS, 1994(a)). Uma função de adaptabilidade (também conhecida como função de fitness, ou de desempenho) é definida para avaliar cada fenótipo de acordo com seu sucesso em resolver um problema, que está associado ao nível de adaptabilidade daquele indivíduo ao ambiente. Os organismos mais adaptados (ou soluções com o melhor valor de avaliação) têm maior probabilidade de sobrevivência e reprodução (SIMS, 1994(a)). O funcionamento geral de um algoritmo evolutivo é descrito em pseudocódigo na Figura 4. 01- INÍCIO 02- GERAR uma população de soluções candidatas aleatórias; 03- AVALIAR cada candidato; 04- REPETIR ATÉ (Condição de parada) 05- SELECIONAR pais; 06- CRUZAR pais; 07- MUTAR nova prole; 08- AVALIAR novos candidatos; 09- SELECIONAR indivíduos para a nova geração; 10- FIM 11- FIM Figura 4: Esquema geral de um algoritmo evolutivo em pseudocódigo. Tradução e adaptação de (EIBEN; SMITH, 2003). Em um algoritmo evolutivo clássico, primeiramente, uma população de indivíduos é gerada, cada um com um cromossomo aleatório. Cada indivíduo é avaliado de acordo com seu fenótipo, atribuindo um valor de fitness ou aptidão para cada um. Indivíduos com maior aptidão têm maior probabilidade de serem selecionados para reprodução. A reprodução é realizada por meio de um cruzamento entre os pares de indivíduos, dada uma determinada probabilidade de cruzamento. Quando dois indivíduos são cruzados, eles geram dois indivíduos novos a partir da combinação dos seus genes, de modo que os descendentes sejam misturas de ambos os progenitores. A mutação é outro processo importante em um algoritmo evolutivo porque introduz variabilidade genética na população, ou seja, permite que características genéticas que antes 25 não existiam possam ser incorporadas à população. A mutação ocorre com dada probabilidade, geralmente pequena. Quando isso acontece, um indivíduo recém-gerado por cruzamento sofre uma mudança em um ou mais de seus genes. Os processos de seleção, cruzamento e mutação são repetidos até que um critério de parada seja atingido. Nos algoritmos genéticos cada indivíduo candidato a solução de um problema deve possuir uma representação genética, denominada de cromossomo ou genótipo. O genótipo deve ter um mapeamento para o fenótipo correspondente (DE CASTRO, 2006; EIBEN; SMITH, 2003). Os elementos do cromossomo são chamados genes e os valores possíveis de um gene são denominados alelos. Uma das maneiras de representar um cromossomo é na forma de um vetor de características e a definição da estrutura vetorial que irá representar o cromossomo é dita representação vetorial (FOGEL, 2000). As quatro maneiras mais comuns de representação vetorial de indivíduos em algoritmos genéticos são (EIBEN; SMITH, 2003): 1. Representação Binária: a maneira mais simples de representar genótipos é por meio de conjuntos ordenados de valores binários. Este tipo de codificação é muito utilizado em problemas que envolvem decisão booleana ou para os quais uma codificação booleana faz sentido. Um exemplo de codificação binária é mostrado na Figura 5(a). 2. Representação Inteira: o indivíduo é representado por um conjunto de valores inteiros (Figura 5(b)). Esses valores podem ser restritos, ou seja, cada gene pode receber um conjunto de valores específicos (por exemplo: o conjunto {0,1,2,3} representando {Norte, Sul, Leste, Oeste}), ou irrestritos, nos quais qualquer valor é permitido. 3. Representação Real ou de Ponto Flutuante: uma forma precisa e sensível de representar candidatos à solução é por meio de valores reais. Esse tipo de representação é utilizado quando os valores dos genes a serem representados se encontram em um intervalo de distribuição contínua e não discreta (exemplo na Figura 5(c)). 4. Representação Mista: o cromossomo artificial pode conter diferentes tipos de dados em diferentes posições. Esse tipo de codificação pode ser usado em situações em que cada posição do gene representa uma característica diferente. Um exemplo é apresentado na Figura 5(d). 26 (a) (b) (c) (d) Figura 5: Exemplos de mecanismos de codificação de genótipos. 2.4.1.1 Operadores de Cruzamento Os operadores de cruzamento ou recombinação realizam a troca de material genético entre dois indivíduos de uma população, chamados pais, gerando um novo indivíduo, chamado filho ou prole. Há diversos operadores de cruzamento na literatura e a aplicação deles a um dado problema depende, principalmente, de dois fatores: 1) da codificação usada; e 2) de restrições do problema. A Figura 6 ilustra quatro tipos importantes de operador de cruzamento (EIBEN; SMITH, 2003; HOLLAND, 1992): 1. Cruzamento de Um Ponto de Corte: dados dois indivíduos selecionados para cruzamento, escolhe-se um ponto de corte (um dos genes do cromossomo) aleatoriamente e troca-se entre os pais todos os genes a partir deste ponto de forma que os descendentes herdem parte do código genético de cada progenitor (Figura 6(a)); 2. Cruzamento de n Pontos de Corte: similar ao cruzamento de um ponto, porém permite a escolha de n pontos de corte para troca de material genético (Figura 6(b)); 3. Cruzamento Uniforme: diferentemente do cruzamento de n pontos, o cruzamento uniforme permite que os pais contribuam para os filhos no nível dos genes. Por exemplo, se a taxa de mistura de genes for de 0,5, para cada gene dos pais, há uma probabilidade de 50% de que o descendente receba um gene de um dos progenitores e 50% de receber o gene do outro (Figura 6(c)); 27 4. Cruzamento por Média Ponderada: dados dois indivíduos da população selecionados [0, 1] para cada um dos genes dos para cruzamento, definir aleatoriamente um peso pais. O valor do gene resultante do primeiro filho pai multiplicado pelo peso por ( é o valor do gene somado ao valor do gene do primeiro do segundo pai multiplicado ), como mostrado na Eq. (1). Para o gene do segundo filho o processo é repetido, porém os pesos são trocados entre os pais, como mostrado na Eq. (2). O processo deste operador é ilustrado na Figura 6(d). ( ( ) ) (1) (2) (a) (b) (c) (d) Figura 6: Operadores de cruzamento de um ponto, n-pontos, uniforme e de média ponderada (EIBEN; SMITH, 2003). 28 A escolha do operador de cruzamento a ser aplicado varia de acordo com a aplicação, normalmente são necessários testes para analisar a sensibilidade da aplicação a diferentes operadores. 2.4.1.2 Operadores de Mutação Mutações e recombinações aleatórias são aplicadas com uma dada probabilidade nas novas gerações para introduzir e manter a variabilidade genética. Novos genótipos são gerados por reprodução com herança e mutação dos indivíduos da geração anterior. A mutação é um processo importante em um algoritmo evolutivo, pois permite a introdução de variabilidade genética durante o processo reprodutivo. A variabilidade aumenta as chances de que genes que antes não estavam presentes em nenhum dos membros da população sejam incluídos. A mutação ocorre com uma determinada probabilidade, geralmente baixa, através da qual um indivíduo recém-gerado pelo cruzamento pode sofrer uma variação aleatória em um ou mais de seus genes. Assim como no caso do cruzamento, a mutação depende da representação dos indivíduos e de restrições do problema (FREITAS, 2002). Exemplos dos principais operadores de mutação são: 1. Mutação por Redefinição Aleatória: dado um novo indivíduo resultante de um cruzamento, há uma probabilidade para cada um de seus genes ser substituído por um valor numérico aleatório dentro do intervalo de valores válidos para este gene, como mostra a Figura 7(a). 2. Mutação para Representações Binárias: idêntico ao operador anterior, porém aplicado às representações binárias. Existe a probabilidade de que para alguns genes, 1s se tornem 0s e vice-versa, como mostra a Figura 7(b). 3. Mutação por Troca: dado um novo indivíduo resultante de um cruzamento, há uma probabilidade de que pares de seus genes compatíveis sejam trocados entre si, como mostra a Figura 7(c). 4. Mutação por Mistura: este operador seleciona o conjunto inteiro de genes, ou uma parte do mesmo, e embaralha os valores selecionados, como mostrado na Figura 7(d), na qual os valores das posições 2 até 5 são misturados. 5. Mutação por Inversão: este operador é similar ao operador de mutação por mistura, porém os valores têm a ordem invertida ao invés de misturada, como é mostrado na Figura 7(e), na qual os valores das posições 2 a 5 são invertidos. 29 6. Mutação por Inserção: este operador faz com que dois genes do cromossomo sejam selecionados aleatoriamente e que um deles seja movido até que fique ao lado do outro, como mostra a Figura 7(f). Este operador, junto com o de mutação por mistura e o de mutação por inversão, é utilizado quando a ordem da distribuição dos valores no cromossomo não é importante. A aplicabilidade de cada operador de mutação a um algoritmo depende do tipo de codificação adotada, por exemplo, se a ordem dos elementos do vetor é importante, os operadores de troca, inserção, mistura e inversão não são aplicáveis. Pode-se também testar a sensibilidade do algoritmo a diferentes operadores mutações, pois eles podem vir a impactar positiva ou negativamente os resultados. (a) (b) (c) (d) (e) (f) Figura 7: Exemplos ilustrados de operadores de mutação. 30 2.4.1.3 Operadores de Seleção O processo de seleção em um algoritmo evolutivo é implementado por um método geralmente probabilístico proporcional ao fitness dos indivíduos. A avaliação dos indivíduos em seu ambiente resulta em uma mensuração de seu nível de adaptabilidade, qualidade, ou valor de fitness a ser atribuído aos mesmos. Uma comparação entre os valores de adaptabilidade dos indivíduos leva a uma competição pela sobrevivência e reprodução no ambiente, criando uma vantagem seletiva para os indivíduos mais aptos (DE CASTRO, 2006). Os operadores de seleção mais comuns na literatura são (DE CASTRO, 2006): 1. Seleção por Torneio: o método de seleção por torneio consiste em executar diversos torneios entre k indivíduos selecionados aleatoriamente da população. O vencedor de cada torneio é selecionado para cruzamento. A pressão seletiva é ajustada através do valor de k, ou seja, quanto maior k, menores as chances de indivíduos com baixo fitness serem selecionados e vice-versa. 2. Seleção por Roleta: na seleção pela roleta, a probabilidade de selecionar um indivíduo para a próxima geração é proporcional ao seu valor de fitness. Cada indivíduo é associado a uma porção ou fatia de uma roleta de tamanho proporcional ao seu fitness. A roleta é “girada” tantas vezes quanto o número de pais necessários para gerar a próxima população. Note que este método permite que um indivíduo seja selecionado mais de uma vez e também a extinção de alguns indivíduos. 2.5 SIMULADORES Esta dissertação propõe um simulador para prototipar conceitos biológicos complexos que serão aplicados ao jogo Calangos. Antes de um aprofundamento sobre o desenvolvimento do simulador propriamente dito, é necessário conceituar o que são simuladores, suas aplicações e diferenças para os jogos e modelos. Simulações têm diversas utilidades, por exemplo, como técnica para investigar detalhadamente a dinâmica de um sistema, como ferramenta heurística para desenvolver hipóteses, modelos e teorias, como substituição a experimentos (como em situações em que não há possibilidade ou recursos para realização do experimento no mundo real), como ferramenta de suporte a experimentos, ou até como ferramenta pedagógica, auxiliando no entendimento de processos e treinamento de profissionais (HARTMANN, 1996). 31 Mario Bunge define simulação como uma relação entre duas entidades, x e y, em que x simula y se: 1) existe uma relação de correspondência entre as partes ou as propriedades de x e y; ou se 2) a analogia é valida para x ou para outra entidade z que controle x (BUNGE, 1969). Porém, a definição de Bunge é contestada por diversos autores (e.g. GUALA, 2002; HARTMANN, 1996), sendo que a primeira parte de sua conotação permite que se diga que, por exemplo, um mapa é uma simulação do terreno ao qual ele corresponde, o que não é verdade. Porém se entidades miniaturizadas móveis forem adicionadas ao mapa, como, por exemplo, mini soldados que se movem de acordo com determinado conjunto de regras para combaterem uns aos outros, tem-se um sistema dinâmico, o que caracteriza uma simulação. Em outras palavras, um modelo estático pode apenas representar um sistema em repouso, já um modelo dinâmico pode representar a evolução temporal de um sistema, caracterizando uma simulação (GUALA, 2002). Segundo Hartman (HARTMANN, 1996), “uma simulação imita um processo por meio de outro processo”, onde um processo é uma sequência de estados de um sistema, ordenados temporalmente por um dado período de tempo. Para se produzir uma simulação é necessário ter um modelo pré-defino do objeto de estudo (SILVA, et al., 1996). O termo modelo é usado com diferentes propósitos, tanto em meios científicos, quanto filosóficos. Francesco Guala (GUALA, 2002) define um modelo como “um componente que está em contraste com uma estrutura, um conjunto de objetos com propriedades e relações entre eles ou de suas partes”. Já Nelson Goodman (GOODMAN, 1968) afirma que “um modelo é algo para ser admirado e imitado, um padrão, um caso em questão, um tipo, um protótipo, um modelo, uma maquete, uma descrição matemática... que pode suportar para o que modela quase qualquer relação de simbolização”. Cientificamente, um modelo pode ser dito uma representação simplificada ou abstraída (conceitual, gráfica ou visual) de um sistema real de maior complexidade, mas que ainda assim supostamente reproduz o comportamento do sistema complexo que é o alvo de estudo e entendimento (GUALA, 2002). Em resumo, um modelo pode ser visto com uma representação simplificada e explícita da realidade com algum propósito definido e uma simulação como uma metodologia aplicada ao estudo do comportamento de um sistema dinâmico por meio da formulação de um modelo matemático que se assemelhe ao sistema original, ou até mesmo obtenção de uma solução para um problema, a partir de um modelo, por meio da experimentação (ACKOFF; SASIENI, 1971). 32 Com respeito à relação entre jogos e simuladores, todo jogo é uma simulação, porém nem toda simulação é, em si, um jogo. Existem simulações que permitem a interação direta do usuário (como simulações para o treinamento de pilotos de aeronaves), assim como jogos. Porém, para ser qualificada como jogo, uma simulação precisa de todo um conjunto adicional de elementos estruturais como diversão, regras, objetivos, conceitos de vitória e derrota, etc. (PRENSKY, 2001). O Calangos, por buscar a educação por meio do entretenimento, se enquadra no conceito de jogo educativo. Já o simulador a ser proposto nesta dissertação não se classifica como jogo, pois, além de não permitir a interação direta do usuário durante as simulações, não oferece ao usuário objetivos nem conceitos de vitória ou derrota. 33 3 MATERIAIS E MÉTODOS Dentro do jogo Calangos a dinâmica e a evolução populacional dos lagartos das dunas será consequência das escolhas tomadas pelos estudantes-jogadores. Entretanto, é necessário propor uma ferramenta computacional capaz de permitir uma avaliação prévia dos aspectos ecológicos e evolutivos dos lagartos do jogo antes da produção do jogo propriamente dito. Para isso, essa dissertação propõe um simulador para o Calangos, que será usado para investigar os aspectos ecológicos e evolutivos dos lagartos antes do desenvolvimento do jogo. Os estudantes jogadores não terão contato com o simulador, apenas os projetistas do jogo. Os dados biológicos utilizados para a confecção do simulador são baseados em descrições feitas por pesquisadores da equipe do projeto Calangos com larga experiência na área de herpetologia que realizaram extensa pesquisa sobre os lagartos das dunas do Rio São Francisco (ROCHA; RODRIGUES, 2005) e em documentos e trabalhos anteriores feitos pela equipe (ALMEIDA, et al., 2012; IZIDORO, et al., 2011; OLIVEIRA, et al., 2010; LOULA, et al., 2009). 3.1 O AMBIENTE DE SIMULAÇÃO PROPOSTO Para simular a interação de lagartos com o ambiente, abstraiu-se o ambiente na forma de um reticulado bidimensional. Cada célula do reticulado pode ser ocupada por apenas um elemento por vez. Este elemento pode ser um lagarto, um predador ou um alimento. Um exemplo de reticulado deste tipo é ilustrado na Figura 8, sendo as células de cor branca representações de espaços vazios e as outras células representantes de elementos diferentes. Lagartos Vegetal Inseto Predador Figura 8: Exemplo de reticulado bidimensional, no qual cada tipo de célula representa um elemento diferente. 34 Uma simulação é composta por uma sequência de iterações. A cada iteração todos os agentes existentes na simulação executam seus algoritmos de atuação de acordo com seus respectivos estados e, consequentemente, executam tarefas específicas, como andar, comer, reproduzir e consumir energia. Para movimentar-se pelo reticulado, um agente (lagarto ou predador) é removido de sua célula (posição) e posicionado em outra célula próxima ao mesmo. A distância que um agente pode andar a cada iteração é definida pela sua velocidade. Quanto maior a velocidade de um agente, maior a distância que pode ser percorrida pelo mesmo a cada iteração. A Figura 9 ilustra um exemplo de movimentação de um lagarto na direção de um alimento. O lagarto é representado por uma célula na cor cinza escuro e move-se na velocidade de duas células por iteração na direção de um alimento (célula cinza claro hachurada). Quando um lagarto atinge uma célula adjacente ao alimento, o alimento é consumido e removido do reticulado. Figura 9: Exemplo da movimentação de um lagarto (célula cinza escuro) com velocidade de duas células por iteração, indo na direção de um alimento (célula cinza claro listrada) no reticulado bidimensional. As simulações possuem parâmetros que podem ser definidos pelo usuário, permitindo a configuração do ambiente e dos elementos que o compõem para que sejam aplicadas configurações mais similares ao caso biológico real. Os parâmetros configuráveis do simulador 35 estão listados na Tabela 1. Detalhes sobre estes elementos e parâmetros serão apresentados na sequência. Tabela 1: Parâmetros configuráveis do simulador. Elemento Parâmetro Idade máxima Idade reprodutiva Lagartos Senioridade Probabilidade de acasalamento Tamanho da população inicial Velocidade Predadores Alimentos Probabilidade de predadores serem adicionados a cada iteração Número máximo de interações que um lagarto pode viver. Número de interações em que um lagarto atinge a idade adulta e pode se reproduzir. Número de interações em que um lagarto atinge a senioridade e perde a capacidade de se reproduzir. Probabilidade de ocorrer o evento reprodutivo ao encontro de dois lagartos férteis de sexos opostos. Número de lagartos na iteração zero. Velocidade dos predadores em passos (células) por iteração. Probabilidade de introdução de novos predadores no ambiente (representa a chegada de um predador em migração). Tamanho da população inicial Número de predadores na iteração zero. Quantidade inicial de vegetais Número de vegetais na iteração zero. Quantidade inicial de insetos Número de insetos na iteração zero. Quantidade máxima de alimentos Número de iterações por simulação Simulação Tamanho do reticulado Probabilidade de mutação Operadores Genéticos Definição Probabilidade de cruzamento Número máximo de alimentos comportados pelo ambiente. Número de iterações do algoritmo que serão executadas por simulação. Tamanho do reticulado bidimensional em células. Probabilidade de ocorrer mutação durante a reprodução. Probabilidade de ocorrer cruzamento de genes dos pais durante a geração de um novo indivíduo. Operador de mutação Tipo de operador de mutação a ser aplicado. Operador de cruzamento Tipo de operador de cruzamento a ser aplicado. 3.1.1 Elementos das Simulações Para facilitar a representação dos elementos das simulações utilizou-se o paradigma orientado a objetos para o desenvolvimento. Cada elemento é representado por um objeto contendo seus atributos e posição no reticulado. O simulador foi desenvolvido na linguagem Java e a interface 36 gráfica e recursos visuais utilizam as bibliotecas Swing (http://www.javaswing.org) e Graphics (http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Graphics.html) da própria linguagem. Os objetos que compõem a simulação são a população de lagartos, a população de predadores, o ambiente (representado pelo reticulado bidimensional) e os recursos (alimentos) que fornecem energia e hidratação aos lagartos. A simulação inicia com os objetos distribuídos pelo ambiente conforme as configurações definidas pelo usuário. As características de cada tipo de objeto são definidas como segue: Alimentos: são distribuídos aleatoriamente pelo reticulado no início da simulação. Ao longo das iterações novos alimentos são gerados de acordo com as probabilidades definidas parametricamente. Alimentos possuem maior probabilidade de aparecerem próximos a alimentos que já estão no ambiente, ou seja, para cada alimento no cenário, há uma probabilidade de outros alimentos similares surgirem dentro de um raio de vinte células de distância. Isso faz com que os mesmos tenham tendência a ficarem agrupados em certas regiões do ambiente, simulando bosques de frutos que atraem insetos. Eles fornecem quantidades de energia e hidratação proporcionais a seus tamanhos e que variam de acordo com seus tipos, conforme descrito na. Tabela 2: Características nutricionais dos alimentos do simulador (OLIVEIRA, et al., 2010; ROCHA; RODRIGUES, 2005). Alimentos Energia Hidratação Larvas 7,0 5,5 Grilos 4,0 3,0 Cupins 5,0 2,5 Besouros 4,0 4,5 Aranhas 3,0 3,5 Formigas 2,0 2,5 Frutos 5,0 8,0 Flores 2,0 6,5 Predadores: um único modelo de predador terrestre foi adicionado ao simulador. Ao contrário dos lagartos, os modelos dos predadores são estáticos, não possuem representações genéticas próprias e não evoluem. Eles se movem com velocidade constante de forma aleatória pelo cenário e quando um lagarto entra em seu campo de visão eles o perseguem e atacam até que a presa seja consumida ou saia de seu campo 37 de visão. Cada predador possui um nível de energia que é decrementado em uma unidade a cada iteração. Se seu nível de energia chegar à zero, ele morre. Quando um predador alcança uma célula adjacente a um lagarto, o lagarto é consumido. Quando uma presa é consumida a energia do predador é incrementada proporcionalmente ao tamanho da presa consumida. Se a energia de um predador chegar a 100% há uma probabilidade de 20% de um novo predador ser adicionado à simulação, fazendo com que o aumento de alimentos disponíveis promova um aumento na população de predadores. Há também uma probabilidade de 0,01% de um predador ser adicionado ao ambiente a cada iteração, simulando a migração e também diminuindo a probabilidade de que a população de predadores seja extinta. As probabilidade de reprodução dos predadores foram definidas e testadas por análise paramétrica de modo a buscar um equilíbrio com a população de lagartos, buscando replicar o modelo de equilíbrio entre presas e predadores encontrado na literatura. A movimentação dos predadores é dada por uma máquina de estados finitos. Quando não há lagartos em seu raio de visão, ele se movimenta aleatoriamente pelo reticulado e quando avista a presa, ele a persegue. Lagartos: a cada iteração os lagartos têm seus gastos de energia e hidratação calculados e decrementados ou incrementados com a alimentação. Se seus níveis de energia ou hidratação chegarem à zero, eles morrem. Um lagarto também morre ao ser atacado por um predador. A movimentação dos lagartos também é dada por uma máquina de estados. Cada lagarto pode: a) Procurar alimentos: lagartos possuem níveis de energia e hidratação que vão de 0% até 100%. Eles também possuem limiares mínimos e máximos para cada um destes que são definidos de acordo com suas características genéticas. Se, por exemplo, os limiares mínimos e máximos de energia de um lagarto forem 25% e 75%, respectivamente, o lagarto começa a dedicar-se exclusivamente a procurar por alimentos quando sua energia cai abaixo de 25% e para de procurar alimentos (apenas consome os que eventualmente estiverem em seu caminho) quando sua energia atinge valores acima de 75%. O mesmo ocorre para a hidratação. b) Procurar parceiros para reprodução: quando um lagarto não está com fome (seus níveis de energia estão acima dos limiares mínimos) e ele está em idade de reprodução, ele começa a busca por parceiros para a reprodução. Apenas machos procuram as fêmeas, que ficam em repouso. Quando dois lagartos de sexos distintos se aproximam, há uma probabilidade (que pode ser definida parametricamente no simulador) de que haja o ato 38 reprodutivo. Após a reprodução, o macho não pode se reproduzir por 30 iterações e a fêmea por 100 iterações (tempo de espera). c) Fugir de predadores: Quando um predador se aproxima do campo de visão do lagarto, ele corre do mesmo, aumentando sua velocidade em 100%, e gastando o dobro de hidratação durante a fuga. O lagarto para de fugir quando não há mais predadores dentro de seu campo de visão, ou quando é consumido. d) Permanecer em repouso: quando não houver necessidade de alimentação, fuga, ou possibilidade de reprodução devido à idade, ou tempo de espera, o lagarto entra em repouso, se movendo com metade da velocidade, poupando energia e hidratação. e) As máquinas de estados dos lagartos e predadores são exibidas na Figura 10. Figura 10: Máquinas de estados dos lagartos (a) e predadores (b). 39 A movimentação dos agentes ocorre de acordo com suas máquinas de estados. Cada lagarto possui um campo de visão circular dividido em oito regiões que representam as direções norte, sul, leste, oeste e diagonais, como representado na Figura 11. Ele observa os objetos que se encontram em cada uma dessas regiões. Para calcular a direção para a qual o lagarto deve ir, pesos são distribuídos para cada região de acordo com os itens encontrados nelas (alimentos, predadores e outros lagartos) e o interesse do lagarto nestes itens (estado da máquina de estados e preferência entre tipos de alimentos). Alimentos pelos quais os lagartos possuem maior preferência recebem pesos maiores (proporcionais à preferência) e predadores recebem pesos negativos. Quando lagartos machos buscam por parceiros reprodutivos, fêmeas férteis recebem pesos positivos. Figura 11: Campo de visão de um lagarto. A região quadrada 3×3 ao centro representa o campo de atuação, dentro do qual o lagarto pode interagir com objetos. As outras áreas representam as coordenadas geográficas indicadas e a região dentro da qual o lagarto percebe outros objetos (predadores, alimentos e coespecíficos). Se predadores são avistados em algumas destas regiões, pesos maiores são atribuídos às regiões nas direções opostas e o lagarto entra em modo de fuga, aumentando sua velocidade até não haver mais predadores em seu campo de visão. O lagarto, por fim, escolhe aleatoriamente uma destas direções para seguir, tendo maior probabilidade de escolher as regiões de maior peso. Isso cria uma tendência dos lagartos de se mover em direção dos itens que lhes interessam e fugir de predadores. 40 3.1.2 Interface A interface do simulador mostra em tempo real os objetos do cenário e os personagens de acordo com suas posições em um reticulado bidimensional. O simulador gera gráficos em tempo real para acompanhamento das simulações, incluindo o tamanho da população de lagartos, a quantidade de machos e fêmeas, a quantidade de predadores, as variações nos tamanhos dos corpos e cabeças dos lagartos, os tamanhos dos alimentos do ambiente, as dietas preferenciais e as causas das mortes dos lagartos. Uma captura da tela principal do simulador é exibida na Figura 12. Figura 12: Tela do simulador. A tela no canto esquerdo superior mostra a animação da simulação em execução. Logo abaixo há um painel de controle e alguns dados da simulação em forma textual atualizados periodicamente. As telas à direita apresentam gráficos atualizados em tempo real, exibindo o tamanho da população de lagartos e de predadores, a quantidade de machos e fêmeas, as variações nos tamanhos dos corpos, cabeças e velocidade dos lagartos, os tamanhos dos alimentos do ambiente, as dietas preferenciais e as causas das mortes dos lagartos. A cada simulação, são geradas planilhas eletrônicas que mostram dados sobre todos os objetos e fatores de interesse que compõem a simulação. Os dados armazenados são: média dos tamanhos dos corpos e cabeças a cada iteração, média das velocidades, médias das preferências por vegetais e insetos, média dos limiares de energia e hidratação, quantidade de machos e fêmeas, número de descendentes gerados, tamanho da população de lagartos, tamanho da população de predadores, quantidade de cada tipo de alimento, número de lagartos mortos por desnutrição, número de lagartos mortos por desidratação, número de lagartos predados, número de lagartos mortos por idade avançada, média do tamanho dos insetos e média do tamanho dos 41 vegetais. A cada iteração todos os dados são armazenados em arquivos de texto (planilhas eletrônicas) para análise posterior. 3.2 MODELAGEM GENÉTICA DOS LAGARTOS Na Fase 4 do Calangos os jogadores deverão ser capazes de gerenciar uma população de lagartos no ambiente de forma a garantir sua sobrevivência e reprodução. Uma consequência direta da definição inicial da morfologia, fisiologia e comportamento dos lagartos é que a população gerada poderá apresentar maior ou menor grau de adaptabilidade ao ambiente. Para investigar estes aspectos no simulador, foi proposta uma codificação genética para os lagartos e operadores genéticos de cruzamento e mutação para inserção de variação genética durante o processo reprodutivo. Em conjunto estes elementos permitem o estudo dos aspectos evolutivos da Fase 4 do Calangos dentro do simulador. 3.2.1 Codificação Genética A codificação genética dos lagartos do Calangos foi projetada de forma a incorporar as principais características dos lagartos das dunas, como sexo, tamanho do corpo e cabeça, coloração, velocidade de movimentação, dieta preferencial, dentre outras. Cada uma das características dos lagartos é representada no cromossomo de forma independente. Para isso, utilizou-se uma representação mista de código genético, como discutido na Seção 2.4 As características fisiológicas e comportamentais dos lagartos são (ROCHA; RODRIGUES, 2005): Tamanho do corpo: quanto maior o corpo do lagarto, maior sua velocidade e capacidade de fuga de predadores, porém maior sua demanda por alimento e água. Largura da cabeça: lagartos com cabeças de larguras diferentes têm diferentes restrições sobre os tipos de alimentos que podem consumir. Cabeças maiores implicam em bocas maiores, que podem apanhar objetos maiores, mas que tornam mais difícil manipular objetos pequenos. Preferência por insetos (PI): é representada por um valor de ponto flutuante entre 0 e 1, correspondente ao nível de preferência do lagarto por alimentos do tipo inseto. No simulador, insetos fornecem mais energia do que vegetais. Lagartos consomem energia proporcional à velocidade de seu metabolismo e tamanho do corpo. Preferência por vegetais (PV): é também representada por um valor de ponto flutuante entre 0 e 1, correspondente ao nível de preferência do lagarto por alimentos do tipo 42 vegetal, sendo o complemento da preferência por insetos. É calculada da seguinte forma: PV = 10 PI. No simulador, vegetais fornecem mais hidratação do que insetos e os lagartos consomem energia proporcional ao tamanho de seu corpo. Velocidade: quanto maior a velocidade de um lagarto, maior a sua capacidade de escapar de predadores, porém maior seu gasto de energia. Limiares de satisfação alimentar: variam de 60% a 90% da energia total do lagarto. Definem os limiares de energia e hidratação em que lagartos param de dedicar-se à busca por alimentos e iniciam seus estados de repouso ou busca por parceiros para reprodução. Limiares mínimos de energia e hidratação: variam de 20% a 50% da hidratação total do lagarto. Definem limites que representam a porcentagem de energia e hidratação com a qual o lagarto entra no estado de busca por alimentos. Quando a energia e hidratação de um lagarto decaem até seus respectivos limiares, o lagarto começa a procurar alimentos no cenário até que seu limiar de satisfação alimentar seja atingido. Cada uma das características dos lagartos é representada no cromossomo de forma diferente. Para isso, foi proposta nesta dissertação uma representação mista de código genético. A Tabela 3 resume essas características e apresenta o domínio de cada uma delas. Tabela 3: Modelo de características genéticas dos lagartos no simulador do Calangos e seus domínios. Característica Domínio Tipo de Variável Sexo (Sx) {feminino (0), masculino (1)} Binário Tamanho do Corpo em cm (Bs) [10.0, 40.0] Ponto flutuante Largura da Cabeça em cm (Hs) [Bs/5 – Bs/10, Bs/5 + Bs/10] Ponto flutuante Velocidade (Vm) [1, 5] Inteiro Preferência Alimentar por Insetos (PI) [0.0, 1.0] Ponto flutuante Preferência Alimentar por Vegetais (PV) [0.0, 1.0] Ponto flutuante Limiar de Satisfação de Hidratação (Sh) [60%, 90%] Inteiro Limiar de Satisfação de Energia (Se) [60%, 90%] Inteiro Limiar Mínimo de Hidratação (Th) [20%, 50%] Inteiro Limiar Mínimo de Energia (Te) [20%, 50%] Inteiro A Figura 13 ilustra um exemplo de cromossomo de um lagarto no simulador do Calangos, com as características na ordem apresentada na Tabela 3. 43 Sx Bs Hs Vm PI PV Sh Se Th Te 0 (Fem) 17 4,6 4 5.0 3.5 75 83 27 33 Figura 13: Exemplo de cromossomo de um lagarto. Neste simulador não há cálculo direto da função de fitness dos indivíduos. A pressão seletiva pela sobrevivência é feita pelo próprio ambiente de simulação, ou seja, os lagartos são selecionados por uma função de aptidão definida pelo próprio ambiente. Lagartos mais adaptados para obtenção de recursos no ambiente terão maiores probabilidades de sobreviver e, com isso, um maior número de oportunidades para se reproduzirem, difundindo seu material genético mais amplamente do que os que não foram capazes de sobreviver por tempo suficiente. 3.2.2 Reprodução, Cruzamento e Mutação O processo de reprodução dos lagartos do simulador ocorre entre machos e fêmeas da mesma espécie quando ambos estão em células adjacentes e são capazes de se reproduzirem (estão na idade adulta e no período fértil), sendo que os lagartos machos devem ir ao encontro das fêmeas. Ocorrendo o encontro, há uma probabilidade configurável parametricamente de o evento reprodutivo ocorrer, podendo gerar de uma a quatro crias aleatoriamente. Uma fêmea fica em período de gestação por 50 iterações, sendo impossibilitada de se reproduzir neste período. Após as 50 iterações, os filhotes são adicionados à simulação. A postura de ovos foi abstraída do simulador. Consolidado o ato de reprodução, o operador de cruzamento que combina os cromossomos dos pais formando os novos indivíduos é executado. O operador de mutação é executado nos indivíduos recém-gerados em que um ou mais de seus genes estão sujeitos a mudanças aleatórias respeitando o domínio de cada característica, dada a probabilidade de mutação definida para a simulação. Os parâmetros relativos aos operadores genéticos foram baseados nos resultados de simulações realizadas e apresentadas em (ALMEIDA, et al., 2012), onde foram testados e avaliados diferentes operadores de cruzamento e diferentes taxas de cruzamento e mutação. Em (ALMEIDA, et al., 2012) o operador de cruzamento de n pontos de corte com taxa de cruzamento de 10% foi escolhido por apresentar resultados sutilmente melhores que os outros três operadores testados (Seção 2.4.1.1) quanto aos efeitos positivos sobre a população de lagartos. A Tabela 4 mostra um exemplo da aplicação do operador de 44 cruzamento de n pontos de corte em um par de indivíduos. O operador de mutação escolhido foi o de redefinição aleatória pois este é um operador que não altera a ordem dos genes do cromossomo, o que não pode acontecer dada a codificação criada. . Nos testes descritos em (ALMEIDA, et al., 2012) a taxa de mutação que apresentou melhores resultados foi de 1%. A Tabela 5 mostra um exemplo de aplicação do operador de redefinição aleatória, sobre um indivíduo. Tabela 4: Exemplo de aplicação do operador de cruzamento de n pontos de corte no simulador. Indivíduo Genótipo Mãe 0 17 4,6 0 4 0 2 1 0 0 27 33 Pai 1 18 5,4 0 3 1 1 1 1 0 23 45 Cruzamento de n-Pontos (para n=2) 1 18 5,4 0 4 0 1 1 1 0 23 45 Filho a Filho b 0 17 4,6 0 3 1 2 1 0 0 27 33 Filho c Filho d 1 18 4,6 0 4 0 2 1 0 1 23 45 0 17 5,4 0 3 1 1 1 0 0 27 33 Legenda: Gene materno X Gene Paterno X Mutação X Tabela 5: Exemplo de aplicação do operador de mutação por redefinição aleatória no simulador. Indivíduo Genótipo Original 0 17 4,6 0 4 0 2 1 0 0 27 33 Mutação 0 17 4,6 0 7 0 2 1 0 0 27 33 45 4 SIMULAÇÕES A investigação sobre os aspectos ecológicos e evolutivos do Calangos consiste na implementação de um algoritmo evolutivo capaz de simular a evolução dos lagartos ao longo do jogo, de forma a se estudar a capacidade de sobrevivência e reprodução dos mesmos quando imersos em ambientes com diferentes graus de dificuldade. Esta seção descreve as simulações realizadas e os resultados obtidos no projeto, junto com a análise dos resultados das execuções e comparativos entre diferentes tipos de cenário. 4.1 PARAMETRIZAÇÃO Para que os objetivos deste projeto sejam alcançados foram preparadas e executadas simulações que visam mostrar o impacto de diferentes tipos de ambiente na ecologia e evolução dos lagartos projetados para o jogo. Foram definidos três tipos de ambiente, com diferentes níveis de dificuldade: um ambiente favorável com quantidade abundante de alimentos e baixa taxa de reprodução de predadores; um ambiente hostil com pequena quantidade de alimentos e alta taxa de surgimento de predadores; e um ambiente equilibrado com quantidades balanceadas de alimentos e predadores. Os parâmetros específicos de cada tipo de ambiente foram definidos por meio de testes empíricos e são exibidos na Tabela 6. Tabela 6: Parâmetros dos três tipos de ambiente de simulação. Ambiente Favorável Equilibrado Hostil Parâmetro Valor Probabilidade de surgimento de predadores 1% Probabilidade de adição de insetos 10% Probabilidade de adição de vegetais 10% Probabilidade surgimento de predadores 5% Probabilidade de adição de insetos 5% Probabilidade de adição de vegetais 5% Probabilidade de surgimento de predadores 10% Probabilidade de adição de insetos 1% Probabilidade de adição de vegetais 1% 46 Foram feitas quatro séries de simulações (cenários) para cada um dos três tipos de ambiente, totalizando doze conjuntos de experimentos, da seguinte forma (Tabela 7): 1) Para o Cenário 1 foi desabilitada a evolução dos lagartos e predadores não estão presentes nas simulações. Este é um cenário de controle, onde se buscou construir um ambiente com equilíbrio dinâmico entre lagartos e alimentos; 2) O Cenário 2 também não possui predadores, porém a evolução dos lagartos é habilitada. Este cenário visa mostrar a convergência evolutiva dos lagartos em um ambiente sem predadores; 3) O Cenário 3 não habilita a evolução, porém adiciona predadores. Este cenário busca avaliar o impacto da predação no equilíbrio do sistema; e 4) O Cenário 4 é o cenário mais próximo da Fase 4 do jogo Calangos, na qual é avaliado o comportamento evolutivo dos lagartos em um ambiente com predadores. Tabela 7: Cenários para simulações com e sem evolução e com e sem a presença de predadores. Cenário Ambiente Evolução Predadores Não Não Sim Não Não Sim Sim Sim Favorável Equilibrado 1 Hostil Favorável Equilibrado 2 Hostil Favorável Equilibrado 3 Hostil Favorável Equilibrado 4 Hostil Nas simulações sem evolução todos os lagartos são idênticos, variando apenas o sexo, com o código genético formado a partir dos valores médios do intervalo de valores possíveis (domínio) de cada gene (Figura 14) para facilitar a comparação com os resultados de cenários com evolução. Sx Bs Hs Vm PI PV Sh Se Th Te Aleatório 15 5 3 0.5 0.5 75 75 25 25 Figura 14: Cromossomo dos lagartos em cenários sem evolução formado pelos valores médios do domínio de cada gene. Os parâmetros de execução das simulações são exibidos na Tabela 8. 47 Tabela 8: Parâmetros fixos das simulações. Elemento Lagartos Predadores Alimentos Parâmetro Valor Idade máxima 3.000 iterações Idade reprodutiva 1.000 iterações Senioridade 2.500 iterações Probabilidade de acasalamento 30% Tamanho da população inicial 100 Quantidade máxima de lagartos 500 Velocidade 3 células por iteração Probabilidade de predadores serem adicionados aleatoriamente 0,01% Tamanho da população inicial 1 Quantidade inicial de insetos 100 Quantidade inicial de vegetais 100 Quantidade máxima de alimentos 1.000 Tamanhos mínimo e máximo de alimentos [1, 10] Número de iterações por simulação 60.000 Tamanho do reticulado 1.000 × 1.000 Probabilidade de cruzamento 10% Probabilidade de mutação 1% Operador de mutação Redefinição aleatória Operador de cruzamento Cruzamento de n-pontos de corte Simulação Operadores Genéticos Os parâmetros relativos aos lagartos, predadores e alimentos foram baseados em estudos realizados em trabalhos anteriores relativos ao Calangos (DE CASTRO; EL-HANI; LOULA, 2010; LOULA, et al., 2009; OLIVEIRA, et al., 2010; ROCHA; RODRIGUES, 2005) e em valores empíricos, definidos com o intuito de modelar comportamentos similares aos da biologia populacional, tentando produzir uma condição inicial de equilíbrio. O tamanho do reticulado foi definido em 1.000 × 1.000 para poder comportar a grande quantidade de elementos no cenário. O número de iterações foi definido em 60.000 considerando o tempo de uma geração como 1.000 iterações, tendo-se um total de 60 gerações. Experimentos foram conduzidos com até 300.000 iterações, porém, constatou-se que os padrões se repetem após certa quantidade de iterações e, para fins de visualização, as simulações apresentadas na seção seguinte mostram a convergência nas primeiras 60.000. Os parâmetros relativos aos operadores genéticos foram baseados nos resultados de simulações realizadas e apresentadas em (ALMEIDA, et al., 2012). 48 4.2 RESULTADOS E DISCUSSÃO Antes de simular a evolução dos lagartos, buscou-se definir um cenário que, sem a possibilidade de evolução dos lagartos, pudesse apresentar um comportamento similar aos modelos presa-predador encontrados na literatura da biologia (BERRYMAN, 1992; MAY, 1972; SMITH; SLATKIN, 1973), assim como o modelo Lotka-Volterra. Em princípio essa simulação seria o ponto de partida para o estudo da ecologia dos lagartos das dunas do São Francisco dentro do simulador do Calangos. Para isso, foram projetados quatro diferentes cenários (descritos na seção anterior) que demonstram as iterações entre lagartos e presas, e lagartos e predadores, com e sem a possibilidade de evolução. Serão apresentados gráficos e discussões envolvendo o tamanho das populações de lagartos em comparação com a quantidade de alimentos no ambiente a cada iteração, as causas de morte dos lagartos, o tamanho dos insetos e vegetais, a quantidade de insetos e vegetais, a quantidade de filhos sendo gerados por iteração, e a longevidade dos lagartos. Em cada um destes casos as curvas serão apresentadas fazendo-se um paralelo entre os diferentes níveis de complexidade ambiental: favorável, equilibrado e hostil. As simulações foram feitas de acordo com os parâmetros da Tabela 8. Para cada um dos quatro cenários foi executada uma simulação para cada um dos três ambientes. Todas as simulações foram executadas com 60.000 iterações. 4.2.1 Cenário 1: Ambiente Sem Predadores e Sem Evolução Neste cenário existem apenas lagartos e alimentos. A diferença entre os três tipos de ambiente reside na taxa de geração de alimentos a cada iteração (Tabela 6). Na Figura 15 observa-se que nas simulações de três ambientes a quantidade de alimentos cresce rapidamente e passa a oscilar em equilíbrio. Observa-se, também, que nos momentos em que a população de lagartos é maior, a quantidade de alimentos decresce. A diminuição na quantidade de alimentos acarreta a diminuição da população de lagartos. Esta, por sua vez, faz com que a quantidade de alimentos aumente, ocasionando um equilíbrio entre a quantidade de alimentos e o número de lagartos ao longo das iterações. Esse comportamento é típico de um modelo do tipo presapredador, no qual, quando em equilíbrio, existe uma oscilação fora de fase entre a quantidade de presas e predadores no ambiente (BERRYMAN, 1992), assim como é observado no modelo de Lotka-Volterra discutido anteriormente. 49 Observa-se também que, comparando os três ambientes, há poucas diferenças quanto à quantidade de alimentos e de lagartos. Conclui-se que, para este cenário, mesmo no ambiente hostil, a quantidade de alimentos é suficiente para manter a população em equilíbrio e a hostilidade do ambiente acaba impactando essencialmente o tamanho da população de lagartos. Figura 15: Comparativo entre a população de lagartos e a quantidade de alimentos em uma simulação do Cenário1 nos ambientes favorável, equilibrado e hostil. A Figura 16 mostra o comparativo cumulativo entre as causas das mortes dos lagartos nos três ambientes, nos quais ocorrem a maior parte de mortes por desnutrição e desidratação. As mortes por predação são nulas, pois não há predadores neste cenário. Mortes por idade representam uma pequena porção, próxima de zero, ou seja, pouquíssimos lagartos atingiram a 50 idade máxima. É interessante notar que os padrões das mortes por desidratação e desnutrição são muito similares, pois os lagartos são idênticos geneticamente, assim possuem preferências iguais por insetos e vegetais, e os mesmos limiares de hidratação e energia. Figura 16: Comparativo entre as causas de mortes dos lagartos nas simulações do Cenário 1 nos ambientes favorável, equilibrado e hostil. A Figura 16 mostra as médias dos tamanhos dos alimentos nas simulações do Cenário 1. Observa-se que os valores se concentram em torno de 4,3 nos três ambientes. Todos os lagartos deste cenário são idênticos e possuem cabeças de tamanho 5, podendo consumir alimentos de tamanho 3 até 7. Se a distribuição do tamanho dos alimentos é diversificada, é provável que exista uma grande quantidade de alimentos de tamanhos de 1 até 3 e de 7 até 10, que nunca são 51 consumidos. As quedas cíclicas na quantidade de alimentos na Figura 16 representam, na verdade, a diminuição na quantidade de alimentos consumíveis pelos lagartos e isso explica a morte de lagartos por inanição e desidratação, mesmo havendo grande quantidade de alimentos. Figura 17: Comparativo entre o tamanho médio dos dois tipos de alimentos nas simulações do Cenário 1 nos ambientes favorável, equilibrado e hostil. Quanto à variabilidade de alimentos, observou-se uma similaridade grande entre as quantidades de alimentos nas simulações para os três ambientes (Figura 18), pois neste cenário não há evolução e as preferências dos lagartos pelos dois tipos de alimentos são iguais. Assim, os dois tipos de alimentos são consumidos em proporções similares. 52 Figura 18: Comparativo entre a quantidade de insetos e vegetais nas simulações do Cenário1 nos ambientes favorável, equilibrado e hostil. A quantidade de filhos gerados por iteração representa a quantidade de novos lagartos que foram gerados a cada iteração. Este valor representa a fecundidade da população a cada instante de tempo. Neste quesito também houve pouca diferença entre os três ambientes para este cenário, mantendo certa estabilidade ao longo das iterações (Figura 19). Mesmo assim, percebe-se que a quantidade média de filhos por iteração cresce conforme a dificuldade do ambiente (observando a altura dos picos na Figura 19). Isso sugere que os lagartos precisam se reproduzir mais para conseguir manter um equilíbrio populacional em ambientes mais hostis. 53 Figura 19: Comparativo entre a quantidade de filhos gerados a cada iteração nas simulações do Cenário 1. A longevidade média (Figura 20) é calculada pela média das idades (em iterações) dos lagartos da população. Quanto maior a longevidade de um lagarto, mais chances de reprodução ele tem, consequentemente, maior probabilidade de propagar seu material genético (considerando que poucos lagartos atingem a senioridade nas simulações). 54 Figura 20: Comparativo entre a longevidade média dos lagartos a cada iteração nas simulações do Cenário 1. No Cenário 1 a longevidade média dos lagartos é similar nos três ambientes, o que pode ser explicado pela ausência de predadores (sem predação) e pela igualdade genética dos lagartos (a longevidade dos lagartos varia nas simulações com evolução, como será visto em seguida). Em resumo, os testes no Cenário 1 mostram que existe um equilíbrio entre lagartos e alimentos nas simulações e o modelo de equilíbrio cíclico presa-predador obtido com os resultados das simulações segue a tendência do modelo Lotka-Volterra, que descreve matematicamente alguns dos relacionamentos entre presas e predadores na natureza. Isso indica 55 que o modelo proposto neste trabalho permite uma simulação adequada do caso ecológico real observado nas dunas do médio São Francisco. 4.2.2 Cenário 2: Ambiente Sem Predadores e Com Evolução Este cenário possui os mesmos parâmetros de execução do Cenário 1, com exceção de que a evolução dos lagartos é habilitada. A população inicial é gerada aleatoriamente, cada indivíduo tendo uma codificação genética aleatória. Os testes deste cenário visam mostrar o impacto da evolução dos lagartos dentro de um ambiente ainda sem predadores, em contraste com o Cenário 1. A Figura 21 mostra o comparativo entre o tamanho da população de lagartos e a quantidade média de alimentos no Cenário 2. Observa-se que a quantidade média de alimentos no Cenário 2 e para os três ambientes é consideravelmente reduzida em comparação ao Cenário 1. Isso pode ser explicado por diversos fatores, um deles é o aumento da longevidade dos lagartos no Cenário 2 em comparação ao Cenário 1, atribuível à adaptação dos lagartos ao ambiente com o passar das gerações. Nota-se, na Figura 22, que a longevidade no Cenário 2 é bastante similar à do Cenário 1 no início das simulações, mas com o passar do tempo os lagartos vão se adaptando evolutivamente ao ambiente e sua longevidade passa a aumentar. Esse efeito é notável nos três níveis de ambiente, salientando que quanto mais tempo um lagarto vive, mais ele precisa se alimentar. Outro fator que influencia a quantidade de alimentos nos dois cenários é a evolução dos limiares de hidratação e energia (Figura 23). No Cenário 1 estes valores são fixados em 20, enquanto no Cenário 2 os valores variam entre 25 e 30 com o passar do tempo. Limiares de energia e hidratação mais altos fazem com que os lagartos sintam necessidade de se alimentarem com mais frequência, consumindo mais recursos do ambiente. 56 Figura 21: Comparativo entre a população de lagartos e a quantidade de alimentos nas simulações do Cenário 2. O terceiro fator que pode influenciar o aumento no consumo de alimentos do Cenário 2 é a quantidade de filhos gerados por iteração (observável na Figura 24). No simulador, filhos recém gerados iniciam suas vidas com metade de seus níveis de energia e hidratação, fazendo com que precisem se alimentar logo após o nascimento. O aumento na geração de filhos na comparação dos dois cenários também é visível, mostrando que indivíduos com maiores níveis de adaptabilidade ao ambiente tendem a prevalecer na população. 57 Figura 22: Comparativo entre a longevidade média dos lagartos nas simulações do Cenário 2 para os ambientes favorável, equilibrado e hostil. 58 Figura 23: Convergência evolutiva dos limiares de energia e hidratação do Cenário 2. O quarto fator que influencia o consumo de alimentos no ambiente é a variação na velocidade dos lagartos. No Cenário 1 a velocidade dos lagartos foi mantida em 3 células por iteração, mas no Cenário 2 observa-se um aumento dessa velocidade nos três ambientes (Figura 25). Lagartos mais velozes tendem a capturar os alimentos mais rapidamente que os lagartos mais lentos, que acabam perecendo. Porém, quanto maior a velocidade de um lagarto, maior seu gasto basal de energia e hidratação, fazendo com que ele precise se alimentar mais e com maior frequência. 59 Figura 24: Comparativo entre a quantidade de filhos gerados por iteração no Cenário 2. 60 Figura 25: Comparativo entre a evolução da velocidade dos lagartos nos três tipos de ambiente do Cenário 2. Como visto anteriormente, o tamanho dos corpos dos lagartos influencia sua alimentação e velocidade. Os alimentos que podem ser consumidos por um lagarto devem ser proporcionais ao tamanho de sua cabeça que, por sua vez, é influenciado pelo tamanho corpo. A evolução do tamanho dos corpos e cabeças dos lagartos para cada tipo de ambiente é vista na Figura 26. 61 Figura 26: Comparativo entre a evolução do tamanho dos corpos e cabeças dos lagartos no Cenário 2. Nota-se que nos três ambientes há oscilações nos tamanhos dos corpos e cabeças dos lagartos, o que pode ser explicado pela variação nos tamanhos dos alimentos do ambiente. Observa-se, na Figura 27, que o tamanho dos alimentos varia de forma oscilatória também. Quando a população de lagartos é composta por uma maioria de lagartos de tamanho menor, a quantidade de alimentos de tamanho pequeno diminui, sobrando alimentos grandes em maior quantidade, o que favorece lagartos de tamanho maior, que acabam se multiplicando. Com o aumento da população de lagartos de tamanho maior, a quantidade de alimentos de tamanho grande 62 decresce e a de alimentos de tamanho pequeno volta a aumentar, favorecendo lagartos de tamanho pequeno. Este comportamento acaba estabilizando dento de um ciclo limite. Figura 27: Comparativo entre o tamanho dos corpos dos lagartos e o tamanho médio dos insetos e vegetais das simulações do Cenário 2. 63 Figura 28: Comparativo entre os motivos das mortes dos lagartos no Cenário 2. No Cenário 1 as principais causas de mortes de lagartos foram desidratação e desnutrição. Isso se manteve no Cenário 2, porém, no Cenário 1 as curvas que representam quantidades de mortes por esses motivos eram paralelas e quase idênticas (Figura 28). Já no Cenário 2 ocorreram mais mortes por desidratação, pois, neste cenário, a preferência dos lagartos por insetos é maior que a preferência por vegetais (que fornecem mais hidratação do que insetos) na maioria das iterações, como observado na Figura 29. A preferência alimentar é influenciada pelo aumento na velocidade dos lagartos, o que afeta mais o consumo energético do que a 64 necessidade de hidratação. Como consequência dessa preferência observa-se um maior número de mortes por desidratação, visto que o consumo de vegetais diminui. Figura 29: Comparativo da preferência dos lagartos por insetos e vegetais nas simulações do Cenário 2. Com a análise dos resultados das simulações do Cenário 2 nota-se que a evolução teve um efeito positivo no crescimento da população de lagartos, assim como em sua longevidade e fecundidade. Observou-se também que houve diferenciação em seus tamanhos em relação ao Cenário 1, porém os lagartos tornaram-se mais rápidos. O consumo de alimentos no Cenário 2 foi por volta de três vezes maior do que no Cenário 1 devido à necessidade de suprir uma 65 população maior de lagartos, com maior longevidade, maior agilidade (velocidade) e maior limiar de alimentação. 4.2.3 Cenário 3: Ambiente Com Predadores e Sem Evolução A principal diferença entre Cenários 3 e 4 quando comparados aos Cenários 1 e 2 é a presença de predadores, o que torna a luta pela sobrevivência mais difícil para os lagartos. Figura 30: Comparativo entre a população de lagartos e predadores no Cenário 3. No caso específico do Cenário 3, este investiga a dinâmica do sistema com a presença de predadores, porém ainda sem a evolução dos lagartos. Na Figura 30 observa-se que ocorreu a extinção da população de lagartos nos ambientes equilibrado e hostil logo no início das 66 simulações. Como a diferença entre este cenário e o Cenário 1 é a presença de predadores, há uma evidência de que a extinção nos ambientes equilibrado e hostil foi em grande parte influenciada pelos predadores. Nota-se também que a ausência de lagartos promove a morte dos predadores, que ficaram sem alimentos para subsistência (Figura 31). Figura 31: Comparativo entre a população de lagartos e a quantidade média de alimentos no Cenário 3. Quanto à quantidade de alimentos no cenário, é possível notar na Figura 31 que há um decrescimento proporcional ao tamanho da população de lagartos e vice-versa. Esse tipo de sistema representa certo equilíbrio entre a quantidade de predadores, lagartos e alimentos. 67 Figura 32: Comparativo entre as causas das mortes dos lagartos no Cenário 3. A Figura 32 mostra uma análise comparativa entre o motivo das mortes dos lagartos no Cenário 3. Observa-se que no ambiente favorável a maioria das mortes é causada por desnutrição e desidratação em proporções similares e existem poucas mortes por predação e por idade avançada. No ambiente favorável desidratação e desnutrição ocorrem aproximadamente com a mesma frequência e mortes por predação ocorrem a uma taxa menor. No ambiente equilibrado, no qual existem mais predadores, ocorrem mais mortes por predação do que por outros motivos. No ambiente hostil a quantidade de mortes por predação aproxima-se da quantidade de mortes por desidratação e desnutrição, porém a extinção da população ocorre. 68 Figura 33: Comparativo entre a longevidade média dos lagartos no Cenário 3. Mortes por desidratação e desnutrição também podem ser causadas por grupos de predadores que patrulham regiões com alimentos, impedindo que lagartos se aproximem. Além disso, uma grande quantidade de predadores pode fazer com que muitos lagartos fiquem em fuga por mais tempo, dificultando severamente a alimentação e aumentando seu gasto energético. 69 Figura 34: Comparativo entre a quantidade média de filhos gerados por iteração no Cenário 3. Quanto à longevidade dos lagartos, a Figura 33 mostra uma oscilação com certa similaridade nos três ambientes. Porém nos ambientes equilibrado e hostil ocorre a extinção dos lagartos. Quanto mais hostil o ambiente, mais rápida a extinção. Com relação à quantidade de filhos gerados por iteração (Figura 34), observa-se que houve muito menos reprodução nos dois ambientes com mais predadores e menos alimentos. A escassez de recursos e a presença de predadores faz com que os lagartos passem mais tempo ocupados com a própria sobrevivência (fuga e alimentação) do que com a reprodução. 70 De maneira geral, foram observadas situações de dificuldade para os lagartos nos ambientes equilibrado e hostil deste cenário, resultando na extinção dos lagartos devido à presença dos predadores. Este cenário é aplicado como modelo de controle para comparação com as simulações do Cenário 4, no qual são avaliados os aspectos ecológicos e evolutivos dos lagartos em um ambiente com predadores. 4.2.4 Cenário 4: Ambiente Com Predadores e Com Evolução Este cenário é o mais similar ao conceito do jogo Calangos, combinando evolução dos lagartos com a presença de predadores. Em comparação com o Cenário 3, as simulações a serem apresentadas aqui mostram o impacto da evolução dos lagartos nos três tipos de ambiente com a adição de predadores. A Figura 35 mostra a dinâmica das populações do Cenário 4 para os três níveis de ambiente. Observa-se que, diferentemente do Cenário 3, não houve extinção dos lagartos nos ambientes equilibrado e hostil. Isso mostra que apesar das adversidades ambientais os lagartos conseguiram se adaptar ao ambiente de maneira suficientemente rápida, evitando a extinção da espécie durante a simulação. Como ocorre na comparação entre os Cenários 1 e 2, o consumo de alimentos no Cenário 4 (Figura 36) mostra-se maior do que no Cenário 3 devido aos efeitos da maior quantidade de filhos por iteração (Figura 37), da maior longevidade dos lagartos (Figura 38), e do aumento na velocidade dos lagartos (Figura 39) em comparação com o Cenário 3. Porém, o consumo de alimentos neste cenário é, em média, menor do que no Cenário 2. No Cenário 2 (com evolução e sem predadores), a quantidade de alimentos nos três tipos de ambiente oscila na maior parte do tempo entre 100 e 300 unidades (Figura 21) e, no cenário atual, em torno de 200 e 700 unidades (Figura 36). Essa abundância de alimentos está relacionada à diminuição da população de lagartos, causada pelo acréscimo de predadores ao ambiente e consequente redução de consumo. 71 Figura 35: Comparativo entre os tamanhos da população de predadores e lagartos no Cenário 4. 72 Figura 36: Comparativo entre a quantidade de alimentos e o tamanho da população de lagartos no Cenário 4. A quantidade de filhos por iteração no Cenário 4 oscila na maior parte do tempo em torno de 15 e 20 nos ambientes equilibrado e favorável (no Cenário 3 a oscilação é em torno de 10, porém com picos maiores e maior instabilidade). 73 Figura 37: Comparativo entre a quantidade de filhos por iteração no Cenário 4. Quanto à longevidade dos lagartos no Cenário 4, ela oscila na maior parte do tempo entre 500 e 1500 iterações nos três tipos de ambiente (Figura 38). Já no Cenário 3, a oscilação ocorre entre 100 e 1550 nos três ambientes incluindo equilibrado e hostil (onde ocorreu a extinção da população de lagartos). Observa-se que os vales nas curvas da longevidade no Cenário 3 (Figura 33) são mais profundos e os picos mais altos, indicando maior instabilidade. Isso indica que, neste cenário, a evolução evita a extinção da espécie e causa o aumento e estabilidade da longevidade dos lagartos. 74 Figura 38: Comparativo entre a quantidade a longevidade dos lagartos no Cenário 4. 75 Figura 39: Comparativo entre a convergência evolutiva da velocidade dos lagartos nos ambientes do Cenário 4. Na Figura 39 observa-se que a velocidade dos lagartos no Cenário 4 convergiu para uma oscilação em torno de 5 passos por iteração nos três ambientes (no Cenário 3, a velocidade é mantida em 3 passos por iteração). Este aumento de velocidade, apesar de acrescentar no gasto de energia e hidratação dos lagartos, favorece a capacidade de fuga de predadores (com velocidade fixa também em 3 passos por iteração) e a capacidade de obtenção de alimentos (lagartos mais rápidos conseguem chegar até áreas com alimentos mais rapidamente do que os outros). 76 Figura 40: Comparativo os motivos das mortes dos lagartos no Cenário 4. No Cenário 4 o motivo das mortes dos lagartos é, nos três ambientes, por desidratação na maior parte das vezes, seguido por desnutrição e, em terceiro lugar, por predação (Figura 40). Para todos os casos a quantidade de mortes é maior conforme a hostilidade do ambiente. Como dito anteriormente, predadores também podem causar a morte indireta dos lagartos por falta de alimentação, pois, além de impedirem que lagartos se aproximem de algumas áreas com alimentos, os obrigam a entrar em fuga, reduzindo a energia e hidratação e dificultando a alimentação deles. 77 Figura 41: Comparativo entre os tamanhos dos corpos e cabeças dos lagartos no Cenário 4. Houve uma sutil redução nos tamanhos dos corpos e cabeças dos lagartos no Cenário 4 no ambiente equilibrado (Figura 41). Nos três ambientes o tamanho dos lagartos oscila em torno de 17 e 23, que são tamanhos de nível médio, sendo ideal para um consumo não muito elevado de energia e hidratação e tamanho da cabeça suficiente para que possam consumir os alimentos do cenário. 78 Figura 42: Comparativo entre o tamanho dos alimentos do Cenário 4. A variação no tamanho dos alimentos (Figura 42) nos três ambientes oscila entre de 2 e 5 nos três ambientes. Esse aumento em diversos pontos é inversamente proporcional ao tamanho dos corpos dos lagartos, sendo que quando há uma população de lagartos grandes há uma diminuição na quantidade de alimentos grandes e o equivalente para uma população de lagartos pequenos. 79 Figura 43: Comparativo entre a preferência dos lagartos pelos tipos de alimentos do Cenário 4. A Figura 44 mostra a quantidade de vegetais e insetos na simulação do Cenário 4. Observa-se que em momentos em que a preferência dos lagartos por um tipo de alimento é maior, a quantidade deste tipo de alimento tende a ser menor no cenário em relação ao outro tipo. Na Figura 43 observa uma situação no ambiente equilibrado onde a preferência por alimentos dos tipos inseto e vegetal se igualam, como consequência disso, um breve período depois, observa-se que a quantidade de insetos e vegetais no mesmo ambiente na Figura 44 são muito similares, ou seja o consumo dos dois tipos de alimento foi equilibrado. 80 Figura 44: Comparativo entre a quantidade de insetos e vegetais no Cenário 4. Ao se movimentarem, lagartos gastam mais hidratação do que energia. Em ambientes com maior quantidade de predadores, observa-se que os lagartos têm maior preferência por vegetais que lhes fornecem mais hidratação (Figura 43). Isso acontece por que os predadores fazem com que os lagartos fiquem em movimentação mais frequentemente. 81 Figura 45: Comparativo entre os limiares mínimos de energia e hidratação Cenário 4. Quanto aos limiares mínimos (Figura 45), observa-se um comportamento similar ao da preferência alimentar. Nos ambientes com predação os lagartos precisam de alimentos ricos em água com mais frequência devido à constante movimentação por conta dos predadores. 4.3 RESUMO GERAL DOS RESULTADOS EXPERIMENTAIS Os resultados obtidos e apresentados na seção anterior permitem tirar diversas conclusões sobre a ecologia e evolução dos lagartos em diferentes cenários e com variados níveis de dificuldade 82 ambiental. As diferenças de desempenho entre as populações de lagartos em cenários com e sem evolução foram evidentes, especialmente para os casos onde há presença de predadores, nos quais a adaptabilidade não somente melhorou o desempenho da população, como evitou sua extinção nos ambientes equilibrado e hostil. Nas Tabelas 9 a 11 são exibidas comparações entres as médias e desvios padrões dos resultados de todas as iterações nos quatro cenários. Tabela 9: Comparativo entre os valores médios dos fatores no ambiente favorável nos quatro cenários. Ambiente Favorável População de Lagartos População de Predadores Longevidade Filhos por Geração Velocidade Tamanho do Corpo Tamanho da Cabeça Tamanho dos Insetos Tamanho dos Vegetais Quantidade de Insetos Quantidade de Vegetais Preferência por Insetos Preferência por Vegetais Limiar de Energia Limiar de Hidratação Mortos por Desnutrição C1 C2 C3 C4 41,17±12,52 54,26±4,46 37,59±17,31 38,2±9,25 --- --- 1,55±0,52 1,95±0,52 823,35±132,26 969,8±64,65 814,17±197,11 909,3±141,23 9,48±2,52 20,43±2,41 9,71±5,34 15,34±4,48 3±0 5,53±0,1 3±0 5,24±0,21 20±0 19,5±0,48 20±0 19,58±1,26 5±0 4,78±0,1 5±0 4,58±0,25 4,31±0,04 3,52±0,21 4,33±0,07 4,36±0,21 4,31±0,04 3,72±0,25 4,32±0,06 4,39±0,2 659,4±27,83 184,78±17,23 670,06±39,76 513,74±58,9 659,47±27,82 176,62±17,6 669,84±39,89 515,39±63,42 5±0 5,21±0,22 5±0 5,14±0,46 5±0 4,79±0,22 5±0 4,86±0,46 25±0 25,49±1,64 25±0 28,52±1,6 25±0 26,82±1,62 25±0 24,05±4,76 5,41±4,73 1,6±0,5 4,71±4,54 1,75±1,08 5,42±4,75 1,79±0,62 4,72±4,53 1,91±1,27 Mortos por Idade 0±0 0±0 0±0 0±0 Mortos por Predação --- --- 2,03±1,4 1,32±0,59 Mortos por Desidratação No Cenário 1 observa-se a menor quantidade de filhos por iteração em todos os ambientes, juntamente com as maiores quantidades de mortes por desnutrição e desidratação. Isso pode ser explicado pela incapacidade de alimentação dos lagartos por certos tamanhos de alimentos, como discutido anteriormente. Em todos os ambientes a maior longevidade dos lagartos, o maior crescimento da população e a maior quantidade de filhos por iteração são vistos no Cenário 2, no ambiente favorável. Este é o cenário que apresenta a menor quantidade de mortes por desnutrição e desidratação. 83 Tabela 10: Comparativo entre os valores médios dos fatores no ambiente equilibrado nos quatro cenários. Ambiente Equilibrado População de Lagartos População de Predadores Longevidade Filhos por Geração Velocidade Tamanho do Corpo Tamanho da Cabeça Tamanho dos Insetos Tamanho dos Vegetais Quantidade de Insetos Quantidade de Vegetais Preferência por Insetos Preferência por Vegetais Limiar de Energia Limiar de Hidratação Mortos por Desnutrição Mortos por Desidratação Mortos por Idade Mortos por Predação C1 C2 C3 C4 38,91±13,04 --- 53,75±4,43 --- 20,26±15,63 37,15±8,53 5,97±1,99 1,89±0,48 825,8±140,23 967,23±65,29 770,38±253,34 916,14±128,45 9,32±2,57 19,69±2,3 12,64±9,72 15,74±4,36 3±0 5,52±0,11 3±0 5,29±0,2 20±0 19,27±0,46 20±0 17,8±0,87 5±0 4,79±0,1 5±0 4,31±0,2 4,32±0,04 3,72±0,25 4,4±0,07 4,54±0,2 4,31±0,04 3,88±0,25 4,4±0,07 4,58±0,19 627,49±27,51 167,72±17,92 694,36±93,05 490,78±54,5 627,03±27,48 160,22±17,38 692,9±92,74 492,14±57,95 5±0 5,16±0,21 5±0 5,02±0,34 5±0 4,84±0,21 5±0 4,99±0,34 25±0 29,8±0,68 25±0 24,49±1,92 25±0 25,88±1,6 25±0 27,36±1,6 5,15±4,62 1,6±0,5 2,83±2,58 0,97±100,68 5,17±4,63 1,78±0,61 2,83±2,56 1,05±109,1 0±0 --- 0±0 --- 0±0 0±0 2,24±1,61 0,67±50,6 No Cenário 3 observa-se a maior quantidade de mortes por predação e as menores populações de lagartos e menor longevidade em todos os tipos de ambiente. Este pode ser visto como cenário de pior caso, no qual os lagartos não evoluem e há a presença de predadores. Ou seja, há uma população de lagartos incapaz de se adaptar e imersos em um ambiente bastante hostil. O Cenário 4, apesar de desafiador para os lagartos, mostrou-se o mais equilibrado de todos. O fator marcante deste é a capacidade de, por meio da evolução, manter a população de lagartos nos ambientes equilibrado e hostil, mesmo com a presença de predadores. Com a análise dos resultados deste trabalho observa-se que o algoritmo evolutivo proposto em Izidoro et al. (2011) permite a evolução dos lagartos como consequência da necessidade de adaptação ao ambiente e suas variações, como a escassez de alimentos e a presença de predadores. Notou-se mudanças comportamentais, fisiológicas e morfológicas nos lagartos, mudanças que não foram previamente programadas, mas que emergiram do processo de seleção natural simulada. 84 Tabela 11: Comparativo entre os valores médios dos fatores no ambiente hostil nos quatro cenários. Ambiente Hostil População de Lagartos População de Predadores Longevidade Filhos por Geração Velocidade Tamanho do Corpo Tamanho da Cabeça Tamanho dos Insetos Tamanho dos Vegetais Quantidade de Insetos Quantidade de Vegetais Preferência por Insetos Preferência por Vegetais Limiar de Energia Limiar de Hidratação Mortos por Desnutrição Mortos por Desidratação Mortos por Idade Mortos por Predação C1 C2 C3 C4 37,07±11,97 52,4±4,41 19,5±14,8 31,96±14,46 ˗˗ ˗˗ 5,39±1,76 1,79±0,71 834,48±140,06 969,71±66,31 802,41±262,55 919,82±229,68 9,81±2,67 20,06±2,43 10,59±5,64 16,18±6,85 3±0 5,53±0,11 3±0 5,31±0,34 20±0 19,8±0,46 20±0 19,21±2,8 5±0 4,79±0,1 5±0 4,23±0,5 4,32±0,04 3,52±0,23 4,35±0,1 4,58±0,31 4,31±0,04 3,68±0,24 4,38±0,09 4,6±0,29 605,18±25,73 178,37±17,27 591,3±132,57 455,71±88,95 604,91±25,4 171,48±17,81 604,28±115,29 465,75±91,45 5±0 5,18±0,22 5±0 5,09±0,55 5±0 4,82±0,22 5±0 4,91±0,55 25±0 29,05±0,62 25±0 32,66±1,38 25±0 28,22±0,93 25±0 24,85±5,58 5,08±4,41 1,62±0,52 0,7±21,33 1,67±1,02 5,1±4,41 1,81±0,65 0,69±21,32 1,82±1,25 0±0 0±0 0±0 0±0 --- --- 1,3±14,35 1,29±0,57 Os resultados apresentados também mostram que o simulador proposto permite o estudo adequado da ecologia e evolução dos lagartos das dunas e a modelagem genética proposta para os lagartos também é adequada, incorporando no código genético dos lagartos as características necessárias à observação de fenômenos típicos de sistemas ecológicos naturais. Como exemplos é possível citar um equilíbrio dinâmico das populações de lagartos, suas presas e predadores em ambientes equilibrados, assim como sua extinção em ambientes hostis nos quais os lagartos não podem evoluir. Além desses experimentos e observações, produtos diretos da dissertação, outro produto indireto é a parametrização (definição de tamanhos populacionais, modelagem genética dos lagartos, etc.) de todo o ecossistema para sua posterior integração ao jogo. Essas simulações provam que é possível demonstrar a evolução de uma população de lagartos dentro de um ambiente simulado. É também possível demostrar diferentes convergências evolutivas em diferentes cenários. Ou seja, quando os conceitos trabalhados aqui forem aplicados ao jogo Calangos, pode-se utilizar disto para mostrar ao estudante jogador que a evolução das espécies é condicionada ao ambiente e que não é premeditada nem tem um objetivo específico. 85 Os estudos sobre ecologia populacional também tiveram grande peso na proposta do simulador, pois é preciso modelar o comportamento de espécies coexistindo em um ambiente de forma que este modelo permita a observação de comportamentos similares aos encontrados na natureza. 86 5 CONCLUSÕES E TRABALHOS FUTUROS Durante a modelagem e desenvolvimento do simulador, diversos temas tiveram que ser investigados. Foi necessário o desenvolvimento de funcionalidades que poderão contribuir com o desenvolvimento final do jogo, tanto em quesitos tecnológicos quanto em científicos. Essas funcionalidades são: 1) toda a modelagem da inteligência artificial dos lagartos e predadores, que envolve as máquinas de estados projetadas, os algoritmos de busca por alimentos, caça, fuga e busca por parceiros reprodutivos; 2) os mecanismos de controle de gasto basal de energia e hidratação dos lagartos; 3) a modelagem genético-evolutiva dos lagartos e o mapeamento genótipo-fenótipo; 4) a definição de parâmetros genéticos de mutação e cruzamento do simulador; 5) a definição dos níveis de dificuldade ambiental e dos parâmetros ambientais associados a cada um; 6) a replicação e simulação dos conceitos de biologia populacional estudados; 7) a simulação da evolução das espécies com o passar das gerações; 8) a estrutura orientada a objetos do simulador; 9) a estrutura de armazenamento, análise e tratamento de dados de saída; e 10) testes de execução e análise dos resultados. Com as execuções realizadas usando o simulador constatou-se que existem diferenças entre os resultados dos quatro cenários e também que os operadores evolutivos e a presença de predadores afetam de forma significativa a dinâmica das populações. Em todos os cenários e ambientes observou-se padrões de comportamento similares aos modelos estudados na biologia (BERRYMAN, 1992; MAY, 1972; SMITH; SLATKIN, 1973), assim como o modelo LotkaVolterra. Comparando os Cenários 1 e 2, nos quais foram excluídos os predadores, observa-se que houve aumento significativo na longevidade no cenário com evolução em comparação ao outro, fecundidade e tamanho da população nos três ambientes, assim como a diminuição na quantidade de mortes por desnutrição e desidratação (em torno de quatro vezes menor). Cabe ressaltar que a única diferença entre esses dois cenários é a evolução habilitada no Cenário 2. Comparando os Cenários 3 e 4, observou-se, assim como na comparação entre os dois cenários anteriores, aumentos visíveis na longevidade, fecundidade e tamanho da população. No Cenário 4 percebeu-se que a evolução da espécie com o passar das gerações propiciou adaptações que garantiram a sobrevivência da mesma ao longo de toda a simulação nos três níveis de dificuldade ambiental, diferentemente do Cenário 3 em que não havia evolução e os lagartos se extinguiram nos ambientes equilibrado e hostil. Pôde-se observar também a diminuição geral no número de mortes por desidratação, desnutrição e predação. 87 Com essas análises percebeu-se que há diferenças significativas entre cenários com e sem evolução. Extrapolando as simulações para o jogo, pode-se mostrar ao jogador os efeitos da evolução sobre o sucesso na sobrevivência das espécies ao longo do tempo, assim como as relações e equilíbrios existentes entre presas e predadores na natureza. Esses resultados devem servir de base para o desenvolvimento do jogo Calangos, podendo também servir para a modelagem da jogabilidade e dos personagens do jogo. Com os conhecimentos obtidos, tanto durante a modelagem e o desenvolvimento do simulador, quanto nos experimentos, é possível efetuar melhor o planejamento e o desenvolvimento das fases remanescentes do jogo. Por outro lado, a versão final do Calangos é muito mais complexa que o simulador, tanto em aspectos ambientais, quanto em comportamentais dos personagens. Quanto aos aspectos ambientais a serem incorporados ao jogo, muitos deles não foram incorporados ao simulador devido à grande quantidade de dados para análise que essa adição geraria, sendo o foco do simulador não a modelagem do ambiente, mas sim a modelagem genético-evolutiva dos lagartos e o estudo das dinâmicas das populações. Outros aspectos ambientais que deverão ser incorporados futuramente incluem: controle do clima e temperatura, pluviosidade, umidade do ar, vegetação, estações do ano e ciclo circadiano. Com o incremento desses aspectos novos resultados e hipóteses devem surgir. Como um importante trabalho futuro tem-se o acréscimo dos conceitos da biologia do desenvolvimento (BENTLEY; KUMAR, 2003) ao modelo. Isso fará com que o mapeamento do genótipo para o fenótipo não seja por meio de uma expressão direta, mas sim a partir de um mapeamento genótipo-fenótipo, tornando o modelo mais preciso sob o ponto de vista biológico. Como sequência, também se tem o desenvolvimento das Fases 3 e 4 do Calangos a partir dos conhecimentos levantados nesta dissertação. Dados os resultados obtidos faz-se necessário discutir como será a jogabilidade dessas fases e como os conceitos serão apresentados aos estudantes-jogadores. A representação genética dos lagartos proposta nesta dissertação e o modelo de equilíbrio populacional serão incorporados ao jogo em breve. 88 REFERÊNCIAS ACKOFF, R. L.; SASIENI, M. W. Pesquisa Operacional. Rio de Janeiro: LTC, 1971. ALMEIDA, D. J. D.; IZIDORO, V. N. L.; TAVARES, E. M.; LOULA, A. C. E.-H. C. N.; DE CASTRO, L. N. The Influence of Genetic Operators and their Probabilities on the Lizards' Behaviors within the Calangos Game. Proceedings Artificial Life 13. [S.l.]: [s.n.]. 2012. p. 509-510. BENTLEY, P. J.; KUMAR, S. On Growth, Forms and Computers. 1. London: Elsevier Academic Press, v. 1, 2003. BERRYMAN, A. A. The Orgins and Evolution of Predator-Prey Theory. Ecology. v. 73, n. 5, p. 1530-1535, 1992. BUNGE, M. Analogy, Simulation, Representation. Revue Internationale de Philosophie. n. 87, p. 16-33, 1969. CHARLES, D.; FYFE, C.; LIVINGSTONE, D.; MCGLINCHEY, S. Bologically Inspired Artificial Intelligence for Computer Games. [S.l.]: IGI Publishing, 2008. DARWIN, C. On the Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life. London: Wordsworth, 1859. DE CASTRO, L. N. Fundamentals of Natural Computing: Basic Concepts, Algorithms and Applications. [S.l.]: Champman & Hall/CRC, 2006. DE CASTRO, L. N.; EL-HANI, C. N.; LOULA, Â. C. Relatório Final do Projeto ”Desenvolvimento de Jogos Eletrônicos educativos Para Ensino e Aprendizagem em Evolução e Ecologia. FINEP, [S.l.], 2010. ECCLES, J. S.; DICKERSON, J. A.; SHAO, J. Evolving a Virtual Ecosystem with Genetic Algorithms. Proceedings Congress on Evolutionary Computation. [S.l.]: [s.n.]. 2000. p. 753760. EIBEN, A. E.; SMITH, J. E. Introdutction To Evolutionary Computing. I. [S.l.]: Springer, 2003. FLOREANO, D.; NOLFI, S. Evolutionary Robotics: The Biology, Intelligence, and Technology of Self-Organizing Machines. [S.l.]: The MIT Press, 2000. 89 FOGEL, D. B. Evolutionary Computation: Toward a New Philosophy of Machine Learning. 2. Hoes Lane, Piscataway, NJ: IEEE Press, v. 1, 2000. FREITAS, A. A. Data Mining and Knowledge Discovery with Evolutionary Algorithms. [S.l.]: Springer-Verlag, 2002. GOLDBERG, E. D. Genetic Algorithms in Search, Optimization, and Machine Learning. [S.l.]: Addison-Wesley, 1989. GOODMAN, N. Languages of Art: An Approach to a Theory of Symbols. New York: Hackett Publishing Company, 1968. GUALA, F. Models, Simulations, and Experiments. In: MAGNANI, L.; NERSESSIAN, N. Model-Based Reasoning: Science, Technology. New York: Kluwer Academic, 2002. p. 59-74. HARTMANN, S. The World As a Process: Simulations in the Natural and Social Sciences. In: HEGSELMANN, R.; MUELLER, U.; TROITZSCH, K. G. Modelling and Simulation in the Social Sciences from the Philosophy of Science Point of View. [S.l.]: Springer, 1996. p. 77100. HAYKIN, S. Neural Networks. New York: Macmillan College Publishing Company, 1994. HOLLAND, J. H. Adaptation in Natural and Artificial Systems. [S.l.]: The University of Michigan Press, 1975. HOLLAND, J. H. Genetic algorithms. Scientific American. v. 267, n. 1, p. 44-50, 1992. IZIDORO, V. N.; DE CASTRO, L. N.; EL-HANI, C. N.; LOULA, A. C. Calangos Level 4: The Environmental Influence on the Players’ Strategy in a Simulation of the Ecological and Evolutionary Level of the Game. Simpósio Brasileiro de Jogos e Entretenimento DigitalSBGames. Salvador - BA, 2011. KOZA, J. R.; RICE, J. P.; ROUGHGARDEN, J. Evolution of Food Foraging Strategies for Caribbean Anolis Lizard Using Genetic Programing. Adaptive Behavior. v. 1, n. 2, p. 171199, 1992. LINDEN, R. Algoritmos Genéticos. Rio de Janeiro: Ciênca Moderna, 2012. LOTKA, A. J. Elements of Physical Biology. Baltimore, Maryland, USA: Williams & Wilkin, 1925. 90 LOULA, A. C.; OLIVEIRA, E. S.; MUNOZ, Y. J.; VARGENS, M. M. F.; APOLINÁRIO, A. L.; DE CASTRO, L. N.; ROCHA, P.; EL-HANI, C. N. Modelagem Ambiental em um Jogo Eletrônico Educativo. Simpósio Brasileiro de Jogos e Entretenimento Digital - SBGames., 2009. MAY, R. M. Limit Cycles in Predator-Prey Communities. Science. v. 177, n. 8, p. 900-902, 1972. MITCHEL, M. An Introduction to Genetic Algoritms. 1. [S.l.]: MIT Press, 1998. MITCHELL, M.; TAYLOR, C. E. Evolutionary Computation: An Overview. Annual review of Ecology and Systematics., 1999. OLIVEIRA, E. S.; CALMON, J. H.; APOLINARIO, A. L.; LOULA, A. C. Desenvolvimento de Personagens para um Jogo Eletrônico de Ensino e Aprendizagem de Biologia. WTICGBASE- Workshop de Trabalhos de IC e de Graduação. Maceió, 2010. PRENSKY, M. Digital game-based learning. New York: McGraw-Hill, 2001. PURVES, W. G.; ORIANS, H. H. Life: The Science of Biology. 1. Salt Lake City, Utah: W.H. Freeman., 1992. RICKLEFS, R. E. The Economy of Nature. I. New York: W.H. Freeman and Comapny, v. 1, 2010. ROCHA, P. L. B.; RODRIGUES, M. T. Electivities and Resource Use by an Assemblage of Lizards Endemic to the Dunes of The São Francisco River, Northeastern Brazil. Papéis Avulsos de Zoologia. São Paulo, v. 45, n. 22, p. 261-284, 2005. SADLER, T. D. Evolutionary Theory as a Guide to Socioscientific Decision-Making. Journal of Biological Education. v. 39, n. 2, p. 68-72, 2005. SILVA, E. M. D.; SILVA, E. M. D.; GONÇALVES, V.; MUROLO, A. C. Pesquisa Operacional: Programação Linear. 2ª edição. São Paulo: Atlas, 1996. SIMS, K. Evolving 3d Morphology and Behavior by Competition. ALife. v. 1, n. 4, p. 353-372, 1994(a). SIMS, K. Evolving Virtual Creatures, Computer Graphics. Journal of Biological Education. v. 28, n. 07, p. 15-22, 1994(b). 91 SMITH, J. M.; SLATKIN, M. The Stability of Predator-Prey Systems. Ecology. v. 54, n. 2, p. 384-391, 1973. SQUIRE, K. Open-ended video games: A Model for Developing Learning for The Interactive Age. In: K, S. The Ecology of Games: Connecting Youth, Games, and Learning. [S.l.]: The John D. and Catherine T. MacArthur Foundation Series on Digital Media and Learning, 2008. p. 167-198. STEARNS, S. C.; HOEKSTRA, R. F. Evolution: An Introduction. 1. [S.l.]: Oxford University Press, v. 1, 2000. VOLTERRA, V. Variations and Fluctuations Ofthe Number of Individuals in Animal Species Living Together. ICES Journal of Marine Science. v. 3, n. 2, p. 3-51, 1928.