Artificial Life in Virtual Environments Rogério Perino de Oliveira Neves Laboratório de Sistemas...

Preview:

Citation preview

Artificial Life in Virtual EnvironmentsArtificial Life in Virtual Environments

Rogério Perino de Oliveira NevesLaboratório de Sistemas IntegráveisGrupo de Vida Artificial

A.L.I.V.E.A.L.I.V.E.

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 3

Organização da ApresentaçãoOrganização da Apresentação

1. Introdução (3)

2. Conceitos de Vida Artificial(14)

3. Especificação do projeto (19)

4. Experimentos e resultados (12)

5. Conclusões (6)

Total(54)

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 4

ObjetivosObjetivos

Realizar estudos sobre o tema Vida Artificial

Aplicar tecnologias de RV na visualização de experimentos de VA

Desenvolver uma plataforma de experimentação customizavel

Implementar experimentos em VA

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 5

Partes do projetoPartes do projeto

Parte teórica– Estudos relacionados– Levantamento sobre projetos atuais– Problemas abertos

Parte prática– Desenvolvimento da plataforma– Desenvolvimento de experimentos

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 6

Vida ArtificialVida Artificial

Combina biologia e Ciência da Computação na tentativa de criar modelos sintéticos da evolução de sistemas vivos

Também pode ser visto como uma tentativa de elucidar a estrutura lógica (de maneira geral) da evolução biológica

Inicialmente dominada por cientistas da computação

Hoje estudada por biólogos e físicos entre outros

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 7

Vida ArtificialVida Artificial

Expressão introduzida por Cristopher Langton em 1987, quando foi usado para descrever uma conferência realizada em Los Alamos, Novo México, sobre a “Síntese e simulação de sistemas vivos”.

“Artificial life: The proceedings of an Interdisciplinary Workshop on the Synthesis and Simulation of Living Systems” September, 1987, Los Alamos, New Mexico, Addison-Wesley Pub.

MAIS INFORMAÇÕES...

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 8

Conceitos ChaveConceitos Chave

Definição inicial entendia dois tipos:– VA forte: envolve a re-criação de vida in-silico, ou seja, no computador

– VA fraca: envolve a simulação de fenômenos biológicos

Abordagens– Bottom-up (de baixo para cima)– Top-down (de cima para baixo)

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 9

Bottom-Up (de baixo para cima)– Observada na natureza– Não envolve planejamento– Envolve evolução emergência– Geralmente associada a VA forte

Top-Down (de cima para baixo)– Observada em sistemas humanísticos– Envolve engenharia / planejamento– Geralmente associado a VA fraca

AbordagensAbordagens

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 10

Simulações de vidaSimulações de vida

Considerar regras locais em vez de regras globais

Considerar regras simples em vez de complexas Considerar comportamentos emergentes em vez

de comportamentos pré-especificados

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 11

Tipos de Estudo em VATipos de Estudo em VA

Origens da vida, auto-organização e auto-replicação

Desenvolvimento e replicação Dinâmica evolucionária e adaptativa Robôs e agentes autônomos Comunicação, cooperação e comportamento

coletivo Simulação, ferramentas de síntese e

metodologias

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 12

Problemas Abertos em VAProblemas Abertos em VA

Como a vida surge da não-vida?1. Gerar um proto-organismo molecular in-vitro;2. Atingir a transição para vida de um composto

químico artificial in-silico;3. Determinar fundamentalmente se um

organismo fictício pode existir;4. Simular um organismo unicelular em todo o

seu ciclo de vida;5. Explicar como regras e símbolos são gerados

da dinâmica física em sistemas vivos;

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 13

Problemas Abertos em VAProblemas Abertos em VA

Quais são os potenciais e limites dos sistemas vivos?6. Determinar o que é inevitável na evolução aberta

da vida;7. Determinar as condições mínimas para transições

evolucionárias de sistemas de resposta específicos para genéricos;

8. Criar um modelo formal para sintetizar hierarquias dinâmicas em todas as escalas;

9. Determinar a previsibilidade das conseqüências evolutivas da manipulação de organismos e ecossistemas;

10. Desenvolver uma teoria de processamento, fluxo e geração de informação para sistemas em desenvolvimento;

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 14

Problemas Abertos em VAProblemas Abertos em VA

Como a vida se relaciona com a mente, as máquinas e a cultura?

11. Demonstrar a emergência de inteligência e mente em um sistema de vida artificial;

12. Avaliar a influência de máquinas na próxima transição evolutiva da vida;

13. Prover um modelo quantitativo da conexão entre evolução biológica e cultural;

14. Estabelecer princípios éticos para experimentos em vida artificial.

MAIS INFORMAÇÕES...

Bedau et. al – Open Problems in Artificial Life

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 15

Técnicas ferramentaisTécnicas ferramentais

Exemplos:

Máquinas de estado Sistemas não lineares e com dinâmica caótica Lógica nebulosa Redes de neurônios artificiais Algoritmos Genéticos e Sistemas Adaptativos

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 16

Arquiteturas Multi-AgentesArquiteturas Multi-Agentes

Agentes Autônomos

Agentes Biológicos Agentes Robóticos Agentes Computacionais

... AgentesBiológicosArtificiais

Agentes deBusca

Agentes deEntretenimento

Vírus AgentesInteligentes

Agentes de Vida ArtificialAgentes Eletrônicos

...

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 17

Experimento de VAExperimento de VA

Ator

Ator

Ator

Agente

Agente

Agente

Ambiente Simulado Cena Virtual

Interface de ControleInteração

Dispositivo de SaídaVisualização

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 18

Exemplos de Programas de VAExemplos de Programas de VA

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 19

Estado da arte em VAEstado da arte em VA

* Neves, Rogério “Karl Sims videos”, http://www.lsi.usp.br/~rponeves/research/sims, acesso em 18/09/2003

MAIS INFORMAÇÕES...

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 20

ESPECIFICAÇÃO DO PROJETO

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 21

Especificação do ProjetoEspecificação do Projeto

Motivação Características Recursos Técnicas ferramentais Java, Java3D Visualização, interatividade Arquitetura da plataforma proposta Implementação de experimentos

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 22

MotivaçãoMotivação

Maioria dos programas disponíveis apresentam visualização rudimentar

Os programas permitem apenas mudar alguns parâmetros pré-estabelecidos

As fontes, quando disponíveis, se encontram em código de baixo nível (ASM, C, C++)

A possibilidade de utilizar arquiteturas paralelas Utilização de contexto multi-agentes Ambiente virtual em 3D, uso de vetores Empregar tecnologias de realidade virtual

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 23

Características do ProjetoCaracterísticas do Projeto Paradigma de programação orientada a objetos Compatibilidade com diversas plataformas computacionais Ambiente simulado tri-dimensional com dinâmica vetorial Suporte a diversos dispositivos gráficos, 3D e estéreo Possibilidade de visualização em dispositivos de realidade

virtual e em ambientes imersivos Possibilidade de execução concorrente Possibilidade de utilização em arquiteturas distribuídas Possibilidade de execução em modo Applet

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 24

Tecnicas FerramentaisTecnicas Ferramentais

Paradigma de programação Orientada a Objetos– Fácil descrição dos agentes e objetos na cena

Cálculo vetorial– Fácil manipulação dos agentes e objetos no espaço 3D

Sistemas Multi-Agentes Programação concorrente/distribuida

– Ganho de performance para arquiteturas paralelas

Computação Gráfica– Visualização em sistemas 3D e de RV

Conceitos de VA

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 25

RecursosRecursos

Linguagem Java API Java3D Computadores pessoais / Estações gráficas Sistemas multiprocessados (Silicon Graphics,

projeto SPADE) Cluster de PCs (CAVERNA) Equipamentos de visualização (monitores,

Shutter Glasses, HMD, CAVERNA) Internet

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 26

Java e Java3DJava e Java3D

Java Portabilidade através de plataformas Direcionado para Internet Paradigma de programação orientada a objetos Arquitetura de programação concorrente (Threads) Extensível

Java3D Novo padrão para programas de RV Interface de alto-nivel com OpenGL/DirectX Sistema de descrição de cena por grafos Estende as facilidades do Java

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 27

Grafo de Cena em Java3DGrafo de Cena em Java3D

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 28

VisualizaçãoVisualização

Direcionada, porém não limitada a

Aceleradoras gráficas convencionais Monitores Óculos estereoscópicos (Shutter Glasses) CAVERNA Outros systemas de RV (HMD, Wall, etc).

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 29

InteratividadeInteratividade

Mouse* Keyboard Gloves* Wands* Other tracking devices*

*Through Java3D picking behaviour

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 30

Níveis de operabilidadeNíveis de operabilidade

A.L.I.V.E.Framework

Java/Java3D

Byte code

Superclasses

Java VM/Machine Code

UserInterface

UserClasses

Mid-Level/Language Code

Hi-Level/Pseudo Code

Custom UserInterface

Runtime Interface/Interaction

Project Scope

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 31

Arquitetura da plataformaArquitetura da plataforma

RenderClientSubset

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 32

Arquitetura da PlataformaArquitetura da Plataforma

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 33

Arquitetura da PlataformaArquitetura da Plataforma

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 34

Cliente de SínteseCliente de Síntese

SceneMulticast Package(s)

Server

RenderClient RenderClient RenderClient

Env

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 35

Configuração do AmbienteConfiguração do Ambiente

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 36

UIUI

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 37

Diagrama de um agenteDiagrama de um agente

SensoresAm biente

Cena

Pré-processam entodas variáveis de

entrada

Técnicas defiltragem e

processam entode sinais

Processo dedecisão

Associaçãocruzada,

Redes neurais,Com putação

fuzzy,etc.

Variáveis desaída

AtivadoresContro le

AçãoM ovim entação

Interação

Acionadoresm ecânicos,Funções de

Reprodução,A lgorítm osgenéticos

Variáveis locais

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 38

Exemplo de códigoExemplo de código

EXEMPLO DE CÓDIGO

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 39

EXPERIMENTOS DESENVOLVIDOS

RESULTADOS

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 40

ExperimentosExperimentos

Testes da plataforma Evolução e adaptação (ALGA) Sistema presa-predador Cardume de peixes Aglomeração (Flocking) Demonstrações em biologia

– Fungos– Sistema imunológico– Mitose

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 41

ExperimentosExperimentos

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 42

Sistema Presa-PredadorSistema Presa-Predador

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 43

Sistema Presa-PredadorSistema Presa-Predador

R

G

B

+ AÇÃO

W1

W2

W3

FILTRO

RADIAÇÃO

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 44

Sistema Presa-Predador DNASistema Presa-Predador DNA Limite reprodutivo: reserva de nutrientes necessária para

reprodução Limite de falência: quantidade mínima de nutrientes para

sustentar a vida Sensibilidade: raio de sensibilidade ao ambiente Força: medida quantitativa para determinação de troca

de nutrientes Agilidade: quantidade de movimento produzido por turno Temperatura: temperatura preferida ou característica Tolerância: tolerância a variações de temperatura Resistência: resistência ao contato com toxinas W1: Filtro Vermelho (R) W2: Filtro Verde (G) W3: Filtro Azul (B)

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 45

Sistema Presa-PredadorSistema Presa-Predador

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 46

Sistema Presa-PredadorSistema Presa-Predador

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 47

Dinâmica CelularDinâmica Celular

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 48

Cardume de PeixesCardume de Peixes

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 49

Aglomeração (Flocking)Aglomeração (Flocking)

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 50

Performance Performance -1-1

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 51

ConclusõesConclusões

O projeto explora o uso de realidade virtual para exibição de experimentos de VA

Fornece uma ferramenta de rápida prototipação Os experimentos desenvolvidos exemplificam o

uso da plataforma e servem de modelo para novos experimentos desenvolvidos

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 52

ConclusõesConclusões

A doutrina de código aberto permite o aprimoramento do projeto por usuários em todo o mundo (sourceforge.net)

Os experimentos desenvolvidos podem ser publicados e executados pela Internet, permitindo maior interação entre os grupos de usuários e servindo como ferramenta de divulgação científica

Novas tecnologias de visualização poderão ser aproveitadas a medida que surgem, não necessitando, geralmente, de mudanças no código

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 53

AplicaçõesAplicações

Experimentação em VA Simulações didáticas Soluções de problemas ciências e engenharias * Treinamento de sistemas em robótica * Simulações de sistemas genéticos e evolução Busca em espaços virtuais orientada pelo

usuário Aplicações em áreas futuras (nanotecnologia)

* Neves, Rogério P. O. and Netto, Marcio L.

“Evolutionary Search for Optimization of Fuzzy Logic Controllers”

1st International Conference on Fuzzy Systems and Knowledge Discovery, Volume I, on Hybrid Systems and Applications I

MAIS INFORMAÇÕES...

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 54

Proposta para trabalhos futurosProposta para trabalhos futuros

Aprimoramento do uso de dispositivos apontadores

Funcionalidades de acesso à arquivo, armazenamento e leitura de dados

Experimentos a serem desenvolvidos:– Sistema com morfologia variável– Sistemas envolvendo agentes inteligentes e humanos

virtuais *

* Cavalhieri, Marcos, “Projeto Humanos Virtuais”, http://www.lsi.usp.br/~mac/ , acesso em 18/09/2003

MAIS INFORMAÇÕES...

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 55

AgradecimentosAgradecimentos

Claudio Ranieri , Grupo ARTLIFE, LSI, USP Marcos Cavalhieri, Grupo ARTLIFE, LSI, USP Prof. Emilio Hernandez, LSI, USP Artur Gonzalez, PCS, USP Prof. Wolfgang Banzhaf, Universidade de

Dortmund

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 56

Documentos relacionadosDocumentos relacionados

Rogério Neves, ALIVE Project Site, thesis

http://www.lsi.usp.br/~rponeves/

Official ALIVE Project site

http://www.lsi.usp.br/~alive/

ARTLIFE Site, grupo de Vida Artificial

http://www.lsi.usp.br/~artlife/

Dúvidas

rponeves@lsi.usp.br e mac@lsi.usp.br

3 4 5 6 7 8 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 40 41 49 50 51 52 53 54 57

FimFim

Recommended