evolução de criaturas virtuais um trabalho de karl sims (1994)

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

Upload: internet

Post on 18-Apr-2015

114 views

Category:

Documents


0 download

TRANSCRIPT

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