VIDA ARTIFICIAL: CONCEITOS E APLICAÇÕES

Tamanho: px
Começar a partir da página:

Download "VIDA ARTIFICIAL: CONCEITOS E APLICAÇÕES"

Transcrição

1 VIDA ARTIFICIAL: CONCEITOS E APLICAÇÕES MARCIO LOBO NETTO, LUCIENE CRISTINA ALVES RINALDI Escola Politécnica da Universidade de São Paulo Departamento de Engenharia de Sistemas Eletrônicos Av. Prof. Luciano Gualberto, trav. 3, 158, Cidade Universitária, São Paulo, SP, BRASIL Abstract The research area called Artificial Life is interdisciplinary and aims to study the behavior of artificial systems (or synthetic systems) that are similar to live organisms. This paper emphasizes some aspects of life aiming to explore its relationship with computational methods and concepts. Moreover, it describes computational techniques used to conduct experimental simulations in virtual environments. Keywords Artificial Life, Virtual Environments, Computational Simulation, Computational Methods Resumo A área de pesquisa denominada Vida Artificial é interdisciplinar e visa estudar o comportamento de sistemas artificiais (ou sistemas sintéticos) que são semelhantes a organismos vivos. Este artigo ressalta alguns aspectos de vida e suas relações com métodos e conceitos computacionais. Além disto, são abordadas técnicas computacionais usadas para realizar simulações experimentais em ambientes virtuais. Palavras-chave Vida Artificial, Ambientes Virtuais, Simulação Computacional, Métodos Computacionais 1 Introdução Vida Artificial (VA) tem sido tema de pesquisa desde os primórdios da computação. Pioneiros da área como Allan Turing e John Von Neumann tinham interesse por este tema e por sua relação com os fundamentos da computação. Entre as questões que queriam entender estava a da possibilidade de se representar vida a partir de regras computacionais, ou se existiriam procedimentos computacionais que levassem a comportamentos equivalentes em sua essência aos dos seres vivos. Mais recentemente, e com um caráter mais tecnológico, cientistas de computação gráfica como Demetri Terzopoulos e Karl Sims também demonstram interesse pela área, desta vez como ferramenta para animação de personagens artificiais. Neste caso se procurava encontrar mecanismos para criar artificialmente personagens 1 que pudessem desempenhar funções equivalentes a de seres, e assim representalos em simulações computacionais. O avanço neste setor está também relacionado a animações gráficas. Desta forma a VA tem sido usada seja com o proposito de prover mecanismos adequados para criar personagens artificiais para o cinema, seja como forma de estabelecer laboratórios virtuais para simulação de diferentes aspectos de vida. Várias das características de seres vivos podem ser hoje bem estudadas com o apoio de avançados sistemas computacionais. As simulações permitem tanto a reprodução (ainda que normalmente de forma simplificada) de fenômenos observados em seres vivos, quanto uma adequada representação gráfica dos mesmos. A relação entre as áreas de VA e Realidade Virtual (RV) 1 Ao longo deste texto seres virtuais serão também referenciados como personagens ou agentes. pode ser de simbiose. Modelos biológicos e evolucionários são usados para dar vida aos personagens que habitam os mundos virtuais, incluindo plantas e animais. Métodos de VA servem para simular muitos dos processos naturais que caracterizam os seres vivos, como crescimento, reprodução, evolução, morfogênese, adaptação, percepção, aprendizagem e cognição (Bentley, 1999; Charniak, 1985). Por outro lado, as simulações em RV contribuem para o estudo de diversos tópicos de VA por permitir através de sofisticados recursos visuais e interativos uma melhor compreensão dos processos acima relacionados. Os personagens de VA podem ser capazes de evoluir e se reproduzir artificialmente, aprender, se comunicar e tomar decisões de forma autônoma. As técnicas de animação computacional ajudam permitindo a visualização destes personagens, e com isto oferecem meios para o acompanhamento de suas atividades e indiretamente do seu comportamento, e do desenvolvimento de suas capacidades. Inúmeras são as técnicas computacionais de alguma forma vinculadas a VA, seja na medida em que se espelham na vida natural, seja porque servem adequadamente para implantar mecanismos intrínsecos à vida e assim permitir simulações computacionais da mesma. Este artigo apresenta inicialmente alguns conceitos de vida natural e de sua vertente artificial, para então discorrer sobre o que se chamou de elementos característicos de vida (que devem ser entendidos como componentes principais de simulações que tratem deste assunto). Na seção seguinte apresentamse algumas das técnicas computacionais que são mais importantes nesta área e que servem para implantar diferentes módulos de personagens artificiais dando a eles capacidades especiais para que possam ser reconhecidos como seres artificiais. Por fim, são apresentados alguns trabalhos de pesquisa desenvolvidos ao ISSN: Vol. X 921

2 longo de vários anos pelo grupo de pesquisa Cognitio da Escola Politécnica da USP. 2 O Que É Vida? Para compreender o que é Vida Artificial, é necessário primeiramente responder a pergunta O que é vida?, pois a VA serve para simular e ajudar a compreender alguns aspectos da vida real. Esta é uma pergunta simples e ao mesmo tempo complexa, sendo alvo de muitas discussões científicas (Judson, 1979; Moore, 1989; Pauling, 1987; Perutz, 1987). Do ponto de vista científico, concentra-se na identificação dos aspectos intrinsicamente relacionados aos organismos vivos, dentre os quais nascimento, crescimento, reprodução, reação ao ambiente, assimilação de matéria e energia, excreção de dejetos, morte, entre outros. Estas são, por exemplo, características dos mais variados seres, desde os mais simples como uma bactéria ou uma ameba até seres mais complexos como o ser humano. Mas não servem necessariamente para definir vida, embora sejam reconhecidamente importantes para identificar seres vivos e classifica-los. Os estudos sobre a origem da vida mostram que ela se utilizou do ambiente físico rico em carbono, nitrogênio e água para se desenvolver e se adaptar, sendo este ambiente o único disponível para observação e consequentemente para avaliação deste fenômeno. Mas a partir do reconhecimento dos seus princípios fundamentais podemos criar hipóteses de ambientes virtuais e de criaturas artificialmente vivas que nele possam se desenvolver. Neste sentido a vida pode ser avaliada segundo diferentes critérios e níveis, relacionados a seguir. Do ponto de vista orgânico, o estudo de organismos vivos envolve a sua estrutura (anatomia) e a sua funcionalidade (fisiologia) incluindo capacidades como respiração, digestão e movimentação, entre outras (Adami, 1998). Neste contexto, explicam-se alguns aspectos de vida, mas não todos (por exemplo, seu surgimento). Portanto fazem-se necessárias outras definições na procura pelo estabelecimento dos princípios fundamentais da vida. Na definição metabólica, vida é a capacidade de trocar materiais e energia com o ambiente onde o elemento está inserido (Adami, 1998). Este consumo de energia garante sua sustentabilidade. A vida surgiu quando as condições do ambiente se tornaram favoráveis para que pudessem surgir organismos capazes de realizar tais trocas com o meio que habitavam. Mas uma definição mais precisa leva ao principio bioquímico, que define sistemas vivos por sua potencialidade de armazenar informações hereditárias em moléculas de ácido nucléico, ou seja, o código genético DNA (Deoxyribonucleic Acid) (Adami, 1998), que além de permitir a perpetuação da espécie por reprodução, são de fato a receita para a construção dos organismos vivos. Francis Crick e James Watson em 1953 reconstruíram a estrutura de dupla hélice do DNA mostrando sua constituição espacial, mas também concluindo que servia de base para a sustentação da vida, na medida em que a informação genética poderia ser armazenada e transferida de geração para geração. É o vasto armazenamento de informação codificada como o RNA (Ribonucleic Acid) e o DNA que determina o comportamento humano e difere o homem de uma bactéria. Em um contexto mais formal a definição recai então na genética, pois cabe a ela definir o processo de evolução dos seres vivos autônomos. O principio está no código e não no substrato que é usado para representá-lo, o DNA. Portanto o DNA pode ser visto como a molécula que foi capaz de armazenar tal código, mas em um contexto mais geral pode-se pensar no código em si (e não uma particular realização física) como elemento mais fundamental. Neste caso é particularmente interessante expandir este conceito que permite então a realização de vida em outros substratos, inclusive em programas de computador, na medida em que se tenham mecanismos responsáveis por cria-los e interpreta-los, mimetizando o DNA e o RNA. Esta é uma das bases da VA. A evolução (geração da informação) foi possível, primeiro em um nível molecular, depois celular e a seguir orgânico, devido à reprodução e seleção. Seleção é a forma inerente de auto-organização e uma consequência física direta da auto-replicação (sem a qual a informação seria perdida após cada geração), da mutação (sem a qual a informação é inalterável e, portanto, não poderiam emergir novas estruturas) e do metabolismo (sem o qual o sistema regrediria para um estado de equilíbrio onde as modificações anteriores não seriam possíveis) (Muphy, 1997). Por fim, em um ultimo nível de refinamento, observando uma análise de caráter físico (bioquímico) chega-se à abordagem termodinâmica que expressa a capacidade do elemento vivo de manter baixa sua entropia, ainda que imerso em um ambiente cuja entropia seja muito maior que a sua. Neste sentido o código genético e o que quer que a partir dele seja construído, é uma forma de permitir o surgimento destas ilhas que conseguem se contrapor a tendência termodinâmica, sem naturalmente ser um paradoxo, afinal ela existe de fato e ainda que pareça ser uma contradição termodinâmica de fato não é (e nem poderia ser, pois neste caso a física teria que ser revista). Segundo Christoph Adami (Adami, 1998), vida pode ser definida em um contexto termodinâmico como: Vida é uma propriedade de uma amostra de unidades que compartilham informações codificadas em um substrato físico e que, na presença de ruído, esforça-se para manter sua entropia significativamente abaixo da entropia máxima da amostra, em escalas de tempo que excedem a escala normal de decaimento do substrato (que contém a informação) por muitas ordens de magnitude (tradução nossa). ISSN: Vol. X 922

3 A pergunta O que é vida? tem ocupado a mente de filósofos e estudiosos durante os últimos séculos e gerou inúmeras contribuições. O livro O que é vida? 50 anos depois (Murphy, 1997) expressa idéias em dois temas: a natureza hereditária e termodinâmica dos seres vivos, segundo Erwin Schrödinger. O título faz menção ao cinquentenário de um evento organizado no Triniy College de Dublin, quando eminentes cientistas, liderados por Schrödinger se propuseram a avaliar esta questão a luz do conhecimento cientifico, com forte embasamento na física. Suas ideias têm sido criticadas como não originais ou erradas por alguns pesquisadores (Pauling, 1987; Perutz, 1987) e defendidas por outros (Moore, 1997; Schuneider, 1987), mas independente disso, serviu de inspiração para outros pesquisadores. 3 Vida Artificial Vida Artificial é uma forma alternativa de estudar a vida, ou seja, permite o estudo de um sistema ou organismo vivo através de simulações computacionais (modelos matemáticos). Segundo Christopher Langton, responsável pelo termo VA a coisa mais importante a se lembrar sobre VA é que a parte artificial não é vida, mas os materiais. Coisas reais acontecem. Fenômenos reais são observados. É a vida real em uma mídia artificial (Langton, 1995). VA permite a simulação de características de seres vivos, com o uso de computadores, sem o envolvimento de criaturas vivas, para a recriação de formas de vida em silício, através de regras que levam a resultados complexos e até imprevisíveis (Miranda, 2001; Netto, 2004; Sims, 1994; Terzopoulos, 1999; Thalmann, 1994). Os objetivos da VA são ajudar a descobrir os princípios gerais da vida e também a identificar aspectos particulares de sistemas vivos complexos. Além disto, os conceitos de VA servem para implantação de inúmeras aplicações, como por exemplo, realização de filmes com personagens virtuais autônomos (parcialmente ao menos), ou realização de experimentos científicos nas áreas de biologia, ecologia, sociologia, enfim em uma grande variedade de áreas que tenham personagens vivos como objeto central do estudo, incluindo desde situações com um único personagem até aquelas com grandes populações, como é o caso de simulações de multidões. Cabe notar que embora muitos destes experimentos virtuais possam ser feitos sem tratar de VA, o uso de paradigmas e ferramentas desenvolvidas segundo preceitos de VA podem auxiliar muito no desenvolvimento de tais aplicações. A VA tem sido utilizada para emular e simular seres vivos, procurando tratar da questão de forma integrada. Vale notar que preceitos de experimentos científicos clássicos, baseados no pensamento de Descartes e Newton, de decompor um sistema em seus componentes, na busca de identificar um objeto elementar, não se mostraram adequados no casso de vida, uma vez que ela é uma propriedade do conjunto e não de seus componentes. E, ao tentar reagrupar as partes do sistema vivo, isso também não reconstruiria o sistema original (Adami, 1998). Os experimentos em VA são importantes na busca de uma teoria universal de vida, que surgiu na Terra há 3,5 bilhões anos. Isso decorre da procura por princípios fundamentais de vida, pois as diversas definições de vida existentes: fisiológica, metabólica, bioquímica, genética e termodinâmica, não são universais o suficiente para classificar os sistemas entre vivos e não vivos. É interessante observar como muitos experimentos em VA evidenciam características dessas definições durante sua simulação. Por exemplo, o sistema Tierra, desenvolvido por Tomas Ray, onde foram semeados organismos digitais que sofriam mutações, evidenciou a característica de evolução das criaturas, que é uma das consequências da genética. Além disso, o experimento ainda comprovou a hipótese inicial de que a evolução das criaturas se deu a partir da adaptação de uma pelas outras, como ocorre na natureza, e não somente ao ambiente físico (Ray, 1992). Pelo fato de que VA é essencialmente um procedimento de simulação computacional, e que trata particularmente de uma série de aspectos de vida, vale então discorrer sobre tais elementos característicos de vida, em uma abordagem adequada para VA. Da mesma forma, existem algumas técnicas computacionais que tem aplicação direta em implantações de simulações computacionais de VA, e que, portanto serão também analisadas. Tais ferramentas têm também, em seus princípios, conceitos de VA, sendo ao menos inspirados nos mesmos. As duas próximas seções tratam destes dois aspectos elementos característicos de vida e ferramentas computacionais apropriadas para desenvolvimento de simuladores de VA. 4 Elementos Característicos de Vida e suas Formas de Realização em Vida Artificial Seres vivos são na sua maioria compostos por diversos sistemas (nervoso, digestivo, respiratório,...) e apresentam vários elementos característicos (presentes na maioria dos casos) e que servem para identifica-los. É natural então que sistemas artificiais tenham por premissa reproduzir, ainda que parcialmente e de maneira simplificada, estes elementos. Portanto uma metodologia empregada no estudo de VA trata da observação daquilo que se denomina aqui como elementos característicos ou aspectos de vida, para recriá-los em um contexto sintético. Dentre esses podem ser citados a percepção, a cognição, a reprodução, e alguns outros considerados mais importantes no contexto de VA, e que serão abordados de forma sucinta a seguir. Cabe salientar que os sistemas de VA não necessariamente contemplam simultaneamente todos estes elementos, e que na maioria das vezes há alguma independência entre eles, com objetivo de simplificar a sua implantação. ISSN: Vol. X 923

4 Cabe ressaltar também que a incorporação de tais elementos aos seres virtuais é na maioria das vezes feita em um processo top-down, e que os aspectos emergentes naturais a sistemas vivos são então manifestados por estes elementos. Por exemplo, após ter construído um sistema capaz de reconhecer algo, o reconhecimento em si decorre da interação com o ambiente, não sendo previamente estabelecido o que será reconhecido, mas apenas que a capacidade de reconhecimento foi artificialmente incorporada ao personagem. Assim o reconhecimento em si pode ser considerado legítimo. 4.1 Percepção Este aspecto está diretamente relacionado à capacidade de identificação do estado no qual o ambiente se encontra, por meio de sensores e mecanismos que permitam criar representações internas de tais estados e memoriza-los. Este procedimento pode ser dividido em duas etapas. Na primeira é feita a aquisição e um pré-tratamento das informações do ambiente através de sensores. Essa capacidade consiste em extrair informações a respeito da disposição espacial, ocorrência de eventos, bem como o seu enquadramento temporal (o uso de redes neurais artificiais é adequado para a extração de características do ambiente e sua consequente classificação, sendo uma das técnicas apresentadas na próxima seção). Em uma segunda etapa é feita uma melhor avaliação da informação, agora já sob um caráter simbólico que permita sua interpretação pelo estágio seguinte, o cognitivo (em VA, máquinas de estados, por exemplo, podem servir para este propósito e serão vistas na próxima seção). O primeiro passo deste processo é o da extração de informações do ambiente, para o que o personagem possa possuir alguns sensores que sejam responsáveis pelo processamento de sinais que emulem a transmissão de informações no ambiente, como luz e som. A implantação desses sensores deve considerar as formas mais adequadas para sua simulação e possíveis simplificações. Tais sensores podem ser enquadrados de acordo com o tipo de sinal processado, similarmente aos cinco sentidos do ser humano: visão, audição, olfato, tato, e paladar, sendo os sensores visuais, auditivos e táteis os mais utilizados, sobretudo nas aplicações em RV. Os sensores visuais, por exemplo, trabalham com a síntese de imagens obtidas por uma câmera, produzindo imagens do ambiente sob a perspectiva do ser virtual, e que serão usadas para posterior processamento (classificação, identificação,...) completando assim a função perceptual. Já no caso da audição há a emulação da captura de ondas sonoras, enquanto que nos sensores táteis pode-se fazer uso dos mecanismos de detecção de colisão entre objetos como os normalmente usados em jogos nos ambientes virtuais (Cony, 2007; Pletsch, 2006). O segundo passo no processo de percepção é o da extração de símbolos (contendo significado atribuído a eles) a partir dos sinais capturados. Tal extração de símbolos permite representar objetos em um nível simbólico, e então proceder com níveis mais elevados de tratamento dos mesmos, como o reconhecimento do ambiente (auto-observação de outros seres e objetos). A aquisição e o tratamento de conhecimento é consequência do processo de percepção, ocorrendo dentro de um mecanismo chamado aqui de cognitivo. Assim a percepção serve para preparar a informação que será posteriormente tratada no âmbito cognitivo para tomadas de decisão, além de ser muitas vezes ainda relacionada aos procedimentos de aprendizagem. Neste ponto torna-se evidente a conveniência da adoção de um mecanismo capaz de representar as informações que compõem o ambiente. O uso de uma ontologia pré-concebida ajuda neste processo, permitindo descrever consistentemente as entidades envolvidas, bem como as informações a elas agregadas através de níveis hierárquicos, representando assim, os possíveis fatos externos e internos ao personagem virtual. 4.2 Comunicação Este mecanismo serve para a intermediação na troca de informações entre dois personagens. A comunicação decorre da capacidade de um personagem emitir ou receber uma mensagem, permitindo que uma informação seja transferida por quem fala para quem ouve, e que esta possa então ser registrada e interpretada por este último. Com isto, dadas garantias de que haja consistência entre a interpretação dos dois interlocutores (normalmente por construção de ontologias apropriadas ao contexto da simulação) os personagens podem trocar informações e desta forma compartilhar algo conhecido, bem como aprender coisas novas. Sendo assim, a implantação deste recurso implica na existência de um sistema emissor e outro receptor. No caso do som, por exemplo, seriam necessários os sistemas fonador e auditivo, um para emitir sons e outro para reconhecer tais emissões, respectivamente. No entanto, na maioria das situações em simulação computacional é construído um mecanismo que abstrai os detalhes de transmissão de sinais, focando exclusivamente na transmissão da mensagem. Neste sentido pode-se fazer uma analogia com uma comunicação telepática, onde de alguma forma não explicitada a informação passa do locutor para o ouvinte. Outra consideração importante a ser feita é a da obrigatoriedade de se ter a mesma compreensão para uma mesma mensagem. Ou seja, cada símbolo deve ser passível de ter a mesma interpretação em todos os interlocutores, permitindo assim uma efetiva comunicação e troca de informação entre eles. Cabe a cognição o papel de reconhecer os símbolos comunicados, e de dar a eles uma interpretação coerente com o contexto da simulação, e muito provavelmente (por simplicidade) embasada em uma ontologia artificialmente definida para cada contexto. ISSN: Vol. X 924

5 4.3 Adaptação Talvez, um dos aspectos mais intrínsecos ao conceito de vida sejam as múltiplas capacidades de adaptação dos seres. A capacidade de alterar seu comportamento em virtude de uma melhor interação com o ambiente pode ser desenvolvida pelo personagem através de evolução ou aprendizado. Ambos são considerados aqui como mecanismos adaptativos, sendo o primeiro de caráter filogênico (atuando sobre o aprimoramento coletivo da espécie) e o segundo ontogênico (agindo sobre o aperfeiçoamento do personagem individualmente). No caso da evolução são empregados os recursos de computação evolucionária que é fortemente fundamentada na teoria Darwinista. Dentre estes encontram-se as estratégias evolucionarias, os algoritmos genéticos e a programação genética, cuja aplicação depende do problema. Já no caso da aprendizagem não se observa alterações no código genético e, portanto as alterações de comportamento não se propagam como ocorre na evolução, mas sim basicamente pela comunicação e pela interação com o meio ambiente. No caso do aprendizado podem-se ter duas visões, a primeira das quais é baseada no método do instrucionismo (Vygotsky) que consiste na transmissão do conhecimento de forma passiva. Em outras palavras um determinado personagem recebe informações de outro personagem. Tal cenário requer dois agentes: aluno e professor, respectivamente. Diferentemente do instrucionismo, o segundo paradigma construtivismo (Piaget) exige que um determinado personagem busque informações e de posse delas, as compile, descobrindo assim uma nova informação que passa a ser agregada ao sistema. Tal aprendizado pode ser caracterizado como ativo ou aprendizagem interativa. Contudo, este método de aprendizado é mais complexo e requer uma estrutura cognitiva bem desenvolvida, sendo portanto, mais difícil de ser implantado em VA. As técnicas de computação evolutiva (algoritmos genéticos, mecanismos evolucionários) são utilizadas para tratar dos aspectos filogenéticos da adaptação, enquanto que técnicas de aprendizagem computacional da inteligência artificial são adequadas para os aspectos ontogenéticos da adaptação. Tais técnicas estão ainda relacionadas a planejamento, raciocínio e tomada de decisão. Ambas são apresentadas na próxima seção. 4.4 Cognição Os personagens interagem com o ambiente, seja de modo sofisticado através de uma sequência de ações para cumprir uma meta ou, de modo mais simples, apenas para buscar energia para sua sobrevivência. A questão é como essas ações são determinadas e quem as controla. Em termos gerais pode-se dizer que o personagem pode desenvolver um comportamento tanto reativo como cognitivo, de modo similar ao estabelecido na teoria dos sistemas multi-agentes. Uma das definições da teoria multi-agentes (Russell, 2004), destaca que um agente é tudo o que pode ser considerado capaz de perceber seu ambiente por meio de sensores e de agir sobre esse ambiente por intermédio de atuadores. Embora essa definição seja muito abrangente, ela apresenta de modo simples a idéia de agentes. Outra definição, um pouco mais precisa seria a de Wooldridge (1999) onde um agente é um sistema de computação que é capaz de agir independentemente (autônomo) de um usuário.... Aprimorando essa definição seria interessante frisar que o agente segue um propósito ou objetivo para que suas ações modifiquem o ambiente de acordo com as suas necessidades. Como já mencionado anteriormente, os sensores e os atuadores são fundamentais ao agente, uma vez que eles servem de interface com o ambiente. Essa interface garante ao agente a capacidade de se relacionar com o ambiente, e desta forma desempenhar internamente procedimentos condizentes com a realidade externa. Para tratar desse relacionamento, seja para avaliar as informações vindas do ambiente, seja para produzir outras destinadas ao meio externo, os agentes possuem uma estrutura que responde pelo seu comportamento (Weiss, 1999; Wooldridge, 1995; Wooldridge, 2002), e que neste texto é considerada como fruto de seu centro cognitivo. A estrutura do comportamento desses agentes praticamente representa como o personagem é sensibilizado, controlado e de que forma ele interagirá com o ambiente. Desta forma são conciliados os aspectos de vida com o agente para que o mesmo atue de modo mais eficiente. Um comportamento reativo consiste em apenas mapear os símbolos obtidos pela percepção em ações de modo direto e sem grandes considerações. Por outro lado, um comportamento cognitivo permite representar algumas características dos seres mais evoluídos na escala biológica. Tais características incluem o raciocínio, a tomada de decisões, e a avaliação racional de um cenário com base em perspectivas, possibilidades e situações (Russel, 2004). Quando empregadas no processo de seleção de uma ação a ser feita em um certo contexto, tais mecanismos podem ser realizados em diferentes escalas de tempo (desde uma janela de tempo mais imediata até outras mais longas incorporando algum tipo de planejamento ou de análise estratégica). Este recurso consiste no alcance de metas (objetivos) dentro de uma janela de tempo formada entre a sua estipulação e seu cumprimento. Para isso, a cognição elabora uma sequência de ações possíveis que são constantemente reavaliadas sob o intento do sucesso. Outro mecanismo fortemente relacionado com o contexto é o relacionado à promoção de interatividade social. Esta interação serve para que um determinado personagem consiga mobilizar outros em prol do alcance de seu objetivo pessoal, ou ainda, em casos de cooperação, um objetivo social. ISSN: Vol. X 925

6 4.5 Atuação Este aspecto de vida do personagem pode ser entendido como a sua capacidade em interagir com o ambiente externo. A interação entre o personagem e o ambiente pode ser simulada em experimentos gráficos, que consistem em ambientes virtuais com representação gráfica bidimensional ou tridimensional de acordo com a necessidade. Para o caso dos ambientes virtuais e personagens que atuem graficamente neste universo, tem-se a necessidade de implantar uma biblioteca de animações, ou de possíveis ações. Alguns exemplos desta biblioteca seriam os movimentos de navegação e manipulação de objetos como andar, dançar, pegar, tocar, agarrar, entre outros. 4.6 Reprodução Além da adaptação, outro importante aspecto de vida e intimamente ligado a adaptação é a reprodução. Esta é uma das características mais significativas da vida, permitindo tanto a perpetuação da espécie (na medida em que os seres envelhecem e morrem, mas deixam descendentes) quanto seu continuo aperfeiçoamento (pois no processo de reprodução são criados novos seres parecidos com os pais, mas não totalmente tal diferença promove em longas escalas de tempo uma adaptação da espécie ao meio ambiente, ajudando a perpetuá-la). Para implantar este aspecto em VA deve-se basear nos modelos biológicos (seja o método de reprodução escolhida sexuada ou assexuada). Na sexuada ocorre uma combinação na transferência de material genético, enquanto que na assexuada o novo ser é originado apenas com base nos genes do seu progenitor. Além disto, há sempre alguma chance de haver alterações no novo código genético (algo como um erro no processo de cópia) que promove uma pequena variabilidade importante para explorar coisas novas. Estes recursos podem ser listados como: crossover, clonagem e mutação. Do ponto de vista de codificação genética há uma rica variedade de possibilidades, mas do ponto de vista biológico (que serve de referencia para a implantação dos modelos usados nas simulações) tem-se códigos tanto haploides (n) quanto diploides (2n). 5 Ferramentas para Simulações em Vida Artificial Esta seção apresenta algumas das principais ferramentas computacionais usadas para simulações de sistemas de VA. O objetivo é apresentá-las e com isto dar condições para um melhor entendimento sobre como podem ser aplicadas para simular diferentes mecanismos incorporados a personagens virtuais nesta área. De um ponto de vista geral, duas abordagens podem ser utilizadas para simular computacionalmente o comportamento de um ser vivo através de regras procedimentais em um determinado período de tempo: são elas as abordagens Bottom-up e Top-down. Na abordagem Bottom-up (complexificação sucessiva), a mesma adotada pela natureza, os seres são construídos com mecanismos adaptativos, concebidos com o intuito de permitir aos seres se adaptarem ao ambiente em que se encontram. Tais ambientes estão associados a regras, cuja observância determina o grau de adaptação dos seres e consequentemente sua capacidade de sobrevivência e sua qualidade de vida (conforme as condições que o ambiente oferece). Os sucessivos ajustes por que passam tais mecanismos, em decorrência de procedimentos adaptativos evolucionários, permitem aos seres aprimorar suas capacidades e assim melhorar suas condições de vida e sobrevivência. Na abordagem Top-down (refinamento sucessivo) os seres são construídos a partir de um planejamento prévio, considerando o ponto de vista do criador de tudo o que precisam para serem bem sucedidos no ambiente. A solução é, portanto proposta de forma direta, sistemática e estruturada para resolver os problemas (forma adotada pela engenharia). O resultado não garante que esta seja a melhor forma para resolver um determinado problema proposto (Neves, 2003). Uma breve comparação das duas abordagens permite dizer o seguinte: a) a primeira proposta deixa as soluções em aberto, que devem emergir a partir de reconfigurações e ajustes que ocorram naturalmente (podendo ou não atingir condições satisfatórias ou esperadas, mas com possibilidade de ir além e encontrar soluções não trivialmente propostas pelo outro paradigma); b) já a segunda proposta garante (se bem construída) que o que foi concebido estará de fato disponível, mas se depara com procedimentos de projeto cuja complexidade é crescente, e que em função disto muitas vezes não permite uma solução adequada. Programas em VA abordam as questões da adaptação e da evolução da forma de vida em seu ambiente através de métodos naturais para a solução de problemas. Algoritmos Genéticos (Michalewic, 1996; Mitchell, 1997), por exemplo, aplicam conceitos de biologia e evolução (tais como hereditariedade e técnicas de cruzamento e mutação) na solução de problemas da ciência e engenharia. Os Autômatos Celulares consistem em uma ferramenta computacional que pode ser utilizada tanto pela física para o estudo de fenômenos da natureza como pela sociologia para avaliação de comportamentos sociais. Combinando critérios adaptativos e conceitos de inteligência artificial, a busca evolucionária pode ser expandida, levando a algoritmos mais eficientes que consumam menos recursos computacionais e levem a melhores soluções. A seguir são descritas algumas das principais ferramentas usadas em VA. ISSN: Vol. X 926

7 5.1 Máquina de Estados Finito Uma Máquina de Estados Finitos (MEF) (Kam, 1997; Gill, 1962) é uma máquina abstrata que consiste de um conjunto de estados pré-definidos bem como de transições entre eles. A máquina serve assim para a representação de comportamento na medida em que regras sejam determinantes na sucessão dos estados. Cabe ao criador da MEF dar significado aos estados e transições e assim interpretar o funcionamento da mesma. Ao se construir a MEF são definidas as condições que determinam quando e como devem ocorrer as transições de estado. A MEF também pode ser vista como uma função que mapeia uma sequência ordenada de eventos de entrada em uma sequência correspondente de eventos de saída, permitindo de alguma forma, o acompanhamento das condições do ambiente em que se encontra, enquanto respeitando também condições inerentes a ela (a topologia de seus estados). Desta forma permite que sejam realizadas ações resultantes de uma combinação das características internas do ser que representa, com condições externas do mundo por ele habitado (percebidas por sensores e agindo como entradas da MEF). A MEF é composta por: (1) estado: informando a condição atual do sistema, e servindo para indiretamente representar algo a respeito do seu passado (registro da sequencia de estados passados), o que dependendo da configuração da maquina pode se dar de forma explicita (estado único para cada situação vivenciada pelo sistema) ou implícita (estado como representação de situações prototípicas ou importantes); (2) transição: mudança de estado descrita por uma condição que precisa ocorrer para que a transição aconteça e; (3) ação: descrição de uma atividade que dever ser realizada em um determinando momento, seja na transição ou durante a permanência no estado. Elas podem ser representadas como grafos nos quais os nós representam os estados e as arestas representam as possíveis transições de um estado para outro. Também podem ser representadas por meio de tabelas que contenham informações completas para cada uma das situações possíveis. Dentre as MEF de particular interesse para a VA estão aquelas que tratam de ajustes adaptativos podendo se adequar através de mecanismos de evolução que modifiquem seja a sua topologia, sejam as condições de transição (regras que controlam a transição de estados) ou as ações por elas propagadas. Assim, pode-se avaliar seu desempenho e propor mudanças sucessivas até a conversão para uma situação desejada. 5.2 Autômato Celular O Autômato Celular (AC) foi inventado por Von Neuman de acordo com o livro editado por Burks (Neumann, 1996), onde o mesmo estudava os fenômenos biológicos e da auto-reprodução. A idéia foi simplificada por outros autores como Arbib (1969) e Myhil (1964). Uma extensa compilação do assunto é apresentada por Stephen Wolfram (1994). Os AC são simulações computacionais que emulam a maneira pela qual as leis comportamentais determinam o desenvolvimento espaço-temporal na interação dos múltiplos elementos de um sistema, incluindo muitos encontrados na natureza. Embora seja possível estender este conceito para comportamentos de sistemas naturais, reconhece-se que os AC normalmente tratam de problemas mais simples. É possível imaginar nosso mundo complexo e fascinante sendo criado por um conjunto de regras relativamente simples? Este tipo de simulação talvez nunca possa dar uma resposta definitiva para esta pergunta, mas pode dar uma idéia de como seria um mundo governado por regras simples, de quão poderosas elas podem ser para demonstrar fenômenos relativamente complexos, por exemplo, a observação de um fenômeno de emergência (regras simples implicando em uma sucessão inesperada e interessante de eventos). O AC pode ser visto com uma múltipla máquina de estados. Em uma representação binária, o número de estados é definido pelo número de bits avaliados no processo de decisão de cada elemento (também chamado de célula, e que corresponde a uma MEF). Tais células são acopladas umas às outras através de regras normalmente associadas a uma vizinhança espacial. Neste sentido o estado do conjunto de células vizinhas é que determina, através da regra estabelecida, qual o próximo estado de cada célula. E isto se repete simultaneamente em todas as células. As condições de transição de estados podem ser vistas como regras que regem o comportamento geral do AC. Ou seja, são regras que regem ao comportamento do sistema (como se dá a evolução na sucessão de seus estados) (Adami, 1998; Neves, 2003). E a eventual evolução destas regras (alterações nas mesmas) pode levar a uma sucessão de ACs representando a evolução deste sistema. Exemplos Considere que o valor de cada célula na posição i no instante t seja a i (t). Uma regra serve para determinar seu valor no instante seguinte (t+1). Um exemplo muito simples seria a eq.(1): a i (t+1) = a i-1 (t) + a i+1 (t) mod 2 (1) De acordo com esta regra, o valor do estado futuro (t+1) de cada célula em particular é dado pela soma módulo 2 dos valores das células vizinhas à esquerda (a i-1 ) e à direita (a i+1 ) no passo do tempo presente (t). Diferentes regras permitem representar uma enorme variedade de comportamentos distintos. Em uma grade de dimensão arbitrária de números binários (0 e 1), o estado seguinte de cada célula é determinado pelo estado atual da própria célula e das células vizinhas próximas (n-1). Em um exemplo simples (Tabela 1), um AC com uma dimensão (linha), possui um repertório de 256 possíveis regras (das quais uma é apresentada na última coluna desta tabela), no caso de se avaliar apenas três células (a própria e as vizinhas imediatas) (Adami, 1998). ISSN: Vol. X 927

8 Regra Tabela 1. Máquina de estados de AC (Adami, 1998). Vizinho à esquerda Estado Atual Vizinho à direita Novo estado Assim, os AC foram classificados por Wolfram (1994) em quatro classes (Figura 2) com base nos padrões espaço-temporais gerados por sua evolução: Classe I Estado homogêneo no qual todas as células apresentam o mesmo estado (Figura 2a). Classe II Estado estável, sejam uma variação periódica observável ou com período igual a 0, ou seja, conjunto de estruturas estáveis (Figura 2b). Classe III Estado caótico ou desordenado, não possuindo um padrão reconhecível (Figura 2c). Classe IV Comportamento complexo. A evolução no tempo leva o AC a gerar estruturas complexas com evolução imprevisível, que podem se propagar, e assim criar e/ou destruir outras estruturas. Esta evolução pode terminar após tempos relativamente longos (Figura 2d). A Figura 1 (a) mostra um exemplo de um simulador de AC com uma condição inicial aleatória (células nos estados 0 e 1) enquanto a (b) tem apenas uma das células inicialmente em 1 (Neves, 2003). É interessante notar que independente da condição inicial, o padrão desenvolvido permanecerá o mesmo. Embora este exemplo corresponda a um caso trivial (regra 0), o mesmo pode ser observado em algumas outras situações (regras). Estado Inicial Regras (a) (b) T e m p o (c) (d) (a) Figura 1 Padrão espaço-temporal de um AC unidimensional com k = 2 estados (0 ou 1) e N = 37 células. As imagens mostram duas condições iniciais diferentes: (a) várias células cheias e (b) com uma única (Neves, 2005). Padrões e suas Classificações Os AC possuem um número finito de configurações possíveis. Por exemplo, para um AC cujas células possam assumir um dentre k = 2 estados, e constituído por n = 10 células, existirão um total de k n = 2 10 = 1024 combinações possíveis para serem visitadas (Lewin, 1993). Logo, à medida que o tempo passa, o AC terá que revisitar alguma configuração prévia. A partir daí, se as regras do AC forem determinísticas, o sistema segue um ciclo chamado de padrão, que se repetirá. (b) Espaço Figura 2 Padrão espaço-temporal de regras típicas em cada uma das quatro classes de Wolfram. Classe I (a), Classe II (b), Classe III (c) e Classe IV (d) (Neves, 2005). Como visto, os AC são modelos computacionais que são discretos no tempo e no espaço, cujas evoluções são regidas por regras simples. Mas tais regras podem descrever sistemas complexos que podem ser modificados com a alteração das mesmas. À medida que o sistema evolui dinamicamente, emergem comportamentos complexos decorrentes dessas influências mútuas. E tal característica é particularmente interessante para estudos de VA. Uma forma de estudar a estabilidade dos AC é compará-los com as leis da natureza, introduzindo-se perturbações (mutação, destruição). A conversão de um estado para o outro pode acontecer (célula ativa para inativa) com a introdução de fatores externos (chamados de ruídos) que podem ser influenciados através do ambiente ao longo de varias gerações. Isto pode ser observado na Figura 3, quando durante a ISSN: Vol. X 928

9 simulação um determinado padrão se altera em decorrência da mudança da regra, podendo levar inclusive a sua a paralisação (morte de todas as células). A partir deste momento, é impossível voltar para qualquer outro padrão sem a inicialização do sistema. Esta análise demonstra a alta dependência das regras como determinantes da evolução de estados (comportamento) do AC. Figura 3 Com a introdução de perturbações ou ruídos (através das regras), pode-se alterar os padrões Um interessante aspecto para ser analisado conjuntamente com os AC é o da possibilidade de se criar mecanismos de retro-alimentação, com o intuito de permitir a escolha de regras que levem a observação de comportamentos reconhecidos como adequados. Tais mecanismos serviriam para regular (adaptar) o AC a uma certa realidade e assim favorecer a manutenção de certo padrão de comportamento. Dimensões Espaço Temporais Os AC podem ter uma ou mais dimensões espaciais. Para o caso de duas dimensões com quatro células vizinhas, e havendo dois estados possíveis para cada célula teremos 2 4 = 16 possibilidades de transição, totalizando 2 16 = regras possíveis. Percebe-se assim a imensa gama de possibilidades mesmo para uma situação de pequena ordem (vizinhança igual a quatro e dois estados possíveis apenas para cada célula). Normalmente uma regra dentre todas as possíveis é escolhida para a condução da simulação, caracterizando uma possível situação. Além disso, conjuntos de regras podem ser associadas a uma de quatro classes possíveis conforme previamente apresentado. Um caso interessante de AC de 2 dimensões é o popular Jogo da Vida, criado pelo matemático John Holton Conway em 1970 (Neves, 2003), onde para cada célula, com vizinhança de 8 casas, considera-se apenas os número de vizinhos vivos ou com valor binário 1. Neste ambiente pode-se observar padrões de comportamento interessantes gerados a partir de regras de evolução simples que representam a competição pela sobrevivência em uma população. As regras de evolução do Jogo da Vida são: Uma célula viva com 2 ou 3 vizinhos vivos permanece viva; Uma célula viva com menos de 2 vizinhos morre de solidão; Uma célula viva com mais de 3 vizinhos morre sufocada e Uma célula morta com 3 vizinhos vivos passa a viver. Figura 4 Padrão espacial do Jogo da Vida para um determinado instante da simulação. O resultado visual do sistema (Figura 4) é complexo e os fenômenos observados imprevisíveis. Dependendo do tamanho da grade e das condições iniciais, o sistema pode demorar a se estabilizar. Observa-se neste caso uma grande sensibilidade às condições iniciais, de modo que a modificação de apenas um bit nas condições iniciais pode levar a desenvolvimentos espaço-temporais completamente diferentes. No entanto, reconhece-se o padrão formado em qualquer situação como pertencendo a uma mesma classe. Comportamentos Naturais Conforme o contexto acima, onde padrões surgem espontaneamente, suas regras se aplicam a vários fenômenos internos e externos dos seres vivos, como crescimento de plantas, formação de corais, regeneração de tecidos, entre outros. A foto de uma concha marinha (Figura 5) mostra uma pigmentação similar à Figura 2c, que sugere que padrões naturais, inclusive biológicos, podem ser gerados e controlados usando-se algoritmos ou regras simples. Figura 5 O padrão gerado pela Classe III (Figura 2 (c)) é similar à pigmentação de certas conchas marinhas encontradas na natureza De forma ainda mais genérica pode-se fazer uma relação entre o comportamento observado em um AC e aquele observado em colônias de insetos, desde que sejam feitas as devidas associações entre os estados do AC e aquilo que seria a contrapartida na referida colônia. Neves (2003) dá como exemplo as sociedades extremamente desenvolvidas de formigas. Uma formiga individualmente é uma criatura simples que pode desempenhar em média 40 funções específicas (como cavar, bloquear o sol, criar caminhos, entre outros), mas quando executadas no tempo correto, e em grupo, operam maravilhas, demonstrando como um conjunto de regras simples pode resolver problemas complexos (como encontrar o menor caminho entre um conjunto de pontos). ISSN: Vol. X 929

10 5.3 Algoritmos Genéticos Os Algoritmos Genéticos (AG) desenvolvidos por John Holland em 1975, seus colegas e estudantes na Universidade de Michigan (Goldberg, 1989), juntamente com Estratégias Evolucionária (EE) desenvolvida por Rechenberg em 1960 e Programação Evolutiva (PE) desenvolvida por John Koza em 1992 (Koza, 1992), formam uma classe de algoritmos de pesquisa baseados em evolução natural, chamados de Algoritmos Evolucionários (AE) (Ribeiro, 1994). Os AGs são métodos que simulam através de algoritmos (baseados nas teorias de Darwin e da genética), os processos de evolução natural (de base biológica), sendo adequados para resolver uma extensa gama de problemas (Futuyama, 1992). As etapas destes algoritmos podem ser resumidas em: Evolução: é o processo geral que permite o aprimoramento dos indivíduos de uma espécie, a partir de operações sobre os cromossomos que representam o organismo, e não diretamente sobre o organismo em si. Assim sendo, o que acontecer com um organismo durante sua existência não irá se refletir sobre os cromossomos. Mas os cromossomos definem a construção do organismo e terão reflexos diretos sobre todas as suas características (decodificação dos cromossomos). Seleção Natural: esta etapa faz com que os personagens mais bem adaptados ao ambiente sobrevivam e reproduzam mais do que aqueles menos adaptados, preservando e disseminando assim seus cromossomos. Reprodução: é o ponto através do qual a evolução se caracteriza. Inicialmente ocorre a recombinação (ou cruzamento) onde os genes dos pais são combinados para formar um novo cromossomo (dos filhos) e podem sofrer mutações (onde os elementos do DNA podem ser modificados) que são causadas por erros na cópia dos genes dos pais. Na vida real ela pode ser decorrência do processo de meiose ou de incidência de radiação. Processos de recombinação (crossover) também podem fazer com que os cromossomos dos filhos sejam bastante diferentes dos seus pais (por combinar materiais diferentes de dois genitores) (Barcellos, 2000; Obitko, 1998). O objetivo de Holland não era projetar algoritmos para resolver problemas específicos, mas desenvolver métodos para representar mecanismos de adaptação natural nos sistemas de computador (Mitchell, 1997). A ideia é baseada na teoria biológica dos sistemas naturais, ou seja, na sobrevivência dos melhores indivíduos (membros da população) adaptados ao ambiente que poderiam sobreviver e se reproduzir em taxas maiores do que os indivíduos menos adaptados. Depois de muitas gerações, estes indivíduos adquirem características que lhes conferem uma maior adaptabilidade ao ambiente. Em um ambiente competitivo isto desfavorece os indivíduos de gerações anteriores menos adaptados, com o que se observa uma evolução na população (Koza, 1992). Os Algoritmos Evolutivos simulam um processo de aprendizagem coletiva (conjunto de soluções representadas por cromossomos), dentro de uma população de indivíduos, onde cada um representa não somente um ponto no espaço de solução potencial de um determinado problema (soluções para formar novas gerações com mais chance de reprodução (Koza, 1992)), mas também um depósito temporal de conhecimento sobre as leis do ambiente (Bäck, 1996). Parâmetros dos AGs A simulação de um AG se inicia com um número de indivíduos (população inicial) selecionados aleatoriamente onde os mesmos desempenham funções no ambiente. Durante o processo evolutivo, cada individuo da população é avaliado para determinar o seu valor geral de aptidão (fitness) (única informação utilizada pelo AG). Baseado nestes valores, uma população de indivíduos é transformada em uma nova população (nova geração) mediante a aplicação sucessiva dos operadores de seleção (que privilegiam os mais bem adaptados o método da roleta de Monte Carlo é adequado para tal, classificando os individuos com base no seu fitness, permitindo assim que os melhores tenham mais chances de serem selecionados), cruzamento (quando os cromossomos de dois indivíduos selecionados são conjugados para formar o do novo individuo - a taxa de aprovação dos casais costuma ser alta, cerca de 80% a 95%) e mutação (que permite alterações aleatórias em pequenas porções do cromossomo criado - esta deve ser baixa para evitar distorções excessivas nos mesmos, costumando ser na faixa de 0.5% a 1%). O critério de parada pode ser, por exemplo, o número máximo de gerações (interações) ou o fato de se atingir certo nível de estabilidade (alterações muito pequena na população) (Koza, 1992; Obitko, 1998). Populações muito grandes normalmente não aumentam o desempenho do AG, ou seja, a velocidade com que se encontram as soluções. Na implementação de um AG, um bom tamanho para a população é de 20 a 30, entretanto em determinados problemas, os tamanhos de 50 a 100 são indicados como melhores. Mas o tamanho da população pode depender também do tamanho da série codificada (cromossomos) (Obitko, 1998). Segundo Goldberg (1989) os AGs diferem da maioria dos métodos de busca e otimização por: (1) trabalhar em um espaço de soluções codificadas e não diretamente no espaço de busca; (2) trabalhar com um conjunto de pontos (população) e não em pontos isolados; (3) não necessitar de derivadas ou outro conhecimento auxiliar, pois utilizam informações de custo ou recompensa e (4) usar regras de transição probabilística. ISSN: Vol. X 930

11 Definições Todo organismo vivo é constituído de uma ou mais células. Em cada célula existe um conjunto de cromossomos (cadeias de DNA e servem como modelo para todo organismo) que no contexto do método computacional contém uma representação da possível solução para o problema trabalhado (Bäck, 1996) (Figura 6). Os cromossomos são constituídos de genes (blocos de DNA). Os genes codificam uma determinada feição (como cor de olhos) e um conjunto de genes relacionados com uma determinada feição são chamados de alelos. A posição que o gene ocupa no cromossomo é denominada lócus (Goldberg, 1989). Um conjunto de cromossomos que serve para representar uma espécie é chamado de genoma e um conjunto particular deste (representando um individuo) é chamado genótipo. O genótipo serve de referencia para o desenvolvimento do ser, que na natureza ocorre tanto na fase embrionária como no seu processo de crescimento (características físicas e mentais como cor dos olhos e inteligência). Nas simulações computacionais um tradutor pode ser usado para construir o fenótipo diretamente a partir da receita do genótipo (Obitko, 1998). Seleção A seleção permite prospectar sucessivamente melhores regiões do espaço que contem as soluções do problema (espaço de busca). Segundo a teoria de Darwin, são selecionados indivíduos da população para a reprodução dando preferência para os mais adaptados ao ambiente (Mitchell, 1997). Alguns exemplos de seleção são: seleção por roleta, classificação, estado estacionário, entre outros. Na seleção por roleta, cada indivíduo tem uma probabilidade de ser selecionado que é proporcional a sua aptidão. Considere um circulo dividido em n regiões (tamanho da população) (Figura 7). Após um giro da roleta, a posição de parada indicará o indivíduo selecionado. Os indivíduos representados por setores maiores do circulo terão maior chance de ser selecionados. Como consequência, estes podem contribuir para gerar múltiplos descendentes ou mesmo serem replicados (dependendo da estratégia adotada) enquanto outros podem desaparecer. Codificação gene alelo Figura 6 - Exemplo de Cromossomo. Segundo Banzhaf (1998) o sucesso de um AG vai depender da codificação adequada do problema. Os cromossomos dos AGs devem ser codificados com uma sequência de algum alfabeto finito (Futuyama,1992). Uma forma de codificação é a binária (0 e 1). O espaço de busca para esta codificação apresenta 2 k possibilidades (pontos), sendo k o comprimento (número de genes) do cromossomo (Obitko, 1998). Outra forma é permutação onde cada cromossomo é uma série de números que representa uma posição e uma sequência. É útil para problemas de ordenação. Este tipo de codificação pode ser usado em problemas como do Caixeiro Viajante onde este tem que visitar várias cidades e encontrar a sequência de cidades de forma que à distância percorrida seja a mais curta possível (Obitko, 1998). A codificação de valores é a sequência que pode assumir qualquer forma relacionada com o problema como números reais, caracteres ou qualquer outro objeto (Obitko, 1998). A codificação em Árvore é usada para desenvolver programas ou expressões (como a programação genética). Neste modelo, cada cromossomo é uma árvore de alguns objetos como funções ou comandos de uma linguagem de programação (Obitko, 1998). Figura 7 - Amostragem estatística de populações. Neste método por roleta, existem problemas como a grande diferença entre os valores de adequação onde haverá indivíduos com poucas chances de serem selecionados. Na seleção por classificação, primeiro é classificada a população e depois é atribuído a cada indivíduo um valor de adequação crescente determinado pela sua classificação no grupo (Obitko, 1998). Na seleção por estado estacionário a ideia é que a nova população deve ter uma grande parte de indivíduos que sobreviverão para a próxima geração. Em cada nova geração os melhores indivíduos são selecionados para a criação dos novos descendentes e os piores indivíduos são descartados acrescentando outros em seus lugares. O restante da população sobrevive para as próximas gerações (Obitko, 1998). Com a criação de uma nova população por cruzamento e mutação, tem-se uma grande chance de se perder os melhores indivíduos. No elitismo, são copiados os cromossomos dos melhores indivíduos para a nova população, aumentando o desempenho do AG e prevenindo a perda da melhor solução encontrada. O restante da população é constituído da forma descrita acima (Obitko, 1998). Cruzamento (Crossover) O cruzamento opera de modo a criar novos cromossomos a partir da combinação dos cromossomos dos pais. Uma forma é escolher aleatoriamente alguns pontos de cruzamento e copiar tudo o que vem antes desse ponto de um dos pais e tudo o que vem depois do outro (Obitko, 1998). ISSN: Vol. X 931

12 Para problemas de programação e otimização combinatória, os autores Goldberg (1989) e Starkweather et. al (1991) descrevem vários tipos de operadores de crossover, sendo os principais: ponto de cruzamento único, dois pontos de cruzamento, cruzamento uniforme, cruzamento aritmético. Figura 8 - Cruzamento único em um AG simples No ponto de cruzamento único, é escolhido um ponto de cruzamento e a série binária desde o inicio do cromossomo até o ponto de cruzamento é copiada do pai e o restante da mãe (Figura 8) (Obitko, 1998). Nos dois pontos de cruzamento, a série binária desde o inicio do cromossomo até o primeiro ponto do cruzamento é copiada do pai. Do primeiro ponto de cruzamento até o segundo, é copiada da mãe e o restante é copiado novamente do pai (Figura 9) (Obitko, 1998). Figura 9 - Cruzamento de dois pontos em um AG simples No cruzamento uniforme, os bits são copiados aleatoriamente do pai ou da mãe (Figura 10) (Obitko, 1998). Figura 10 - Cruzamento uniforme em um AG simples No cruzamento aritmético é realizada uma operação aritmética para se obter a nova geração (Figura 11) (Obitko, 1998). Mutação Figura 11 - Cruzamento aritmético em um AG simples A hereditariedade confere estabilidade a sistemas biológicos, mas nenhum sistema composto de moléculas e sujeito ao impacto do mundo físico pode ser perfeito. Erros na cópia produzem sequências alteradas de DNA (mutações) que são perpetuadas. Mutação é frequentemente definida como uma mudança em alguns genes ou em um trecho da sequência de pares de base de um gene e às vezes o termo é usado de uma forma mais ampla de modo a incluir mudanças no número e estrutura dos cromossomos. A mutação é o cerne da evolução. Sem ela a vida não teria ido além de uma protobactéria (Barcellos, 2000). No procedimento computacional a mutação é efetuada alterando-se o valor de um gene de um indivíduo sorteado aleatoriamente com uma determinada probabilidade. Desta forma os individuos sorteados tem alguns de seus genes alterados. 5.4 Redes Neurais Outro recurso bastante utilizado no emprego de técnicas que auxiliem no controle de personagens virtuais são as Redes Neurais Artificiais (RNA). Em VA, especificamente, as RNAs são normalmente utilizadas como mecanismos para extração de padrões. Essa extração pode ser aplicada ao personagem como processo de reconhecimento do ambiente virtual, em outras palavras, em sua percepção. A seguir serão apresentados alguns conceitos considerados relevantes. De forma geral, as RNA são modelos computacionais cuja estrutura e funcionamento básico tem inspiração nas células neurais. Ela é formada por uma combinação de neurônios artificiais distribuídos em uma ou mais camadas e interligados através de sinapses. Nestas redes a principal característica é o grande número de elementos de processamento interligados por conexões. Os neurônios artificiais são responsáveis pelo armazenamento e o processamento das informações (Ludwig Jr, 2007). Talvez uma das definições mais aceitas seria que uma rede neural é um processador paralelamente distribuído constituído de unidades de processamento simples, que têm a propensão natural para armazenar conhecimento experimental e torná-lo disponível para o uso (Haykin, 2002). Sendo este processador paralelo e distribuído composto por um conjunto de neurônios dispostos em camadas de acordo com a arquitetura da rede, além de estarem conectados através de conexões sinápticas representadas por pesos que são uma referencia de sua importância. De forma geral, segundo Braga, Carvalho e Ludemir (2000) citado em (Karrer, 2005), as RNA são capazes de absorver dados, modificando assim seus parâmetros intrínsecos (pesos associados às conexões) e adaptando-se assim a série de elementos a ela apresentados, e que constituem situações do problema sendo tratado. Essa adaptação caracteriza sua capacidade de aprendizagem, conferindo a ela uma maior capacidade na busca de respostas para o maior número possível de situações. Além do aprendizado, é esperado que uma RNA seja capaz de dar respostas coerentes mesmo para dados não previamente apre- ISSN: Vol. X 932

13 sentados a ela durante o treinamento, característica esta a que se dá o nome de generalização. Alguns problemas são inviáveis de se resolver por algoritmos convencionais por se tratar de problemas muito complexos, este é um fator importante para a utilização de RNA, que devido a sua capacidade de generalização, são capazes de manter os resultados desejáveis, suportando ruídos e imperfeições do ambiente (Braga, 2000 citado em Karrer, 2005). Os Neurônios O cérebro humano possui aproximadamente 10 bilhões de células nervosas chamadas neurônios. Os neurônios biológicos podem diferir em tamanho e aparência, mas apresentam algumas características em comum. Eles são formados por um corpo celular, um axônio tubular, pelos dendritos e pelos terminais sinápticos. O axônio é um tubo longo e fino que se divide em ramos finos e curtos ao final e que terminam em pequenos bulbos, esses bulbos são os terminais pré-sinápticos. Os dendritos são ramificações arbóreas que formam uma malha de filamentos muito finos ao redor do neurônio. Os dendritos recebem as mensagens dos neurônios adjacentes a ele, esses impulsos são transmitidos pelo axônio através dos terminais pós-sinápticos (Atkinson, 1995; Deiters, 1893 citado em Sabbatini, 2003). A Figura 12 a seguir ilustra as partes de um neurônio biológico. A comunicação entre os neurônios é feita através das sinapses por neurotransmissores. Os estímulos recebidos por um neurônio (terminais pós-sinapticos) são conduzidos pelos dendritos ao soma, onde todos são combinados gerando então pulsos encaminhados através dos axônios até suas terminações présinapticas. Diversos mecanismos de aprendizagem (memorização) estão ligados ao neurônio, indo desde o reforço Hebbiano (estimulação ou enfraquecimento de sinapses), até alterações topológicas (árvores dendritais e terminais sinapticos). Cabe ressaltar que como os terminais sinápticos não tocam os demais neurônios (há uma pequena lacuna entre eles e o corpo celular do próximo neurônio, que é chamada de fenda sináptica) a transmissão dos sinais elétricos que se propagam pelo neurônio é substituída neste momento pela transmissão de partículas químicas (neurotransmissores) que atravessam a fenda. (Atlomspn, 1995; Cajal, 1891 citado em Sabbatini, 2003). Os neurônios artificiais seguem os princípios de neurotransmissão do cérebro. É uma analogia entre as células nervosas vivas e processamento eletrônico, tendo como foco principal o aprendizado. Assim as entradas têm a mesma função dos dendritos, a sinapse entre os neurônios naturais é simulada pelo peso que faz a conexão entre as entradas e o corpo celular artificial. Os estímulos captados pelas entradas são processados pela função Soma. A resposta a este estímulo é a função de transferência, que substitui o limiar de disparo do neurônio biológico (Tafner, 1998). O primeiro modelo de neurônio artificial foi apresentado em 1943 por Warren McCulloch e Walter Pitts (Hykin, 2002), o qual é conhecido por MCP, inicias dos nomes de seus criadores. Trata-se de um modelo computacional simples, ou seja, um dispositivo binário (Figura 13). Neste modelo, a saída pode ser pulso ou não pulso e as entradas podem ser excitatórias ou inibitórias. A comunicação entre as células é realizada através de sinais de entrada que são armazenados nos neurônios, sendo que cada sinal é multiplicado por um número, que representa o peso sináptico (w1, w2,...). Este peso influencia diretamente na memorização e pode ser estabelecido por meio de treinamento. Figura 12 - (a) Esquema de um neurônio e (b) imagem real vista de um microscópio (GUYTOHN; HALL, 2010) Figura 13 - Modelo de Neurônio Artificial (TAFNER, 1998) As entradas do neurônio são números binários e são combinadas pela soma ponderada dos sinais produzindo um nível de atividade e, uma resposta só é gerada em um neurônio se este nível de atividade ultrapassar um limite pré-determinado, ou seja, o limiar de disparo. Esta resposta ou sinal de saída se propaga pela rede. Assim sendo, os neurônios são ou não ativados dependendo da entrada e dos pesos sinápticos. Classificação das Redes Neurais Artificiais De forma geral, uma RNA possui uma camada de entrada, que é responsável pela recepção dos estímulos exteriores, uma camada de saída, responsável pela apresentação da resposta da rede, podendo haver ainda camadas intermediárias. O uso de camadas ocultas possibilita a realização de procedimentos de decisão mais complexos. Por outro lado, o aprendizado neste tipo de RNA é mais trabalhoso (Ludwig Jr, 2007; Castro, 2008). Uma RNA deve ser modelada de acordo com os problemas a serem solucionados. A decisão de como interconectar o neurônio é fator importante para o ISSN: Vol. X 933

14 sucesso do projeto de uma RNA, visto que, na grande maioria das vezes a organização é feita em camadas. Na modelagem são definidos fatores importantes como a quantidade de camadas, o número de neurônios em cada camada, o tipo de sinapse, entre outros (Ludwig Jr, 2007; Castro, 2008). As conexões entre os neurônios dependem do tipo de RNA que se pretende utilizar. Elas podem ser feitas entre neurônios da mesma camada ou entre camadas. As RNA podem ser classificadas como diretas, recorrentes ou com ciclos (Barreto, 2002). Uma RNA direta ou Feedforward possui um grafo acíclico, pois seus neurônios não recebem realimentação em suas entradas. Este tipo de rede é o mais utilizado e é considerado um aproximador universal de funções. Seu nível de decisão depende principalmente do número de neurônios, assim como da escolha do conjunto de exemplos. Por outro lado, as RNA recorrentes são aquelas que apresentam ciclos, sendo, mais indicadas para problemas dinâmicos. Nestas redes, pelo menos um neurônio fornece o seu sinal de saída para a entrada de outro neurônio, ou seja, há pelo menos um ciclo de retro-alimentação. Os modelos de RNA recorrentes de maior importância são os propostos por Hopfield e as redes bi-direcional de Kosko. Hopfield é o modelo mais conhecido de redes com ciclos ou realimentação, cujo grafo de conectividade contém, ao menos, um ciclo (Barreto, 2002). O que diferencia as RNA de outros algoritmos de processamento de informações, segundo Ludwig Jr (2007), é sua capacidade de produzir saídas adequadas para entradas que não estavam presentes durante o treinamento. As RNA podem ser projetadas de forma a modificar seu peso sináptico em tempo real, facilitando, desta forma, a representação de universos, onde as estatísticas mudam o tempo todo. Treinamento de RNA O treinamento de uma RNA é necessário para que esta tenha a capacidade de tratar as entradas a fim de chegar a soluções. Esta fase é chamada de aprendizado, o que, de forma geral, segundo Osório (1999) é a capacidade de se adaptar, modificar e melhorar seu comportamento e suas respostas, sendo, portanto uma das propriedades mais importantes dos seres ditos inteligentes, sejam eles humanos ou não. Em uma RNA o aprendizado de determinada função decorre da aplicação de um conjunto de procedimentos para adaptar seus parâmetros. Estes parâmetros são ajustados através de estímulos recebidos pela rede do ambiente no qual ela está operando. O tipo do processo de aprendizagem é definido pela forma como os ajustes são realizados nos parâmetros. Para Karrer et. al. (2005), a mudanças nos parâmetros da RNA como consequência de estímulos externos provoca também mudanças no comportamento dessa rede. A mudança gradual resulta em uma melhoria gradativa do desempenho, além de minimizar o erro do conjunto de treinamento e aproximar funções geradoras dos dados. Os erros são minimizados ajustando-se, a cada iteração, os pesos que modificam a saída. A adaptação dos parâmetros da RNA é obtida através de algoritmos de aprendizado, normalmente baseados em regras bem definidas para auxiliar na busca à solução de um determinado problema. Para isso, em um número finito de iterações do algoritmo, deve haver convergência para uma solução, a qual pode variar de acordo com o algoritmo ou o paradigma de aprendizado. Existem diversos tipos de algoritmos de aprendizado para diferentes tipos de RNA. A principal diferença entre estes algoritmos é a forma como os pesos são modificados e o modo como a RNA se relaciona com o ambiente. Um método largamente usado para o treinamento destas redes é o de propagação reversa de erro (Backpropagation), que permite o ajuste sucessivo dos pesos sinápticos em função do erro observado na saída quando esta é comparada com valores esperados. 5.5 Sistemas de Produção Os sistemas de produção correspondem a uma classe de RBS (Rule-Based Systems) que permite inserir comportamento em agentes para a obtenção de soluções de problemas (Champandard, 2003; Gutiérrez, 2008; Richt, 1993). O sistema de produção utiliza uma base de dados composta por um conjunto de informações (ou estados) e regras no contexto de um problema a ser resolvido no mundo em que se encontra o agente. As regras são representadas por expressões lógicas e utilizam pares de condição-ação que, na maioria das vezes, possuem a seguinte forma: Se <condição> Então <ação> onde se ocorrer a <condição> que representa as premissas, então deverá ocorrer a <ação> que manipula os símbolos e representa o resultado ou a consequência. O sistema de produção agrega ao modelo mais simples de um RBS, uma máquina de inferência que interage com a base de dados escolhendo qual das regras se ajusta melhor aos fatos armazenados e como executá-los, ou seja, agrega uma estratégia de controle que especifica quais regras e em que ordem são comparadas com a base de dados, oferecendo assim uma maneira de solucionar conflitos quando mais de uma regra pode ser aplicada ao mesmo tempo (Figura 14). Figura 14 Sistema de Produção (baseado em Winston (1992)) ISSN: Vol. X 934

15 5.6 Aprendizado por Reforço Um sistema típico de Aprendizado por Reforço (AR) (Reinforcement Learning) (Sutton, 1998) serve basicamente como mecanismo de apoio para o controle de um agente autônomo interagindo em um ambiente via percepção e ação, conforme Figura 15 a seguir: Figura 15 - Modelo Clássico de Aprendizagem por Reforço (Sutton; Barto, 1998) O sistema aprende a fazer um mapeamento de relações entre situações em um ambiente dinâmico e as respectivas ações do agente nele inserido. Este ambiente deve ser pelo menos parcialmente observável por meio de sensores do agente, ou estimado a partir de avalições que este possa fazer em um plano hipotético a partir daquilo que é conhecido (algo como uma simulação mental da situação analisada). O agente interage com o ambiente em uma sequência de passos (t=0,1,2,...), sendo que a cada passo t o agente recebe alguma representação do estado do ambiente através da sua percepção, denotado por s (onde S é o conjunto de estados possíveis), e seleciona uma ação, denotada por a(s t ) (onde A(s t ) é um conjunto de ações disponíveis no estado s t ). No momento seguinte, o agente recebe do ambiente uma recompensa numérica que é um reforço do tipo escalar (r t+1 ), que é resultado de toda a sequência de ações praticadas, entrando em um novo estado, s t+1. O agente procura alcançar seu objetivo atuando em um ambiente com incerteza das ações escolhidas que tem o poder de alterar o estado futuro do ambiente, afetando assim as opções e oportunidades que lhe estarão disponíveis em momentos futuros. Mas essas ações não podem ser completamente previstas, pois o agente deve monitorar continuamente o ambiente e reagir de modo adequado. As metas devem ser explícitas para que o agente possa julgar seu progresso com base no que pode perceber do ambiente por meio de sensores. Com o passar do tempo, o agente pode usar sua experiência para melhorar seu desempenho. Além do agente e do ambiente, um sistema de aprendizagem por reforço envolve mais quatro elementos: política, função de recompensa, função de valor-estado e função de valor-ação. Política: determina o modo como o agente deve se comportar em cada momento para alcançar seu objetivo. Ela mapeia os estados percebidos do ambiente para ações a serem praticadas em um valor π t (s,a). Assim, o agente modifica as probabilidades de seleção das ações como resultado de sua experiência. Função de Recompensa: a recompensa é o valor devolvido pelo ambiente (r t+1 ) ao agente depois da execução de uma ação em uma transição de estado (s t para s t+1 ). Expressa o nível de adequação da ação ao objetivo que o sistema deve alcançar. Esse método busca maximizar não apenas o reforço recebido em decorrência de uma ação, mas também aquele acumulado durante a execução total. Nos casos mais simples, a função de recompensa é representada pela eq.(2): R t = r t+1 + r t+2 + r t r t+n (2) Se a interação do agente com o ambiente não terminar em um número pré-definido de passos (k) e continuar indefinidamente devese aplicar uma taxa de desconto, γ (entre 0 e 1), a partir da qual se pode calcular o valor presente de uma recompensa futura como sendo γ k-1 vezes o valor que ela teria se fosse recebida imediatamente. Desse modo, pode-se redefinir a eq.(3) como: (3) Função valor-estado: é o mapeamento do estado em um valor que é obtido a partir do reforço atual e dos reforços futuros. Especifica o que é bom a longo prazo. Se for considerado somente o estado s, a função é denotada por V(s). De outra forma, se for considerado o par estado-ação (s,a), ela é denotada por Q(s,a). Os reforços futuros mantêm dependência das ações futuras dependendo também da política π que o algoritmo de aprendizado por reforço segue. Em um processo de decisão markoviano é definido pela função-estado Q π (s,a) dependente da política π como a equação que pode ser definida pela eq.(4) e eq.(5): Q π (s,a) = E π {R t s t = s, a t = a} (4) Q π (s,a) = E π { s t =s,a t =a} (5) Onde a função Q π (s) é o valor esperado do retorno para o estado s t e ação a t. Isto é, o somatório dos reforços aplicados a taxa de amortização γ. 5.7 Método de Monte Carlo O Método de Monte Carlo (MMC) é um método estatístico utilizado como apoio em simulações para retornar valores em uma taxa proporcional a sua ocorrência no ambiente simulado, servindo assim para obter aproximações numéricas de funções de distribuição de probabilidades. Ele pode ser utilizado para analisar uma decisão envolvendo riscos, ou seja, em situações nas quais há incerteza no valor esperado. Ele utiliza a geração de números pseudoaleatórios para atribuir valores as variáveis que se deseja investigar. Segundo Hammersley e Handscomb (1964), o MMC é classificado como parte da matemática experimental que está preocupada em experiências com números aleatórios. ISSN: Vol. X 935

16 5.8 Método Bayesiano O método bayesiano é uma das tentativas de modelar de forma matemática a inferência estatística que descreve como algum conhecimento a priori pode impactar na determinação da expectativa sobre algo que ocorre a posteriori. Ele computa incertezas probabilísticas, estabelecendo em linhas gerais uma dependência probabilística entre dois eventos, um a priori e outro a posteriori. As incertezas são modificadas periodicamente, após cada observação de novos dados ou resultados, com o que o processo se atualiza constantemente a base dos novos conhecimentos (observações feitas) (Russel, 2004). Esse método é representado pela eq.(6): P(A B) = P(B A). P(A) / P(B) (6) Onde: P(A) e P(B) são as probabilidades a priori de A e B e; P(B A) e P(A B) são as probabilidades a posteriori respectivamente de B condicionada a A e de A condicionada a B. A regra de Bayes mostra como alterações nas probabilidades a priori (tendo em conta novas evidências) contribuem para rever as estimativas das probabilidades a posteriori. Isso permite que decisões em ambientes onde haja incertezas possam ser tomadas com um maior respaldo naquilo que é conhecido. 6 Exemplos de Aplicações em Vida Artificial O grupo Cognitio da Escola Politécnica da USP tem trabalhado muitas das questões abordadas neste artigo, tendo como foco principal de pesquisa tanto a ciência cognitiva (simulações de sistemas cognitivos) como a vida artificial e a computação evolucionaria. Os simuladores construídos para tratar destas questões fazem normalmente uso de técnicas de computação gráfica e de realidade virtual para representação visual dos ambientes e personagens, possibilitando boas formas de compreensão do que ocorre. (Netto, 2007). A seguir serão apresentados alguns trabalhos desenvolvidos no grupo. 6.1 Projeto WOXBOT Esse projeto (Miranda, 2001) (Netto, 2007) tratou da simulação da evolução genética que permite um ajuste progressivo de personagens ao seu habitat. Observa-se aqui como seres de uma população, ao longo de gerações se adéquam para melhor sobreviver no seu habitat. A adaptação aqui proposta é a de uma máquina de estados controladora do comportamento destes personagens. Trata, portanto da filogênese, ou seja, da formação ou desenvolvimento da espécie, na medida em que a adaptação é observada ao longo de gerações, ou seja, na espécie como um todo e não apenas em um de seus particulares indivíduos. Do ponto de vista de escala de evolução podemos descrever este projeto como sendo um simulador de organismos vivos primitivos, pois não há aprendizado individual, mas apenas coletivo (espécie). Mas este projeto estabelece bases interessantes para tratar da questão da evolução por ilustrar um aspecto fundamental de como ela pode se manifestar para desenvolver a vida. Naturalmente organismos mais complexos da escala animal também integram este grupo, possuindo sistemas muito mais sofisticados e em número muito maior, com o que se pode consequentemente observar diferentes especializações e propósitos (diferentes sistemas orgânicos). O personagem foi dotado de um sistema sensorial emulando a visão e de um sistema motor que permitisse seu deslocamento em uma arena. O propósito intrínseco deste personagem era o de ir ao encontro de pirâmides amarelas (simbolizando fontes de energia) evitando o choque contra cubos vermelhos (representando sorvedouros de energia). Os personagens são criados com uma quantidade inicial de energia, e permanecem vivos enquanto esta energia não se esgotar. A movimentação é controlada por um elemento de tomada de decisão, simulando uma mente virtual destes personagens. Tal mente deve ir se aperfeiçoando ao longo de gerações de modo a vir a atender ao propósito esperado, sem que se estabeleça de forma prévia como vá fazer para atender a tal anseio intrínseco. O modelo proposto e usado para implantar tal mente foi o de uma MEF, controlada por dados provenientes do subsistema de visão, e cujas ações eram comandos para o subsistema motor. A MEF inicialmente atribuída a um personagem era qualquer uma dentre as possíveis máquinas representáveis com certo número de estados e transições entre os mesmos. O personagem colocado na arena era avaliado ao final de um período, observando-se a energia por ele acumulada, com o que eram classificados entre melhores e piores. Tais personagens correspondiam a uma geração, ao final da qual seriam criados novos personagens para substituí-los numa próxima geração, em um procedimento sucessivo em busca de personagens bem adequados ao propósito estabelecido sobreviver o maior tempo possível. Os personagens eram então escolhidos para um processo de reprodução que privilegiava aqueles melhores adaptados de certa geração, de modo que embora qualquer personagem pudesse ser selecionado para gerar descendentes, aqueles com maior pontuação teriam maior probabilidade de serem os eleitos. O MMC foi usado para implantar tal conceito. Pode-se avaliar que é possível construir personagens que evoluem e fazem aquilo que deles se espera. A Figura 16 mostra sua interface gráfica. Figura 16 - Estudo de Estratégias Evolucionárias no Comportamento de Robôs ISSN: Vol. X 936

17 6.2 Projeto ALGA Esse projeto envolvia um aquário como ambiente virtual e peixes que eram seus personagens (Figura 17) (Netto, 2007). Ele tratava da simulação do aprendizado, observando o indivíduo em particular. Neste caso foi proposto que o personagem seria capaz de tomar decisões usando para tal um raciocínio simulado, baseado na capacidade deste indivíduo de observar fatos e dar a eles diferentes graus de importância, para poder então tomar suas decisões. O caráter linguístico desta proposta estava evidenciado tanto na representação do conhecimento que detinha do mundo, como também na capacidade de trocar este mesmo conhecimento com outros personagens através de um mecanismo de comunicação entre personagens, simulando o processo de fala e audição, acompanhados de suas respectivas interpretações. O estudo trata, portanto da ontogênese, ou de uma de suas manifestações a do desenvolvimento do indivíduo em decorrência da sua capacidade de aprendizado. Do ponto de vista da escala de desenvolvimento animal, esta simulação pode ser classificada como sendo aplicável a seres de uma complexidade intermediária, pois já possuem um aparato mental que lhes confere a capacidade de serem treinados individualmente para terem certos posicionamentos em determinadas situações. Mas este treinamento vai além daqueles de caráter puramente repetitivo (treinamento motor), e passa a explorar uma mínima capacidade de raciocínio. O personagem pode observar fatos, e avaliá-los com base naquilo que sabe a respeito dos mesmos. E tal conhecimento é adquirido por um comportamento social no qual, os personagens ao serem colocados em contato uns com outros podem ensinar e aprender. O mais experiente passa para o outro alguns de seus conhecimentos. Considera-se aqui conhecimento como a identificação de uma situação com a ação mais adequada para ser executada. Este projeto também possibilita a visualização na Caverna Digital da Escola Politécnica (Figura 18), possibilitando a imersão em um ambiente virtual. Figura 17 Interface do Simulador (registro da evolução do aprendizado) Figura 18 - Estudo de Linguagem dando Suporte ao Aprendizado 6.3 Projeto ALIVE O projeto ALIVE (Neves, 2003) (Netto, 2007), é um estudo sobre laboratórios virtuais para simulação de VA, onde se demonstra que ferramentas de apoio integradas a um framework adequado permitem a rápida prototipação de experimentos em VA (Figuras 19 e 20). Neste sentido iniciou com o propósito de desenvolver um ambiente extensível e aberto para incorporação de novas funcionalidades na medida em que se fizessem necessárias para determinados experimentos. A idéia era fornecer um ambiente para que cientistas de outras áreas como biólogos e ecologistas pudessem avaliar certos conceitos e, portanto não deveria exigir destes cientistas conhecimentos mais profundos de computação. O intuito foi fazer com que estes cientistas pudessem se concentrar na especificação de certas funções que quisessem analisar, e dispor de um ambiente de simulação e apresentação gráfica para observar os resultados. Desta forma, e em consonância com as demais atividades do grupo, foi escolhida a linguagem JAVA para a programação e sua interface gráfica JAVA 3D para a representação da cena e de seus personagens. Com isto é possível realizar as simulações em um navegador ( browser ) na internet ampliando o escopo de uso desta ferramenta. Sobre o JAVA 3D foram criados um ambiente virtual genérico que pode ser refinado de acordo com as necessidades do experimento, e que conta com atributos para representar objetos físicos em um mundo virtual, e com isto simular leis físicas a que estes objetos estejam sujeitos, como gravidade ou colisão entre eles. Portanto é possível com esta plataforma fazer diversos estudos comportamentais dependendo de quais atributos sejam integrados aos personagens, bem como de quais métodos sejam implantados para tratar destes mesmos atributos. Um exemplo simulava o comportamento de seres unicelulares, onde importava a sua adequação às condições ambientais representadas por diferentes concentrações de substâncias e pela disponibilidade de luzes em determinados comprimentos de onda aos quais eram mais sensíveis. Pode-se observar a evolução genética da espécie que tentava sempre se adequar ao ambiente, mesmo que este sofresse modificações. Assim por exemplo, em um dos casos começando com luz azul, sobreviviam dentre os personagens iniciais quase que somente aqueles sensíveis a este comprimento de onda, mas ao se mudar a radiação eletromagnética para vermelho, a evolução genética permitia que a população também mudasse, ISSN: Vol. X 937

18 acompanhando as condições do ambiente em que viviam. Outro experimento tratou da capacidade dos seres de se reunirem em colônias para juntos se comportarem como um ser mais forte e mais bem adaptado ao ambiente. Neste caso também pode-se observar a formação de tais colônias, e como a dinâmica do ambiente se refletia sobre as mesmas, que podiam se reconfigurar em função das necessidades, se tornando maiores ou menores. Foi ainda observada em todas as simulações a capacidade de sustentação do ecossistema, ou seja, a longevidade das populações. Em muitos casos depois de atingir um equilíbrio com um número máximo de seres elas começavam a desaparecer até a total extinção da espécie, o que sem dúvida pode ser de interesse para ecologistas verificarem o equilíbrio de ecossistemas e as condições que os mantêm vivos ou que os levam a uma progressiva degradação culminando com sua extinção. Por fim foi também realizada uma versão para RV, que pode ser executada na Caverna Digital da Escola Politécnica, com o que os cientistas ganham um maior envolvimento com o experimento, passando a participar do mesmo, por ficarem imersos no mundo virtual. Figura 19 Uma possível função vital implementada com RNA. Exemplos de sistema presa-predador e desenvolvimento de colônias 6.4 Projeto V1V0 O projeto V1V0 (Figura 21) foi concebido para permitir a simulação de personagens humanos virtuais, com particular destaque para a questão do convencimento, ou seja, da influência que a opinião de um personagem tem sobre a de outro (Netto, 2007). Neste sentido o objetivo foi, quando comparado a outros trabalhos do grupo, de tratar questões cuja escala de tempo é bastante pequena. Cabe lembrar que um primeiro trabalho focou a evolução das espécies (genética) e outro a capacidade de aprendizado do indivíduo. Neste trabalho o foco está em convencer alguém a respeito de alguma coisa, fato cuja duração fica restrita a um ou poucos encontros. Além disto, é algo que ocorre apenas com os seres mais desenvolvidos da escala animal, em particular com os seres humanos. Por esta razão os personagens escolhidos foram os humanos virtuais. O projeto iniciou-se com a definição de um grupo social, cujas relações demandavam convencimentos mútuos. No entanto uma primeira questão tinha que ser resolvida a de como identificar o interlocutor para saber então qual postura ter na relação, objetivando o sucesso no processo de convencimento. Saber a priori a identidade de cada personagem tornava o problema menos interessante, pois então não haveria dúvida na postura a ser adotada. Por outro lado, desconhecer totalmente este fato também criava dificuldades. Assim optou-se por fazer uso de um estereótipo, que sugeria qual o papel do personagem na comunidade, mas deixando espaço para alguma dúvida ou incerteza. A partir de então o projeto tomou outro rumo, o do uso de raciocínio probabilístico para dar subsídios para a consequente arguição em prol do convencimento. E para tal foram usados modelos Bayesianos. Figura 21 - Avaliação de Cenários Figura 20 Exemplos de comportamento emergentes (cardume de peixes e bando de pássaros) 6.5 Projeto OSACS Paiva (2011) desenvolveu um modelo para analisar aspectos cognitivos como comunicação e aprendizado. O objetivo foi reproduzir alguns aspectos do comportamento humano em situações como a disseminação de informações através de meios de comunicação em massa (rede social), considerando cenários de propaganda, jornalismo e publicidade. Os ISSN: Vol. X 938

19 agentes recebem as informações e após um mecanismo de avaliação interna, decidem o que assimilar e o que transmitir utilizando uma MEF emocional. Eles recebem informações publicadas em meios de comunicação em massa, conversam com outros agentes e tomam decisões considerando não apenas funções probabilísticas, mas também a influência do ambiente e da sociedade na qual estão inseridos. De fato isto foi feito atribuindo níveis de interesse e importância (ou impacto) para as informações, seja de forma geral, seja respeitando os perfis dos agentes (ex: interesse maior por esporte e menor por política). Foi então possível verificar que os agentes com seus interesses, perfis e personalidades atuam na disseminação da informação e como são por elas moldados, face às suas diferentes experiências. Além disto, as funções e a ponderação que os agentes consideram para avaliar o que assimilam e sobre o que vão falar dependem do histórico pessoal, assim como o número de amigos que possuem e o peso que dão a cada um deles. Foi possível visualizar a evolução do conhecimento dos agentes e a dinâmica do fluxo de informação que acontece na sociedade, além do número total de agentes que conhece cada um dos assuntos (representados pelas cores) (Figura 22). Com esta avaliação pode-se, por exemplo, mostrar quais itens são mais comprados em função das diferentes estratégias de divulgação que podem ser adotadas em um plano de marketing, ou quais os meios mais eficientes para disseminação de notícias, considerando diferentes ferramentas como TV, web, SMS, em outras (todas naturalmente simuladas no contexto desta aplicação). Figura 22 - Interface da simulação com 10 agentes 6.6 Projeto SOCIAIS Esse projeto se propõe a estudar sociedades virtuais, procurando entender como se formam grupos sociais e como seus personagens interagem. Trata-se da combinação das áreas de sistemas multi-agentes, vida artificial e computação cognitiva, onde os agentes são concebidos com capacidades de comunicação e tomada de decisão, e o que se observa é a dinâmica do seu comportamento social. A finalidade é observar o comportamento coletivo de uma sociedade em diferentes cenários, e de avaliar o resultado decorrente das interações entre os mesmos conforme suas variadas características. Desta forma, trata-se da construção de um ambiente de simulação social simples habitado por agentes autônomos que possuem capacidade cognitiva permitindo a percepção do ambiente, a tomada de decisões, o diálogo com os outros participantes, o compartilhamento ou a competição por recursos, em função do que foi aprendido por meio da observação e experimentação. O objetivo central é entender as influências mútuas a que estão sujeitos os agentes nestas comunidades, quando aqueles de uma comunidade interagem com os de outras comunidades em um processo de miscigenação cultural (Figura 23). Figura 23 - Representação da mudança de participantes entre os grupos. 6.7 Projeto NEUROROBOTS Esse projeto (Netto, 2007) trata de neuro-evolução, ou seja, de mecanismos evolutivos aplicados a redes neurais com o intuito de criar sistemas bem adequados ao seu propósito. Nestes casos tais sistemas normalmente integram controladores de personagens virtuais ou mesmo posteriormente de seus equivalentes reais robôs cujo projeto e desenvolvimento faz uso de técnicas desta natureza. O objetivo neste caso é combinar procedimentos de aprendizado com outros de evolução, para que redes neurais possam ser ajustadas da melhor maneira ao seu propósito. Estas técnicas são particularmente recomendáveis para configurar redes neurais em situações em que não se conhece bem a priori as condições em que elas irão operar, e quando procedimentos de aprendizado clássicos não apresentam bom desempenho. Cabe ressaltar que o mecanismo de adaptação proposto é não apenas o clássico ajuste de pesos sinápticos, mas sim a combinação destes com sucessivas reconfigurações topológicas da rede à procura de uma rede que desempenhe bem aquilo que dela se espera. Como estudos de casos para avaliação foram usados: a) melhoria de sistemas de detecção / decisão ISSN: Vol. X 939

20 para procura de alimentos em agentes virtuais habitando um cenário onde alimentos estão espalhados de forma desconhecida a priori pelos agentes; b) controle do pendulo invertido, um problema de física que pode ser resolvido com um controlador adaptativo, e que neste caso foi construído a partir da técnica proposta. 6.8 Projeto MASTER-MIND Esse projeto (Netto, 2007) avaliou o processo cognitivo envolvido no aprendizado. O objetivo foi entender como ocorre o aprendizado, particularmente nas situações em que ele decorre de uma observação de procedimentos realizados por terceiros. Nestes casos o aprendiz tenta então inferir regras para que possa repetir tais procedimentos em situações análogas. Este projeto se propôs a oferecer um suporte computacional para acompanhamento deste processo, de modo que agentes virtuais, observando os humanos, pudessem criar modelos funcionalmente equivalentes àqueles desenvolvidos pelo humano durante sua aprendizagem. Com isto, na medida em que tais agentes também desenvolvem um método de aprendizagem, pode-se estudá-los e assim propor estratégias corretivas ou de apoio para melhorar o aprendizado do aluno, que serviu de base para o agente virtual. Como plataforma para ensaio foi usado o jogo Master Mind (Figura 24). Figura 24 Interface do jogo MasterMind 6.9 Projeto GENPOLIS Este projeto trata de simulação de transito em áreas metropolitanas e tem por objetivo propor e avaliar mecanismos de auxilio para cálculo da temporização de semáforos. Dada a complexidade de uma rede altamente interligada como as vias urbanas, o uso de computação evolucionária se mostra uma alternativa atraente para tentar resolver este problema. Neste sentido foram usados AG para encontrar parâmetros ótimos de temporização para controle dos semáforos (tempo de ciclo, proporção entre verde e vermelho, e atraso) para uma determinada situação (região da malha urbana em um cenário típico de ocupação). Cada valor atribuído ao conjunto de parâmetros é considerado como um individuo, e as sucessivas gerações das populações do AG permite uma procura eficiente por indivíduos que representem boas soluções para este problema, ou seja, temporizações adequadas para minimizar os congestionamentos e aumentar a velocidade média de deslocamento dos veículos na região considerada. A Figura 25 a seguir apresenta a interface do simulador GenPolis. Figura 25 Interface do Simulador GenPolis 7 Considerações Finais Este artigo apresentou conceitos de VA e discorreu sobre modelos e métodos adequados para realizar a simulação de algumas das características dos sistemas que tem propriedades que os aproximem daquilo que reconhecemos como vida. Dada a complexidade destes fenômenos há uma necessidade de se poder ter representações gráficas para apresentar tais simulações, e neste contexto a RV pode contribuir muito para a realização de experimentos interessantes. Este artigo teve como propósito discorrer de forma genérica sobre VA, mas tratando de alguns dos seus principais aspectos, seja do ponto de vista conceitual, seja do ponto de vista prático para a construção de ferramentas adequadas para implantação de simuladores de VA. Este artigo teve também por propósito apresentar tais ferramentas que podem ser usadas em diversas aplicações, sobretudo naquelas em que aspectos de adaptação e inteligência sejam abordados. Agradecimentos Agradecemos à Continental A.G. e ao CNPq pelas bolsas de doutorado concedidas a Luciene Cristina Alves Rinaldi. Agradecemos ainda a todos os alunos e membros do Cognitio que participaram dos trabalhos aqui mencionados. ISSN: Vol. X 940

VIDA ARTIFICIAL: CONCEITOS E APLICAÇÕES

VIDA ARTIFICIAL: CONCEITOS E APLICAÇÕES VIDA ARTIFICIAL: CONCEITOS E APLICAÇÕES MARCIO LOBO NETTO, LUCIENE CRISTINA ALVES RINALDI Escola Politécnica da Universidade de São Paulo Departamento de Engenharia de Sistemas Eletrônicos Av. Prof. Luciano

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 04 Algoritmos Genéticos Introdução Algoritmos genéticos são bons para abordar espaços de buscas muito grandes e navegálos

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos UNIVERSIDADE PRESBITERIANA MACKENZIE Laboratório de Computação Natural LCoN I ESCOLA DE COMPUTAÇÃO NATURAL Algoritmos Genéticos Rafael Xavier e Willyan Abilhoa Outubro/2012 www.computacaonatural.com.br

Leia mais

3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS

3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS 3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS 3.1 - Conceitos Básicos Entendemos como algoritmo um conjunto predeterminado e bem definido de regras

Leia mais

Evolução Biológica e Algoritmos Genéticos. Fábio Lima Custódio flc@lncc.br

Evolução Biológica e Algoritmos Genéticos. Fábio Lima Custódio flc@lncc.br Evolução Biológica e Algoritmos Genéticos Fábio Lima Custódio flc@lncc.br Sumário Conceitos gerais O que é evolução? Forças Evolutivas Mutação Deriva Gênica Fluxo gênico Seleção Natural A teoria evolutiva

Leia mais

Complemento IV Introdução aos Algoritmos Genéticos

Complemento IV Introdução aos Algoritmos Genéticos Complemento IV Introdução aos Algoritmos Genéticos Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações e

Leia mais

SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos

SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos Fredson Vieira Costa 1, Fábio Silveira Vidal 1, Claudomiro Moura Gomes André 1 1 Curso de Bacharelado em Ciência da Computação

Leia mais

- Computação Evolutiva -

- Computação Evolutiva - - Computação Evolutiva - Prof. Dr. Cícero Garrozi DEINFO - UFRPE PPGIA@UFRPE cicerog@gmail.com Site da disciplina: http://cicerog.blogspot.com Sumário Situando a Computação Evolucionária Metáfora principal

Leia mais

Computação BioInspirada

Computação BioInspirada Computação BioInspirada Os Engenheiros da Natureza Fabrício Olivetti de França The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore

Leia mais

DESENVOLVIMENTO DE SISTEMA DE VIDA ARTIFICIAL BASEADO EM AGENTES DE COMPORTAMENTOS COMPLEXOS

DESENVOLVIMENTO DE SISTEMA DE VIDA ARTIFICIAL BASEADO EM AGENTES DE COMPORTAMENTOS COMPLEXOS DESENVOLVIMENTO DE SISTEMA DE VIDA ARTIFICIAL BASEADO EM AGENTES DE COMPORTAMENTOS COMPLEXOS RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA (PIBIC/CNPq/INPE) Juliana Martins Maia Pereira (UNIVAP, Bolsista

Leia mais

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA 136 ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA FILITTO, Danilo 1 Resumo: Os algoritmos Genéticos inspiram-se no processo de evolução natural e são utilizados para resolver problemas de busca e otimização

Leia mais

Pós-Graduação em Engenharia Elétrica Inteligência Artificial

Pós-Graduação em Engenharia Elétrica Inteligência Artificial Pós-Graduação em Engenharia Elétrica Inteligência Artificial João Marques Salomão Rodrigo Varejão Andreão Inteligência Artificial Definição (Fonte: AAAI ): "the scientific understanding of the mechanisms

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas Departamento de Ciências

Leia mais

O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são

O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são Atividade extra Fascículo 2 Biologia Unidade 4 Questão 1 O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são chamados de genes. Assinale abaixo quais

Leia mais

Evolução via Selecção Natural (Darwin) - sobrevivem os mais aptos (fittest )

Evolução via Selecção Natural (Darwin) - sobrevivem os mais aptos (fittest ) Generalidades A metáfora Biológica Evolução via Selecção Natural (Darwin) - sobrevivem os mais aptos (fittest ) Operadores Genéticos (Mendel) - recombinação (crossover ) - mutação (mutation ) Algoritmos

Leia mais

Revisão Inteligência Artificial ENADE. Prof a Fabiana Lorenzi Outubro/2011

Revisão Inteligência Artificial ENADE. Prof a Fabiana Lorenzi Outubro/2011 Revisão Inteligência Artificial ENADE Prof a Fabiana Lorenzi Outubro/2011 Representação conhecimento É uma forma sistemática de estruturar e codificar o que se sabe sobre uma determinada aplicação (Rezende,

Leia mais

Atividade extra. Questão 1. Questão 2. Ciências da Natureza e suas Tecnologias Biologia. A diversidade biológica é o fruto da variação genética.

Atividade extra. Questão 1. Questão 2. Ciências da Natureza e suas Tecnologias Biologia. A diversidade biológica é o fruto da variação genética. Atividade extra Questão 1 A diversidade biológica é o fruto da variação genética. Falar em biodiversidade e em tempo significa, necessariamente, falar de: a. Degeneração. b. Conservação. c. Evolução. d.

Leia mais

UNIVERSIDADE ESTADUAL DE CAMPINAS UNICAMP FACULDADE DE TECNOLOGIA FT PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA

UNIVERSIDADE ESTADUAL DE CAMPINAS UNICAMP FACULDADE DE TECNOLOGIA FT PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA UNIVERSIDADE ESTADUAL DE CAMPINAS UNICAMP FACULDADE DE TECNOLOGIA FT PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA Projeto Gene: Ambiente de Apoio à Aprendizagem de Genética Baseado em Tamagotchi

Leia mais

SISTEMAS INTELIGENTES DE APOIO À DECISÃO

SISTEMAS INTELIGENTES DE APOIO À DECISÃO SISTEMAS INTELIGENTES DE APOIO À DECISÃO As organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus trabalhadores do conhecimento com ferramentas

Leia mais

Complemento II Noções Introdutória em Redes Neurais

Complemento II Noções Introdutória em Redes Neurais Complemento II Noções Introdutória em Redes Neurais Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial As organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus trabalhadores do conhecimento com ferramentas e técnicas

Leia mais

Conceitos Básicos de Algoritmos Genéticos: Teoria e Prática

Conceitos Básicos de Algoritmos Genéticos: Teoria e Prática Conceitos Básicos de Algoritmos Genéticos: Teoria e Prática Thatiane de Oliveira Rosa 1, Hellen Souza Luz 2 1 Curso de Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Caixa

Leia mais

Sistemas Auto-organizáveis BC0005

Sistemas Auto-organizáveis BC0005 Aplicações Sistemas Auto-organizáveis BC0005 Bases Computacionais da Ciência Modelagem e simulação Solução de problemas reais por modelos computacionais (visto na aula anterior) Sistemas auto-organizáveis

Leia mais

TEORIA DOS SISTEMAS EM ADMINISTRAÇÃO

TEORIA DOS SISTEMAS EM ADMINISTRAÇÃO TEORIA DOS SISTEMAS EM ADMINISTRAÇÃO. ORIGENS DA TEORIA DOS SISTEMAS EM ADMINISTRAÇÃO A Teoria dos Sistemas foi introduzida na Administração, a partir da década de 1960, tornando-se parte integrante da

Leia mais

IC Inteligência Computacional Redes Neurais. Redes Neurais

IC Inteligência Computacional Redes Neurais. Redes Neurais Universidade Federal do Rio de Janeiro PÓS-GRADUAÇÃO / 2008-2 IC Inteligência Computacional Redes Neurais www.labic.nce.ufrj.br Antonio G. Thomé thome@nce.ufrj.br Redes Neurais São modelos computacionais

Leia mais

2 Método sísmico na exploração de petróleo

2 Método sísmico na exploração de petróleo 16 2 Método sísmico na exploração de petróleo O método sísmico, ou sísmica de exploração de hidrocarbonetos visa modelar as condições de formação e acumulação de hidrocarbonetos na região de estudo. O

Leia mais

Módulo 6: Inteligência Artificial

Módulo 6: Inteligência Artificial Módulo 6: Inteligência Artificial Assuntos: 6.1. Aplicações da IA 6.2. Sistemas Especialistas 6.1. Aplicações da Inteligência Artificial As organizações estão ampliando significativamente suas tentativas

Leia mais

TEORIA GERAL DOS SISTEMAS

TEORIA GERAL DOS SISTEMAS TEORIA GERAL DOS SISTEMAS 2 HISTÓRICO Gottfried Leibniz (1646-1716) chamava de Sistema: Repertório de conhecimentos que não se limitasse a ser um simples inventário, mas que contivesse suas razões ou provas

Leia mais

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 60 h 1º Evolução histórica dos computadores. Aspectos de hardware: conceitos básicos de CPU, memórias,

Leia mais

Pesquisa Operacional

Pesquisa Operacional GOVERNO DO ESTADO DO PARÁ UNIVERSIDADE DO ESTADO DO PARÁ CENTRO DE CIÊNCIAS NATURAIS E TECNOLOGIA DEPARTAMENTO DE ENGENHARIA Pesquisa Operacional Tópico 4 Simulação Rosana Cavalcante de Oliveira, Msc rosanacavalcante@gmail.com

Leia mais

Otimização de Recuperação de Informação usando Algoritmos Genéticos

Otimização de Recuperação de Informação usando Algoritmos Genéticos Otimização de Recuperação de Informação usando Algoritmos Genéticos Neide de Oliveira Gomes, M. Sc., nog@inpi.gov.br Prof. Marco Aurélio C. Pacheco, PhD Programa de Doutorado na área de Métodos de Apoio

Leia mais

ALGORITMO HÍBRIDO PARA SISTEMAS DE RECOMENDAÇÃO UTILIZANDO FILTRAGEM COLABORATIVA E ALGORITMO GENÉTICO

ALGORITMO HÍBRIDO PARA SISTEMAS DE RECOMENDAÇÃO UTILIZANDO FILTRAGEM COLABORATIVA E ALGORITMO GENÉTICO ALGORITMO HÍBRIDO PARA SISTEMAS DE RECOMENDAÇÃO UTILIZANDO FILTRAGEM COLABORATIVA E ALGORITMO GENÉTICO Renan de Oliveira Yamaguti Faculdade de Engenharia de Computação / CEATEC renan.yamaguti@terra.com.br

Leia mais

das espécies Chegamos à aula 50! Durante as aulas do Os trabalhos de Charles Darwin

das espécies Chegamos à aula 50! Durante as aulas do Os trabalhos de Charles Darwin A evolução das espécies A UU L AL A Chegamos à aula! Durante as aulas do telecurso, você viu vários temas relacionados com a Biologia: genética, botânica, zoologia, fisiologia, ecologia entre outros. Finalizaremos

Leia mais

Modelagem de Campos Vetoriais Utilizando Autômatos Celulares e Elementos Finitos

Modelagem de Campos Vetoriais Utilizando Autômatos Celulares e Elementos Finitos Modelagem de Campos Vetoriais Utilizando Autômatos Celulares e Elementos Finitos Renata Vieira Palazzo 1,2, Antônio Carlos da Rocha Costa 1, Graçaliz Pereira Dimuro 1 1 Escola de Informática Universidade

Leia mais

3 Métodos de Otimização

3 Métodos de Otimização 3 Métodos de Otimização 3.1. Introdução Os problemas de otimização são problemas de maximização ou minimização de função de uma ou mais variáveis num determinado domínio, sendo que, geralmente, existe

Leia mais

Sistemas Multi-Agentes Inteligentes & Personalização da Informação

Sistemas Multi-Agentes Inteligentes & Personalização da Informação Sistemas Multi-Agentes Inteligentes & Personalização da Informação Prof. Dr. Marcio Lobo Netto Engenharia de Sistemas Eletrônicos Escola Politécnica da USP lobonett@lsi.usp.br http://www.lsi.usp.br/~lobonett

Leia mais

Universidade Federal de São Paulo Campus São José dos Campos LISTA DE DISCIPLINAS DA GRADUAÇÃO

Universidade Federal de São Paulo Campus São José dos Campos LISTA DE DISCIPLINAS DA GRADUAÇÃO A B C Álgebra Linear Álgebra Linear Computacional Álgebra Linear II Algoritmos e Estrutura de Dados I Algoritmos e Estrutura de Dados II Algoritmos em Bioinformática Alteridade e Diversidade no Brasil

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS 6ª Série Teoria da Computação Ciência da Computação A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem desenvolvido por meio de um conjunto

Leia mais

Turma 1222 Unidade Curricular INTERFACE HOMEM-COMPUTADOR Professor CLÁUDIA SANTOS FERNANDES Aula 4 Abordagens Teóricas em IHC

Turma 1222 Unidade Curricular INTERFACE HOMEM-COMPUTADOR Professor CLÁUDIA SANTOS FERNANDES Aula 4 Abordagens Teóricas em IHC Turma 1222 Unidade Curricular INTERFACE HOMEM-COMPUTADOR Professor CLÁUDIA SANTOS FERNANDES Aula 4 Abordagens Teóricas em IHC Introdução -Apesar de IHC ser uma área bastante prática, muitos métodos, modelos

Leia mais

SELEÇÃO DE SITES, SOFTWARES E JOGOS DE MATEMÁTICA A PARTIR DA TEORIA CONSTRUTIVISTA

SELEÇÃO DE SITES, SOFTWARES E JOGOS DE MATEMÁTICA A PARTIR DA TEORIA CONSTRUTIVISTA SELEÇÃO DE SITES, SOFTWARES E JOGOS DE MATEMÁTICA A PARTIR DA TEORIA CONSTRUTIVISTA Andrea Polena Universidade Federal do Paraná - UFPR andrea.ufpr@yahoo.com.br Tania T. Bruns Zimer Universidade Federal

Leia mais

O que é a ciência de dados (data science). Discussão do conceito. Luís Borges Gouveia Universidade Fernando Pessoa Versão 1.

O que é a ciência de dados (data science). Discussão do conceito. Luís Borges Gouveia Universidade Fernando Pessoa Versão 1. O que é a ciência de dados (data science). Discussão do conceito Luís Borges Gouveia Universidade Fernando Pessoa Versão 1.3, Outubro, 2015 Nota prévia Esta apresentação tem por objetivo, proporcionar

Leia mais

Simulação Computacional de Sistemas, ou simplesmente Simulação

Simulação Computacional de Sistemas, ou simplesmente Simulação Simulação Computacional de Sistemas, ou simplesmente Simulação Utilização de métodos matemáticos & estatísticos em programas computacionais visando imitar o comportamento de algum processo do mundo real.

Leia mais

A Computação e as Classificações da Ciência

A Computação e as Classificações da Ciência A Computação e as Classificações da Ciência Ricardo de Almeida Falbo Metodologia de Pesquisa Departamento de Informática Universidade Federal do Espírito Santo Agenda Classificações da Ciência A Computação

Leia mais

Algoritmos Genéticos (GA s)

Algoritmos Genéticos (GA s) Algoritmos Genéticos (GA s) 1 Algoritmos Genéticos (GA s) Dado um processo ou método de codificar soluções de um problema na forma de cromossomas e dada uma função de desempenho que nos dá um valor de

Leia mais

Guia de livros didáticos PNLD 2012

Guia de livros didáticos PNLD 2012 Guia de livros didáticos PNLD 2012 Veja nas páginas a seguir um excerto do documento publicado pela FNDE contendo uma resenha da coleção Quanta Física recentemente aprovada como uma das obras didáticas

Leia mais

COMPUTAÇÃO GRÁFICA O QUE É?

COMPUTAÇÃO GRÁFICA O QUE É? COMPUTAÇÃO GRÁFICA O QUE É? Curso: Tecnológico em Análise e Desenvolvimento de Sistemas Disciplina: COMPUTAÇÃO GRÁFICA 4º Semestre Prof. AFONSO MADEIRA SUMÁRIO O que é COMPUTAÇÃO GRÁFICA Áreas relacionadas

Leia mais

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Processamento de Imagem Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Visão Computacional Não existe um consenso entre os autores sobre o correto escopo do processamento de imagens, a

Leia mais

BC-0005 Bases Computacionais da Ciência. Modelagem e simulação

BC-0005 Bases Computacionais da Ciência. Modelagem e simulação BC-0005 Bases Computacionais da Ciência Aula 8 Modelagem e simulação Santo André, julho de 2010 Roteiro da Aula Modelagem O que é um modelo? Tipos de modelos Simulação O que é? Como pode ser feita? Exercício:

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

4 Conversor EDTV Raw. 4.1 Arquitetura

4 Conversor EDTV Raw. 4.1 Arquitetura 4 Conversor EDTV Raw O conversor EDTV Raw é o programa que lê um documento escrito no perfil NCL EDTV e gera um documento Raw equivalente, i.e. que define a mesma apresentação. Este capítulo, apresenta

Leia mais

Modelagem de informações de. construçãocapítulo1: Capítulo. Objetivo do capítulo

Modelagem de informações de. construçãocapítulo1: Capítulo. Objetivo do capítulo construçãocapítulo1: Capítulo 1 Modelagem de informações de A modelagem de informações de construção (BIM) é um fluxo de trabalho integrado baseado em informações coordenadas e confiáveis sobre um empreendimento,

Leia mais

Na resolução de um problema por meio de um programa, a primeira providência é conceber um algoritmo adequado.

Na resolução de um problema por meio de um programa, a primeira providência é conceber um algoritmo adequado. Estrutura de Dados Introdução Extraído de : Estruturas de Dados Homero L. Pícollo Na resolução de um problema por meio de um programa, a primeira providência é conceber um algoritmo adequado. A eficiência

Leia mais

A Genética Mendeliana

A Genética Mendeliana MATERIAL DE APOIO A Genética Mendeliana O conceito de um fator hereditário como determinante das características de um indivíduo foi introduzido primeiramente por Gregor Mendel em 1865, embora ele não

Leia mais

PROF. DR. PAULO ROBERTO SCHROEDER DE SOUZA

PROF. DR. PAULO ROBERTO SCHROEDER DE SOUZA Inteligência Artificial CONCEITOS PROF. DR. PAULO ROBERTO SCHROEDER DE SOUZA O que é Inteligência Artificial O que é Inteligência Artificial? É a ciência e engenharia de projetar/construir máquinas inteligentes,

Leia mais

2 Auto-sintonia de Bancos de Dados e Agentes de Software

2 Auto-sintonia de Bancos de Dados e Agentes de Software 2 Auto-sintonia de Bancos de Dados e Agentes de Software A uso da abordagem de agentes de software 1 pode trazer benefícios a áreas de aplicação em que é necessário construir sistemas autônomos, ou seja,

Leia mais

COMPUTAÇÃO EVOLUTIVA

COMPUTAÇÃO EVOLUTIVA COMPUTAÇÃO EVOLUTIVA Grupo de Pesquisas em Computação Evolutiva Aurora Pozo Andrea de Fatima Cavalheiro Celso Ishida Eduardo Spinosa Ernesto Malta Rodrigues Departamento de Informática Universidade Federal

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

Introdução às Redes Neurais Artificiais

Introdução às Redes Neurais Artificiais Introdução às Redes Neurais Artificiais Treinamento via Algoritmos Genéticos Prof. João Marcos Meirelles da Silva http://www.professores.uff.br/jmarcos Departamento de Engenharia de Telecomunicações Escola

Leia mais

ALGORITMOS GENÉTICOS

ALGORITMOS GENÉTICOS ALGORITMOS GENÉTICOS INTRODUÇÃO São métodos adaptativos que podem ser usados para resolver problemas de busca e otimização. Na natureza a combinação de boas características provenientes de diferentes indivíduos

Leia mais

QUESTÕES ENVOLVENDO ASPECTOS GERAIS DA CITOLOGIA COM ÊNFASE NA IMPORTÂNCIA DAS MEMBRANAS BIOLÓGICAS PARA O MUNDO VIVO. Prof.

QUESTÕES ENVOLVENDO ASPECTOS GERAIS DA CITOLOGIA COM ÊNFASE NA IMPORTÂNCIA DAS MEMBRANAS BIOLÓGICAS PARA O MUNDO VIVO. Prof. Questão 01 QUESTÕES ENVOLVENDO ASPECTOS GERAIS DA CITOLOGIA COM ÊNFASE NA IMPORTÂNCIA DAS MEMBRANAS BIOLÓGICAS PARA O MUNDO VIVO Prof. Cláudio Góes O mundo vivo é construído de tal forma que podemos estabelecer

Leia mais

Inteligência Computacional [2COP229]

Inteligência Computacional [2COP229] Inteligência Computacional [2COP229] Mestrado em Ciência da Computação Sylvio Barbon Jr barbon@uel.br (2/24) Tema Aula 1 Introdução ao Reconhecimento de Padrões 1 Introdução 2 Componentes clássicos da

Leia mais

ACESSO VESTIBULAR QUESTÕES DE PROCESSAMENTO DE RNA OU SPLICING 01. (MAMA 2007.1) PÁGINAS OCULTAS NO LIVRO DA VIDA

ACESSO VESTIBULAR QUESTÕES DE PROCESSAMENTO DE RNA OU SPLICING 01. (MAMA 2007.1) PÁGINAS OCULTAS NO LIVRO DA VIDA ACESSO VESTIBULAR QUESTÕES DE PROCESSAMENTO DE RNA OU SPLICING 01. (MAMA 2007.1) PÁGINAS OCULTAS NO LIVRO DA VIDA Os biólogos supunham que apenas as proteínas regulassem os genes dos seres humanos e dos

Leia mais

Unidade 4: Contextualização de Objetos de Aprendizagem

Unidade 4: Contextualização de Objetos de Aprendizagem Coordenação: Juliana Cristina Braga Autoria: Rita Ponchio Você aprendeu na unidade anterior a importância da adoção de uma metodologia para a construção de OA., e também uma descrição geral da metodologia

Leia mais

Conceitos Iniciais Parte 1

Conceitos Iniciais Parte 1 Módulo SIMULAÇÃO Conceitos Iniciais Parte O que pode ser simulado? Sistema de manufatura com máquinas, pessoas, rede de transporte, correias transportadoras e espaço para armazenamento; Agências bancárias

Leia mais

1 - Processamento de dados

1 - Processamento de dados Conceitos básicos sobre organização de computadores 2 1 - Processamento de dados O que é processamento? O que é dado? Dado é informação? Processamento é a manipulação das informações coletadas (dados).

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

CATAVENTO CULTURAL I. UNIVERSO II. VIDA III. ENGENHO IV. SOCIEDADE

CATAVENTO CULTURAL I. UNIVERSO II. VIDA III. ENGENHO IV. SOCIEDADE CATAVENTO CULTURAL VIVÊNCIAS ABORDAGENS FOCO DISCPLINAR ENFOQUE PEDAGÓGICO Exposições com experimentos, artefatos, cenários, maquetes, painéis, aquários, réplicas, material multimídia e atividades interativas,

Leia mais

Introdução à Inteligência Artificial (Capítulo 1 - Russell) Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Introdução à Inteligência Artificial (Capítulo 1 - Russell) Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Introdução à Inteligência Artificial (Capítulo 1 - Russell) Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Áreas de Apoio para IA 3. Sub-Áreas da IA 4.

Leia mais

DNA: Passado, Presente e Futuro

DNA: Passado, Presente e Futuro DNA: Passado, Presente e Futuro O passado O modelo do DNA que hoje nos é tão familiar foi divulgado em abril de 1953 na revista científica Nature pelos cientistas James Watson e Francis Crick. Eles afirmaram

Leia mais

- Aula 1 - ARQUITETURA DE COMPUTADORES

- Aula 1 - ARQUITETURA DE COMPUTADORES - Aula 1 - ARQUITETURA DE COMPUTADORES Em arquitetura de computadores serão estudados aspectos da estrutura e do funcionamento dos computadores. O objetivo é apresentar de forma clara e abrangente a natureza

Leia mais

SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS

SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS André Zuconelli 1 ; Manassés Ribeiro 2 1. Aluno do Curso Técnico em Informática, turma 2010, Instituto Federal Catarinense, Câmpus Videira, andre_zuconelli@hotmail.com

Leia mais

9º Congresso de Pós-Graduação AGENTE PARA MEDIAÇÃO DE APRENDIZAGEM ELETRÔNICA

9º Congresso de Pós-Graduação AGENTE PARA MEDIAÇÃO DE APRENDIZAGEM ELETRÔNICA 9º Congresso de Pós-Graduação AGENTE PARA MEDIAÇÃO DE APRENDIZAGEM ELETRÔNICA Autor(es) MICHELE CRISTIANI BARION FREITAS Orientador(es) CECÍLIA SOSA ARIAS PEIXOTO 1. Introdução A partir de ferramentas

Leia mais

Problemas Multi-modais e Distribuições Espaciais em Algoritmos Genéticos.

Problemas Multi-modais e Distribuições Espaciais em Algoritmos Genéticos. Problemas Multi-modais e Distribuições Espaciais em Algoritmos Genéticos. Thiago da Mota Souza Coordenação de Pós-Graduação e Pesquisa de Engenharia Centro de Tecnologia Universidade Federal do Rio de

Leia mais

1 Noções de software musical Conteúdo

1 Noções de software musical Conteúdo Introdução Conceitos básicos de software educacional e informática na educação O software musical como auxílio aos professores de música Software para acompanhamento Software para edição de partituras

Leia mais

Prof. Marcelo Henrique dos Santos

Prof. Marcelo Henrique dos Santos POR QUE ESTUDAR COMPUTAÇÃO GRÁFICA? Quem quiser trabalhar em áreas afins: Entretenimento Jogos e filmes Visualização Simulação de fenômenos físicos Arte computadorizada Educação e treinamento Processamento

Leia mais

UMA BREVE INTRODUÇÃO AO ESTUDO E IMPLEMENTAÇÃO DE COMPILADORES

UMA BREVE INTRODUÇÃO AO ESTUDO E IMPLEMENTAÇÃO DE COMPILADORES UMA BREVE INTRODUÇÃO AO ESTUDO E IMPLEMENTAÇÃO DE COMPILADORES 1 BRANCO; Guido Aparecido Junior, 2 TAMAE, Rodrigo Yoshio 1-Discente do Curso Sistemas de Informação FAEG/Garça 2-Docente do Curso Sistemas

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

Áudio. GUIA DO PROFESSOR Mendel, o pai da genética - Parte I. Os fundamentos da hereditariedade: Biografia de Gregor Mendel

Áudio. GUIA DO PROFESSOR Mendel, o pai da genética - Parte I. Os fundamentos da hereditariedade: Biografia de Gregor Mendel Mendel, o pai da genética - Parte I Conteúdos: Tempo: Objetivos: Descrição: Produções Relacionadas: Os fundamentos da hereditariedade: Biografia de Gregor Mendel 5 minutos para cada áudio. Avaliar se o

Leia mais

ELIAS MELGAÇO CHAVES JÚNIOR ALGORITMOS GENÉTICOS: COMPARAÇÃO ENTRE OS FRAMEWORKS AFORGE E JGAP

ELIAS MELGAÇO CHAVES JÚNIOR ALGORITMOS GENÉTICOS: COMPARAÇÃO ENTRE OS FRAMEWORKS AFORGE E JGAP ELIAS MELGAÇO CHAVES JÚNIOR ALGORITMOS GENÉTICOS: COMPARAÇÃO ENTRE OS FRAMEWORKS AFORGE E JGAP Palmas 2012 ELIAS MELGAÇO CHAVES JÚNIOR ALGORITMOS GENÉTICOS: COMPARAÇÃO ENTRE OS FRAMEWORKS AFORGE E JGAP

Leia mais

ENSINO DE CIÊNCIA DOS MATERIAIS, COM AUXÍLIO DA PLATAFORMA MOODLE, A EXPERIÊNCIA DA ESCOLA POLITÉCNICA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO

ENSINO DE CIÊNCIA DOS MATERIAIS, COM AUXÍLIO DA PLATAFORMA MOODLE, A EXPERIÊNCIA DA ESCOLA POLITÉCNICA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO 1 ENSINO DE CIÊNCIA DOS MATERIAIS, COM AUXÍLIO DA PLATAFORMA MOODLE, A EXPERIÊNCIA DA ESCOLA POLITÉCNICA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO MAIO 2008 Ericksson Rocha e Almendra - Escola Politécnica

Leia mais

BIOLOGIA IACI BELO. Como duas espécies distintas podem evoluir para formas idênticas?

BIOLOGIA IACI BELO. Como duas espécies distintas podem evoluir para formas idênticas? BIOLOGIA IACI BELO www.iaci.com.br ASSUNTO: EVOLUÇÃO CONVERGENTE Série: 3EM Como duas espécies distintas podem evoluir para formas idênticas? por Joshua Clark - traduzido por HowStuffWorks Brasil Há cerca

Leia mais

Hereditariedade. Leis da hereditariedade GENÉTICA

Hereditariedade. Leis da hereditariedade GENÉTICA Hereditariedade Definição: É a transferência de informações sobre as características próprias de um ser vivo para outro, de geração para geração, por meio dos gametas ou por transferência direta deácidos

Leia mais

Redes Neurais. Profa. Flavia Cristina Bernardini

Redes Neurais. Profa. Flavia Cristina Bernardini Redes Neurais Profa. Flavia Cristina Bernardini Introdução Cérebro & Computador Modelos Cognitivos Diferentes Cérebro Computador Seqüência de Comandos Reconhecimento de Padrão Lento Rápido Rápido Lento

Leia mais

- Representação da Informação pelo computador - Sistemas de Numeração - Código Binário - Digitalização

- Representação da Informação pelo computador - Sistemas de Numeração - Código Binário - Digitalização Disciplina Bases Computacionais Aula 03 Informação, Dados, Variáveis, Algoritmos Roteiro da Aula: - Representação da Informação pelo computador - Sistemas de Numeração - Código Binário - Digitalização

Leia mais

PROCESSO SELETIVO BIOLOGIA ÁREA: CIÊNCIAS DA NATUREZA, MATEMÁTICA E SUAS TECNOLOGIAS

PROCESSO SELETIVO BIOLOGIA ÁREA: CIÊNCIAS DA NATUREZA, MATEMÁTICA E SUAS TECNOLOGIAS PROCESSO SELETIVO BIOLOGIA ÁREA: CIÊNCIAS DA NATUREZA, MATEMÁTICA E SUAS TECNOLOGIAS Perceber e utilizar os códigos intrínsecos da Biologia. Relacionar o conhecimento das diversas disciplinas para o entendimento

Leia mais

Mestrado em Informática, tendo Inteligência Artificial como área de pesquisa.

Mestrado em Informática, tendo Inteligência Artificial como área de pesquisa. André Montevecchi Graduado em Sistemas de Informação. Mestrado em Informática, tendo Inteligência Artificial como área de pesquisa. andre@montevecchi.com.br 1 Agenda Introdução Teste de Turing Robótica

Leia mais

Epigenética e Memória Celular

Epigenética e Memória Celular Epigenética e Memória Celular Por Marcelo Fantappié Fonte www.revistacarbono.com A epigenética é definida como modificações do genoma que são herdadas pelas próximas gerações, mas que não alteram a sequência

Leia mais

Biologia é a ciência que estuda os seres vivos (do grego - bios =vidae - logos = estudo, ou seja o estudo da vida). Debruça-se sobre o funcionamento

Biologia é a ciência que estuda os seres vivos (do grego - bios =vidae - logos = estudo, ou seja o estudo da vida). Debruça-se sobre o funcionamento 1 Biologia é a ciência que estuda os seres vivos (do grego - bios =vidae - logos = estudo, ou seja o estudo da vida). Debruça-se sobre o funcionamento dinâmico dos organismos desde uma escala molecular

Leia mais

objetivos Complexidade dos genomas II AULA Pré-requisitos

objetivos Complexidade dos genomas II AULA Pré-requisitos Complexidade dos genomas II AULA 31 objetivos Ao final desta aula, você deverá ser capaz de: Explicar os fatores envolvidos com a complexidade dos genomas de eucariotos. Descrever as principais características

Leia mais

Origens da Teoria de Sistemas: O biólogo alemão Ludwig von Bertalanffy a elaborou na década de 1950. Conceito de Sistemas:

Origens da Teoria de Sistemas: O biólogo alemão Ludwig von Bertalanffy a elaborou na década de 1950. Conceito de Sistemas: Origens da Teoria de Sistemas: O biólogo alemão Ludwig von Bertalanffy a elaborou na década de 1950. Conceito de Sistemas: Sistema é um conjunto de elementos dinâicamente relacionados entre si, formando

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Entendendo a herança genética. Capítulo 5 CSA 2015

Entendendo a herança genética. Capítulo 5 CSA 2015 Entendendo a herança genética Capítulo 5 CSA 2015 Como explicar as semelhanças entre gerações diferentes? Pai e filha Avó e neta Pai e filho Avó, mãe e filha Histórico Acreditava na produção, por todas

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

STATGEN Plataforma web para análise de dados genéticos.

STATGEN Plataforma web para análise de dados genéticos. STATGEN Plataforma web para análise de dados genéticos. Diogo Gonçalves Neder 1 1 Introdução O melhoramento de plantas visa principalmente identificar combinações genotípicas com performance superior quando

Leia mais

Tema 5. Crescimento e renovação celular. UNIDADE 1. Crescimento e renovação celular

Tema 5. Crescimento e renovação celular. UNIDADE 1. Crescimento e renovação celular Tema 5. Crescimento e renovação celular Crescimento e renovação celular Distinção entre DNA e RNA quanto às suas características estruturais e funcionais. Reconhecimento de que os organismos necessitam

Leia mais

Inteligência Computacional Aplicada a Engenharia de Software

Inteligência Computacional Aplicada a Engenharia de Software Inteligência Computacional Aplicada a Engenharia de Software Estudo de caso III Prof. Ricardo de Sousa Britto rbritto@ufpi.edu.br Introdução Em alguns ambientes industriais, pode ser necessário priorizar

Leia mais

Introdução à Bioinformática. Prof. IVAné@

Introdução à Bioinformática. Prof. IVAné@ Introdução à Bioinformática Prof. IVAné@ Bioinformática União da ciência da computação com a biologia molecular É uma área nova Há 10 anos atrás o termo nem existia Depois da descoberta de Watson e Crick

Leia mais

Modelos BioMatemáticos

Modelos BioMatemáticos Modelos BioMatemáticos http://correio.fc.ul.pt/~mcg/aulas/biopop/ Pedro J.N. Silva Sala 4.1.16 Departamento de Biologia Vegetal Faculdade de Ciências da Universidade de Lisboa Pedro.Silva@fc.ul.pt Genética

Leia mais

COLÉGIO DE SANTA DOROTEIA LISBOA ANO LETIVO 2014/2015 PLANIFICAÇÃO ANUAL DEPARTAMENTO DE CIÊNCIAS NATURAIS DISCIPLINA: BIOLOGIA E GEOLOGIA 11.

COLÉGIO DE SANTA DOROTEIA LISBOA ANO LETIVO 2014/2015 PLANIFICAÇÃO ANUAL DEPARTAMENTO DE CIÊNCIAS NATURAIS DISCIPLINA: BIOLOGIA E GEOLOGIA 11. DEPARTAMENTO DE CIÊNCIAS NATURAIS DISCIPLINA: BIOLOGIA E GEOLOGIA 11.º ANO... BIOLOGIA Objetivos / Finalidades Competências procedimentais e atitudinais Competências concetuais Estratégias Tempo 1 Conhecer

Leia mais

Introdução ao Processamento de Imagens

Introdução ao Processamento de Imagens Introdução ao PID Processamento de Imagens Digitais Introdução ao Processamento de Imagens Glaucius Décio Duarte Instituto Federal Sul-rio-grandense Engenharia Elétrica 2013 1 de 7 1. Introdução ao Processamento

Leia mais