Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

25
Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

Transcript of Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

Page 1: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

Evolução de Criaturas Virtuais

Um trabalho de Karl Sims

(1994)

Page 2: 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

Page 3: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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

Page 4: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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

Page 5: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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

Page 6: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

Exemplo de uma representação de um genoma

Morfologia

Neurónios Centralizados

Neurónios

5/24

Page 7: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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

Page 8: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

Exemplos de morfologias

7/24

Page 9: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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

Page 10: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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

Page 11: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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

Page 12: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

Exemplo de uma criatura virtual

11/24

Page 13: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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

Page 14: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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

Page 15: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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

Page 16: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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

Page 17: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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

Page 18: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

Resultados

Nadar

Saltar

17/24

Page 19: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

Resultados (continuação)

Andar

Caminhos para seguir luz

18/24

Page 20: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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

Page 21: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

Simulações de competição (cont.)

20/24

Page 22: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

Resultados

21/24

Page 23: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

Resultados (cont.)

22/24

Page 24: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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

Page 25: Evolução de Criaturas Virtuais Um trabalho de Karl Sims (1994)

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