Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994) Estrutura da apresentação • Introdução • Criaturas Virtuais – Estruturas Genéticas – Estruturas Morfológicas – Estruturas Controle • • • • • Processo Evolutivo Simulações e Resultados Trabalho Futuro Conclusões Video 1/24 Objectivos • Na área da animação digital, existe um trade-off entre complexidade e controle. • Seria interessante poder construir de forma simples entidades complexas mas com comportamentos realistas. • Aplicação de técnicas de optimização baseadas em algoritmos genéticos e a teoria de evolutiva de Darwin. (sobrevivência do mais apto) 2/24 Trabalho Realizado • Uma linguagem para representação de genomas de criaturas virtuais. • Um ambiente virtual 3D configurável, para testar as criaturas. • Mecanismos para gerar e testar criaturas virtuais. • Um conjunto de simulações para observar o percurso evolutivo destas criaturas em várias tarefas. 3/24 Criaturas Virtuais: genoma • Genoma é composto por um grafo orientado. • Genoma codifica a morfologia da criatura mas também as estruturas de controle desta. • Possibilita a existência de ciclos que podem gerar estruturas com feedback. • Genoma contem parâmetros de controle para a construção de criaturas como por exemplo: dimensões de uma componente, pontos de contacto entre estruturas... 4/24 Exemplo de uma representação de um genoma Neurónios Centralizados Neurónios Morfologia 5/24 Criaturas: Morfologia • Criatura é composta por uma hierarquia de partes rígidas 3D conectadas. – Potencialmente utilizando recursividade • Cada ligação entre partes rigidas possui características próprias (também definidas no genoma), nomeadamente um tipo, e grau de liberdade sobre movimentos. • Existe informação que controla a geração da morfologia das criaturas como número máximo de iterações em ciclos recursivos, dimensões, número de ligações, etc... 6/24 Exemplos de morfologias 7/24 Criaturas: Estruturas de controle Sensores (sensors) • Associados a partes especificas do corpo, recolhem informação “física” relativa a essa porção do corpo. • Joint angle sensors • Contact sensors (existe uma em cada face de cada porção do corpo) • Photosensors • Poderiam existir outros como: accelerometers, sound detectors, smell detectors... 8/24 Criaturas: Estruturas de controle (continuação) Neuronios (neurons) • Processam informação proveniente de sensores • Enviam informação para actuadores • Podem computar um conjunto de operações: sum, product, divide, sum-threshold, greater-than, sign-of, min, max, abs, if, interpolate, sin, cos, atan, log, expt, sigmoid, integrate, differentiate, smooth, memory, oscillate-wave, oscilate-saw. Actuadores (effectors) • Recebe informação de um sensor ou neurónio • Escala informação recebida com um certo peso e efectua uma força sobre uma junção entre porções do corpo. • Poderiam existir outras variantes... 9/24 Combinaçao entre morfologia e controle • Estrutura de controle é distribuída, associada a cada parte rígida do corpo da criatura. • Existe a possibilidade de comunicação entre estruturas de controle posicionadas entre nós com pontos de contacto. • Pode existir uma estrutura de controle central, independente de qualquer parte do corpo, que possibilita o aparecimento de controle coordenado de todo o corpo. 10/24 Exemplo de uma criatura virtual 11/24 Mecanismos de selecção • População inicial gerada aleatoriamente – Esta população inicial é testada para eliminação de indivíduos não viáveis. • População é testada e atribuído um nível de fitness de acordo com o objectivo do teste. • Uma percentagem de sobreviventes são usados para gerar elementos da próxima geração – Através de mecanismos de mutação e reprodução • Os sobreviventes integram a geração seguinte. • São efectuados um conjunto elevados de iterações. 12/24 Mutações • Parâmetros dos nós são sujeitos a potenciais mutações (alterações do seu valor). • Adiciona-se um nó (desconexo) ao grafo. • Os parâmetros das ligações são potencialmente alterados. • Novas ligações são adicionadas aleatoriamente e outras são removidas. – Não ao nível dos grafos das estruturas de controle. • Elementos desconexos do grafo são eliminados. 13/24 Reprodução • Existem três técnicas disponíveis: – Assexuada, através de mutações. – Sexuada através de Crossovers. – Sexuada através de Grafting. 14/24 Implementação das simulações • Foi usada uma arquitectura distribuída baseada em passagem de mensagens com 32 processadores. • As populações era tipicamente de 300 indivíduos • A taxa de sobrevivência era de 1/5 • As probabilidades para o tipo de reprodução eram: – 40% assexuada – 30% sexuada através de crossovers – 30% sexuada através de grafting • Simulações decorriam tipicamente entre 50 a 100 gerações. 15/24 Simulações Individuais • Nadar – Simulação sem gravidade, e com efeitos de resistência devido a viscosidade. – Fitness é calculada com base na velocidade de deslocamento, premiando deslocamentos não cíclicos e contínuos (não baseados num impulso inicial). • Andar – Basicamente movimentação em terra. – Fitness é novamente baseada na velocidade, ignorando componente vertical. • Saltar – Fitness baseada na altura máxima ou média da parte mais baixa da criatura. • Seguir – Seguir uma fonte de luz, recorrendo a photosensors. – Velocidade média da criatura a deslocar-se para a fonte de luz. 16/24 Resultados Saltar Nadar 17/24 Resultados (continuação) Caminhos para seguir luz Andar 18/24 Simulações de competição • Competição entre duas espécies (cruzamentos dentro da mesma espécie apenas) • Tipicamente modelo de competição era: All vs. best entre espécies. • Fitness depende da distancia final ao recurso disputado (cubo com fonte de luz), sendo premiada a maiores distancias do adversário ao recurso. – Valores entre 0.0 e 2.0. 19/24 Simulações de competição (cont.) 20/24 Resultados 21/24 Resultados (cont.) 22/24 Trabalho Futuro • Avaliar optimizações de comportamentos simples, como por exemplo maior distancia percorrida consumindo menos energia. • Adaptar a linguagem genética de forma a gerar apenas criaturas que pudessem ser construídas sobre a forma de robôs. • Dar um aspecto mais realista às criaturas acrescentando características como pelo, escamas, garras, etc. • Aumento do numero de espécies em competição. • Premiar comportamentos cooperativos em competições em grupos. • Simulações em grandes mundos virtuais, super populados. 23/24 Conclusões • Comportamentos e morfologias interessantes podem emergir de um processo de selecção natural como este partindo de criaturas simples. • Emergiram padrões de evolução consistentes que possibilitaram a aquisição de estratégias, assim como, por vezes surgiram processos adaptativos. 24/24