Projeto de Aprendizagem ----------------------- 1. Tema: vida artificial 2. Quadro Cognitivo Inicial 2.1. O que sei? --------------- A Vida Artificial (VA, ou "ALife" em inglês) busca reproduzir em meio virtual os processos que são característicos dos seres vivos. Seu objetivo é duplo: ganhar uma maior compreensão sobre a natureza da vida e encontrar novas formas de resolver problemas computacionais. Até agora, as técnicas que consegui identificar como pertencentes ao escopo da VA são os seguintes: * Programação evolutiva; + Algoritmos genéticos; + Programação genética; * Redes neurais; * Comportamento emergente. Uma das características principais da VA como estratégia para solução de problemas é a abordagem "bottom-up" ("da base para cima"), em contraste à tradicional "top-down" ("do topo para baixo"), muito utilizada na computação em geral, e na Inteligência Artificial (IA) em particular. Em resumo, ao invés de se começar a programar um sistema pelo seu módulo principal (o "topo") e seguir implementando ("descendo até") os módulos de suporte, a VA propõe que se comece o desenvolvimento pelos subsistemas (a "base"), programe-se as interações locais entre eles, e então dê-se espaço para os próprios módulos definirem ("subirem até") o comportamento geral do sistema. Como um exemplo clássico, no BOIDS, um simulador de bandos de passáros, cada indivíduo busca seguir as seguintes três regras: 1 - Dirigir-se à posição média dos indivíduos imediatamente à sua volta; 2 - Manter-se a uma distância média dos indivíduos imediatamente à sua volta; 3 - Orientar-se para a direção média dos indivíduos imediatamente à sua volta. Nenhuma dessas regras especifica que todo o conjunto deve se portar de forma coesa; entretanto, quando os pássaros virtuais começam a segui-las, eles naturalmente organizam-se em um bando, mesmo quando iniciam a simulação espalhados aleatoriamente pelo espaço. De uma maneira geral, técnicas de vida artificial são usadas para encontrar soluções satisfatórias para problemas cuja solução analítica exigiria tempo e/ou recursos proibitivos. Muitos desses casos constituem-se de instâncias "grandes" de problemas clássicos, como o problema do caixeiro viajante, busca em bases de dados ou análise combinatorial. Na área de biologia, a VA é usada para testar teorias sobre o desenvolvimento e comportamento de seres vivos, enquanto profissionais das áreas de games eletrônicos e cinema se aproveitam de pesquisas sobre comportameto emergente para atribuir mais realismo a seqüências de animação. 2.2. O que quero saber? - Quais são as implicações éticas / filosóficas / sociais da construção de sistemas de vida artificial? - Como a vida atificial pode ser usada para enriquecer a experiência de interação humano-máquina? 2.3. O que vou fazer? - Pesquisa e redação de um relatório sobre as questões levantadas; - Implementação de um sistema de vida artificial que ilustre pelo menos uma das técnicas encontradas, em linguagem funcional (LISP) ou lógica (PROLOG). 2.4. Como vou fazer? - Pesquisa na Internet (fóruns, páginas, entrevistas via e-mail ou chat); - Implementação com ferramentas livres (GPL / Open Source). 2.5. Quando vou fazer? - Levantamento de fontes: ................... até 02/02/2004 - Redação do relatório * Técnicas de implementação: ............... até 29/02/2004 * Problemas cobertos pela área: ............ até 08/03/2003 * Implicações da criação de vida artificial: até 05/01/2004 - Implementação: ............................ até 12/04/2004