evolução de criaturas virtuais um trabalho de karl sims (1994)
TRANSCRIPT
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
Morfologia
Neurónios Centralizados
Neurónios
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
Nadar
Saltar
17/24
Resultados (continuação)
Andar
Caminhos para seguir luz
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