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 marcio.netto@poli.usp.br, lucienerinaldi@gmail.com 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

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

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

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

O olhar do professor das séries iniciais sobre o trabalho com situações problemas em sala de aula

O olhar do professor das séries iniciais sobre o trabalho com situações problemas em sala de aula O olhar do professor das séries iniciais sobre o trabalho com situações problemas em sala de aula INTRODUÇÃO Josiane Faxina Universidade Estadual Paulista Júlio de Mesquita Filho Câmpus Bauru e-mail: josi_unesp@hotmail.com

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

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

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia mais

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling DIMENSIONANDO PROJETOS DE WEB-ENABLING Uma aplicação da Análise de Pontos de Função Dimensionando projetos de Web- Enabling Índice INTRODUÇÃO...3 FRONTEIRA DA APLICAÇÃO E TIPO DE CONTAGEM...3 ESCOPO DA

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

PLANOS DE CONTINGÊNCIAS

PLANOS DE CONTINGÊNCIAS PLANOS DE CONTINGÊNCIAS ARAÚJO GOMES Capitão SC PMSC ARAÚJO GOMES defesacivilgomes@yahoo.com.br PLANO DE CONTINGÊNCIA O planejamento para emergências é complexo por suas características intrínsecas. Como

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

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

Elvira Cristina de Azevedo Souza Lima' A Utilização do Jogo na Pré-Escola

Elvira Cristina de Azevedo Souza Lima' A Utilização do Jogo na Pré-Escola Elvira Cristina de Azevedo Souza Lima' A Utilização do Jogo na Pré-Escola Brincar é fonte de lazer, mas é, simultaneamente, fonte de conhecimento; é esta dupla natureza que nos leva a considerar o brincar

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

Diagrama de transição de Estados (DTE)

Diagrama de transição de Estados (DTE) Diagrama de transição de Estados (DTE) O DTE é uma ferramenta de modelação poderosa para descrever o comportamento do sistema dependente do tempo. A necessidade de uma ferramenta deste tipo surgiu das

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

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

Módulo 15 Resumo. Módulo I Cultura da Informação

Módulo 15 Resumo. Módulo I Cultura da Informação Módulo 15 Resumo Neste módulo vamos dar uma explanação geral sobre os pontos que foram trabalhados ao longo desta disciplina. Os pontos abordados nesta disciplina foram: Fundamentos teóricos de sistemas

Leia mais

As bactérias operárias

As bactérias operárias A U A UL LA As bactérias operárias Na Aula 47 você viu a importância da insulina no nosso corpo e, na Aula 48, aprendeu como as células de nosso organismo produzem insulina e outras proteínas. As pessoas

Leia mais

2 Atualidade de uma base de dados

2 Atualidade de uma base de dados 2 Atualidade de uma base de dados Manter a atualidade de uma base de dados é um problema que pode ser abordado de diferentes maneiras. Cho e Garcia-Molina [CHO] definem esse problema da seguinte forma:

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

OS CONHECIMENTOS DE ACADÊMICOS DE EDUCAÇÃO FÍSICA E SUA IMPLICAÇÃO PARA A PRÁTICA DOCENTE

OS CONHECIMENTOS DE ACADÊMICOS DE EDUCAÇÃO FÍSICA E SUA IMPLICAÇÃO PARA A PRÁTICA DOCENTE OS CONHECIMENTOS DE ACADÊMICOS DE EDUCAÇÃO FÍSICA E SUA IMPLICAÇÃO PARA A PRÁTICA DOCENTE Maria Cristina Kogut - PUCPR RESUMO Há uma preocupação por parte da sociedade com a atuação da escola e do professor,

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

4 Segmentação. 4.1. Algoritmo proposto

4 Segmentação. 4.1. Algoritmo proposto 4 Segmentação Este capítulo apresenta primeiramente o algoritmo proposto para a segmentação do áudio em detalhes. Em seguida, são analisadas as inovações apresentadas. É importante mencionar que as mudanças

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

Leia mais

Núcleo de Informática Aplicada à Educação Universidade Estadual de Campinas

Núcleo de Informática Aplicada à Educação Universidade Estadual de Campinas Núcleo de Informática Aplicada à Educação Universidade Estadual de Campinas Resumo A construção de dispositivos controlados através do computador, como ferramenta educacional associado ao trabalho com

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Abordagem de Processo: conceitos e diretrizes para sua implementação

Abordagem de Processo: conceitos e diretrizes para sua implementação QP Informe Reservado Nº 70 Maio/2007 Abordagem de Processo: conceitos e diretrizes para sua implementação Tradução para o português especialmente preparada para os Associados ao QP. Este guindance paper

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

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

TEORIA GERAL DE SISTEMAS. Ludwig Von Bertalanffy biólogo alemão Estudos entre 1950 e 1968

TEORIA GERAL DE SISTEMAS. Ludwig Von Bertalanffy biólogo alemão Estudos entre 1950 e 1968 TEORIA GERAL DE SISTEMAS Ludwig Von Bertalanffy biólogo alemão Estudos entre 1950 e 1968 Critica a visão de que o mundo se divide em áreas como física, biologia, química, psicologia, sociologia pregando

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas

Leia mais

Seção 2/E Monitoramento, Avaliação e Aprendizagem

Seção 2/E Monitoramento, Avaliação e Aprendizagem Seção 2/E Monitoramento, Avaliação e Aprendizagem www.bettercotton.org Orientação Text to go here O documento Monitoramento, Avaliação e Aprendizagem da BCI proporciona uma estrutura para medir as mudanças

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

Gestão do Conhecimento A Chave para o Sucesso Empresarial. José Renato Sátiro Santiago Jr.

Gestão do Conhecimento A Chave para o Sucesso Empresarial. José Renato Sátiro Santiago Jr. A Chave para o Sucesso Empresarial José Renato Sátiro Santiago Jr. Capítulo 1 O Novo Cenário Corporativo O cenário organizacional, sem dúvida alguma, sofreu muitas alterações nos últimos anos. Estas mudanças

Leia mais

Projeto de controle e Automação de Antena

Projeto de controle e Automação de Antena Projeto de controle e Automação de Antena Wallyson Ferreira Resumo expandido de Iniciação Tecnológica PUC-Campinas RA: 13015375 Lattes: K4894092P0 wallysonbueno@gmail.com Omar C. Branquinho Sistemas de

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

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática Rene Baltazar Introdução Serão abordados, neste trabalho, significados e características de Professor Pesquisador e as conseqüências,

Leia mais

Piaget diz que os seres humanos passam por uma série de mudanças previsíveis e ordenadas; Ou seja, geralmente todos os indivíduos vivenciam todos os

Piaget diz que os seres humanos passam por uma série de mudanças previsíveis e ordenadas; Ou seja, geralmente todos os indivíduos vivenciam todos os Teoria cognitivista Piaget utilizou os princípios conhecidos como o conceito da adaptação biológica para desenvolver esta teoria; Ela diz que o desenvolvimento da inteligência dos indivíduos acontece à

Leia mais

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001 47 5 Redes Neurais O trabalho em redes neurais artificiais, usualmente denominadas redes neurais ou RNA, tem sido motivado desde o começo pelo reconhecimento de que o cérebro humano processa informações

Leia mais

Projeto Incubadora no SecondLife

Projeto Incubadora no SecondLife Projeto Incubadora no SecondLife Motivação do Projeto Ilhas de produção de conteúdo de qualidade no Second Life Um dos problemas encontrados atualmente na Internet é a enorme quantidade de conteúdos de

Leia mais

PLANEJAMENTO ESTRATÉGICO

PLANEJAMENTO ESTRATÉGICO PLANEJAMENTO ESTRATÉGICO Este material resulta da reunião de fragmentos do módulo I do Curso Gestão Estratégica com uso do Balanced Scorecard (BSC) realizado pelo CNJ. 1. Conceitos de Planejamento Estratégico

Leia mais

Resumo. Leonel Fonseca Ivo. 17 de novembro de 2009

Resumo. Leonel Fonseca Ivo. 17 de novembro de 2009 Resumo Leonel Fonseca Ivo 17 de novembro de 2009 1 Teoria de Sistemas A Teoria de Sistemas (TS) é um ramo específico da Teoria Geral de Sistemas (TGS), cujo objetivo é produzir teorias e formulações conceituais

Leia mais

11 de maio de 2011. Análise do uso dos Resultados _ Proposta Técnica

11 de maio de 2011. Análise do uso dos Resultados _ Proposta Técnica 11 de maio de 2011 Análise do uso dos Resultados _ Proposta Técnica 1 ANÁLISE DOS RESULTADOS DO SPAECE-ALFA E DAS AVALIAÇÕES DO PRÊMIO ESCOLA NOTA DEZ _ 2ª Etapa 1. INTRODUÇÃO Em 1990, o Sistema de Avaliação

Leia mais

Interface Homem-Computador

Interface Homem-Computador Faculdade de Ciências e Tecnologia do Maranhão Interface Homem-Computador Aula: Engenharia Cognitiva e Semiótica Professor: M.Sc. Flávio Barros flathbarros@gmail.com Conteúdo Engenharia Cognitiva Fundamentos

Leia mais

3 Modelo Evolucionário para Sustentabilidade Inteligente

3 Modelo Evolucionário para Sustentabilidade Inteligente 3 Modelo Evolucionário para Sustentabilidade Inteligente Este capítulo introduz um modelo evolucionário para a otimização dos parâmetros de uma construção de modo a minimizar o impacto da mesma sobre os

Leia mais

Pedagogia Estácio FAMAP

Pedagogia Estácio FAMAP Pedagogia Estácio FAMAP # Objetivos Gerais: O Curso de Graduação em Pedagogia da Estácio FAMAP tem por objetivo geral a formação de profissionais preparados para responder às diferenciadas demandas educativas

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

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

Processos de Desenvolvimento de Software

Processos de Desenvolvimento de Software Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e

Leia mais

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE MÓDULO 6 INTRODUÇÃO À PROBBILIDDE Quando estudamos algum fenômeno através do método estatístico, na maior parte das vezes é preciso estabelecer uma distinção entre o modelo matemático que construímos para

Leia mais

Sugestão de Roteiro para Elaboração de Monografia de TCC

Sugestão de Roteiro para Elaboração de Monografia de TCC Sugestão de Roteiro para Elaboração de Monografia de TCC Sugerimos, para elaborar a monografia de TCC (Trabalho de Conclusão de Curso), que o aluno leia atentamente essas instruções. Fundamentalmente,

Leia mais

Projeto Laboratório de Ensino de Genética Jogo Memorizando a Genética

Projeto Laboratório de Ensino de Genética Jogo Memorizando a Genética Universidade Federal de Minas Gerais UFMG Instituto de Ciências Biológicas ICB Projeto Laboratório de Ensino de Genética Jogo Memorizando a Genética Alunos: Bárbara Luiza Júlia Miranda Marina Amaral Priscilla

Leia mais

PESQUISA-AÇÃO DICIONÁRIO

PESQUISA-AÇÃO DICIONÁRIO PESQUISA-AÇÃO Forma de pesquisa interativa que visa compreender as causas de uma situação e produzir mudanças. O foco está em resolver algum problema encontrado por indivíduos ou por grupos, sejam eles

Leia mais

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental Ajuda ao SciEn-Produção 1 Este texto de ajuda contém três partes: a parte 1 indica em linhas gerais o que deve ser esclarecido em cada uma das seções da estrutura de um artigo cientifico relatando uma

Leia mais

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS - FAN CEUNSP SALTO /SP CURSO DE TECNOLOGIA EM MARKETING TRABALHO INTERDISCIPLINAR

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS - FAN CEUNSP SALTO /SP CURSO DE TECNOLOGIA EM MARKETING TRABALHO INTERDISCIPLINAR APRESENTAÇÃO DO TI O Trabalho Interdisciplinar é um projeto desenvolvido ao longo dos dois primeiros bimestres do curso. Os alunos tem a oportunidade de visualizar a unidade da estrutura curricular do

Leia mais

Estruturando o modelo de RH: da criação da estratégia de RH ao diagnóstico de sua efetividade

Estruturando o modelo de RH: da criação da estratégia de RH ao diagnóstico de sua efetividade Estruturando o modelo de RH: da criação da estratégia de RH ao diagnóstico de sua efetividade As empresas têm passado por grandes transformações, com isso, o RH também precisa inovar para suportar os negócios

Leia mais

O que é a estatística?

O que é a estatística? Elementos de Estatística Prof. Dr. Clécio da Silva Ferreira Departamento de Estatística - UFJF O que é a estatística? Para muitos, a estatística não passa de conjuntos de tabelas de dados numéricos. Os

Leia mais

PLANEJAMENTO DA MANUFATURA

PLANEJAMENTO DA MANUFATURA 58 FUNDIÇÃO e SERVIÇOS NOV. 2012 PLANEJAMENTO DA MANUFATURA Otimizando o planejamento de fundidos em uma linha de montagem de motores (II) O texto dá continuidade à análise do uso da simulação na otimização

Leia mais

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual Algoritmos: Lógica para desenvolvimento de programação de computadores Autor: José Augusto Manzano Capítulo 1 Abordagem Contextual 1.1. Definições Básicas Raciocínio lógico depende de vários fatores para

Leia mais

1. Conceitos de sistemas. Conceitos da Teoria de Sistemas. Conceitos de sistemas extraídos do dicionário Aurélio:

1. Conceitos de sistemas. Conceitos da Teoria de Sistemas. Conceitos de sistemas extraídos do dicionário Aurélio: 1. Conceitos de sistemas Conceitos da Teoria de Sistemas OPTNER: É um conjunto de objetos com um determinado conjunto de relações entre seus objetos e seus atributos. TILLES: É um conjunto de partes inter-relacionadas.

Leia mais

AULA 04 - TABELA DE TEMPORALIDADE

AULA 04 - TABELA DE TEMPORALIDADE AULA 04 - TABELA DE TEMPORALIDADE 4.1 - Tabela de Temporalidade Como é cediço todos os arquivos possuem um ciclo vital, composto pelas fases corrente, intermediária e permanente. Mas como saber quando

Leia mais

Lev Semenovich Vygotsky, nasce em 17 de novembro de 1896, na cidade de Orsha, em Bielarus. Morre em 11 de junho de 1934.

Lev Semenovich Vygotsky, nasce em 17 de novembro de 1896, na cidade de Orsha, em Bielarus. Morre em 11 de junho de 1934. Lev Semenovich Vygotsky, nasce em 17 de novembro de 1896, na cidade de Orsha, em Bielarus. Morre em 11 de junho de 1934. Lev Vygotsky, viveu na mesma época que Piaget (ambos nasceram em 1896 entanto Vygotsky

Leia mais

PRÓ-MATATEMÁTICA NA FORMAÇÃO DE PROFESSORES

PRÓ-MATATEMÁTICA NA FORMAÇÃO DE PROFESSORES PRÓ-MATATEMÁTICA NA FORMAÇÃO DE PROFESSORES Regina Luzia Corio de Buriasco * UEL reginaburiasco@sercomtel.com.br Magna Natália Marin Pires* UEL magna@onda.com.br Márcia Cristina de Costa Trindade Cyrino*

Leia mais

Aprendizagem da Análise Combinatória nas séries iniciais do Ensino Fundamental

Aprendizagem da Análise Combinatória nas séries iniciais do Ensino Fundamental Aprendizagem da Análise Combinatória nas séries iniciais do Ensino Fundamental Ana Lydia Perrone 1 Sergio Minoru Oikawa 2 Fernando Antônio Moala 2 RESUMO Este estudo fez parte do projeto de pesquisa desenvolvido

Leia mais

GESTÃO DO CONHECIMENTO NA INDÚSTRIA QUÍMICA

GESTÃO DO CONHECIMENTO NA INDÚSTRIA QUÍMICA GESTÃO DO CONHECIMENTO NA INDÚSTRIA QUÍMICA Maria de Fátima Soares Ribeiro Monografia apresentada para a conclusão do Curso de Gestão Empresarial para a Indústria Química GETIQ pela Escola de Química da

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

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

3 Abordagem Sistêmica

3 Abordagem Sistêmica 3 Abordagem Sistêmica 3.1 A visão sistêmica Como uma das correntes do pensamento administrativo, a abordagem sistêmica foi introduzida em meados da década de 60. Os teóricos de sistemas definiram-na como,

Leia mais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

Leia mais

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

ROTEIRO PARA ELABORAÇÃO DE PROJETOS APRESENTAÇÃO ROTEIRO PARA ELABORAÇÃO DE PROJETOS Breve histórico da instituição seguido de diagnóstico e indicadores sobre a temática abrangida pelo projeto, especialmente dados que permitam análise da

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

O uso de Objetos de Aprendizagem como recurso de apoio às dificuldades na alfabetização

O uso de Objetos de Aprendizagem como recurso de apoio às dificuldades na alfabetização O uso de Objetos de Aprendizagem como recurso de apoio às dificuldades na alfabetização Juliana Ferreira Universidade Estadual Paulista UNESP- Araraquara E-mail: juliana.ferreiraae@gmail.com Silvio Henrique

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

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

MODELO CMM MATURIDADE DE SOFTWARE

MODELO CMM MATURIDADE DE SOFTWARE MODELO CMM MATURIDADE DE SOFTWARE O modelo CMM Capability Maturity Model foi produzido pelo SEI (Software Engineering Institute) da Universidade Carnegie Mellon (CMU), em Pittsburgh, EUA, por um grupo

Leia mais

A MÁQUINA INTELIGENTE. O longo caminho do pensamento mecanizado Júlio Cesar da Silva - juliocesar@eloquium.com.br

A MÁQUINA INTELIGENTE. O longo caminho do pensamento mecanizado Júlio Cesar da Silva - juliocesar@eloquium.com.br A MÁQUINA INTELIGENTE O longo caminho do pensamento mecanizado Júlio Cesar da Silva - juliocesar@eloquium.com.br APRESENTAÇÃO Júlio Cesar da Silva Mestrando em Administração MBA em Gestão da Tecnologia

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

QFD: Quality Function Deployment QFD: CASA DA QUALIDADE - PASSO A PASSO

QFD: Quality Function Deployment QFD: CASA DA QUALIDADE - PASSO A PASSO QFD: CASA DA QUALIDADE - PASSO A PASSO 1 - INTRODUÇÃO Segundo Akao (1990), QFD é a conversão dos requisitos do consumidor em características de qualidade do produto e o desenvolvimento da qualidade de

Leia mais

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE Mariane Alves Gomes da Silva Eliana Zandonade 1. INTRODUÇÃO Um aspecto fundamental de um levantamento

Leia mais

No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o

No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o DATABASE MARKETING No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o empresário obter sucesso em seu negócio é

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

CURSO: LICENCIATURA DA MATEMÁTICA DISCIPLINA: PRÁTICA DE ENSINO 4

CURSO: LICENCIATURA DA MATEMÁTICA DISCIPLINA: PRÁTICA DE ENSINO 4 CAMPUS CARAGUATUBA CURSO: LICENCIATURA DA MATEMÁTICA DISCIPLINA: PRÁTICA DE ENSINO 4 PROFESSOR: ANDRESSA MATTOS SALGADO-SAMPAIO ORIENTAÇÕES PEDAGÓGICAS PARA A PRÁTICA DE ESTÁGIO SUPERVISIONADO NO CURSO

Leia mais

II. Atividades de Extensão

II. Atividades de Extensão REGULAMENTO DO PROGRAMA DE EXTENSÃO I. Objetivos A extensão tem por objetivo geral tornar acessível, à sociedade, o conhecimento de domínio da Faculdade Gama e Souza, seja por sua própria produção, seja

Leia mais

CONSULTORIA DE DESENVOLVIMENTO ORGANIZACIONAL

CONSULTORIA DE DESENVOLVIMENTO ORGANIZACIONAL CONSULTORIA DE DESENVOLVIMENTO ORGANIZACIONAL Somos especializados na identificação e facilitação de soluções na medida em que você e sua empresa necessitam para o desenvolvimento pessoal, profissional,

Leia mais

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

COMO FAZER A TRANSIÇÃO

COMO FAZER A TRANSIÇÃO ISO 9001:2015 COMO FAZER A TRANSIÇÃO Um guia para empresas certificadas Antes de começar A ISO 9001 mudou! A versão brasileira da norma foi publicada no dia 30/09/2015 e a partir desse dia, as empresas

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

A ORGANIZAÇÃO DO TRABALHO PEDAGÓGICO COMO PRINCÍPIO EDUCATIVO NA FORMAÇÃO DE PROFESSORES

A ORGANIZAÇÃO DO TRABALHO PEDAGÓGICO COMO PRINCÍPIO EDUCATIVO NA FORMAÇÃO DE PROFESSORES A ORGANIZAÇÃO DO TRABALHO PEDAGÓGICO COMO PRINCÍPIO EDUCATIVO NA FORMAÇÃO DE Universidade Estadual De Maringá gasparin01@brturbo.com.br INTRODUÇÃO Ao pensarmos em nosso trabalho profissional, muitas vezes,

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais