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
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
Top Related