Capítulo 1. Vida Artificial. Luís Correia. Abstract

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

Download "Capítulo 1. Vida Artificial. Luís Correia. Abstract"

Transcrição

1 Capítulo 1 Vida Artificial Luís Correia Abstract This document is an overview of artificial life. Artificial life may be shortly described as the study of bioinspired computing models and of artificial lifeforms in such an environment. This is a technical document written as a source of information for newcomers into the field and designed to support a short (4 hour) course in these matters. It tries to cover artificial life in broadness rather than in depth. A comprehensive set of references and other pointers is presented to help the interested reader in finding support to further deepen knowledge in the presented topics. Although the document is introductory, some knowledge in mathematics and artificial intelligence in general will be useful to better grasp some sections. Resumo Este documento é um texto de apoio sobre vida artificial. A vida artificial pode ser descrita resumidamente como o estudo de modelos computacionais de inspiração biológica e de formas de vida artificiais nesse tipo de ambientes. Este documento tem um carácter técnico. Foi escrito como uma fonte de informação para leigos na matéria e configurado como material de suporte a um mini-curso (de 4 horas) sobre vida artificial. Tem uma perspectiva abrangente, em desfavor de uma análise em profundidade. Inclui-se um conjunto de referências e outros apontadores que devem permitir, ao leitor interessado, aprofundar posteriormente conhecimentos nas matérias apresentadas. Embora seja um documento introdutório, será útil um conhecimento de matemática e de inteligência artificial, para algumas secções. 1

2 1.1 Introdução à Vida Artificial e aos Sistemas Auto-Organizados Nota histórica O homem desde sempre tentou inventar dispositivos que lhe permitissem imitar e controlar a natureza nas suas diversas formas. No caso dos organismos vivos, a situação não é diferente. As primeiras tentativas de criar modelos e dispositivos artificiais capazes de exibir propriedades semelhantes às que encontramos nos seres vivos podem situar-se no início da década de 50 do século passado, em paralelo com a origem dos próprios computadores. Aliás, e este facto não é, certamente, fortuito, dois dos investigadores mais influentes na teoria da computação e na engenharia de computadores, Alan Turing e John von Neumman, foram também os pioneiros nas tentativas de criar vida artificial. Em 1952, Turing publicou um trabalho, que se viria a revelar muito influente, sobre morfogénese [Turing, 1952, Swinton], ou seja, o desenvolvimento de formas, em organismos vivos. E aproximadamente na mesma altura, von Neumann desenvolvia o conceito de autómato celular (em colaboração com Stanislaw Ulam), que cuja publicação ocorreu mais tarde [von Neumann, 1966]. Suportado no conceito de autómato celular, von Neumann propôs um modelo abstracto de auto-reprodução, que se viria a revelar um paralelo muito próximo do modelo de reprodução celular baseado no DNA, descoberto pouco depois por Watson e Crick. Pouco antes, em 1943, foi publicado o trabalho de Warren McCulloch e Walter Pitts, com o primeiro modelo de neurónio, que se considera ser a origem das redes neuronais artificiais [McCulloch and Pitts, 1943]. Também no início da década de 50, o neurologista Grey Walter, construiu robôs móveis, que denominou de tartarugas (com os nomes de Elmer e Elsie), tendo também, com sentido de humor, criado um nome para essa espécie, Machina Speculatrix [Walter, 1950, 1951]. Cada tartaruga tinha um conjunto de dois comportamentos elementares: após colidir com um obstáculo afastava-se dele e aproximava-se de fontes de luz, excepto se a fonte de luz fosse muito forte, caso em que se afastava. Embora limitadas a estes comportamentos os pequenos robôs eram capazes, ainda assim, de exibir uma interacção complexa com o ambiente e entre si, por exemplo, quando uma delas era portadora de uma fonte de luz. Estes trabalhos e os conceitos que deles emergiram faziam parte da área de cibernética, que estudava a comunicação e o controlo paralelamente em seres humanos e em máquinas. Um dos exemplos típicos desta disciplina foi 2

3 o homeostato, criado por Ross Ashby [Ashby, 1952]. Era um aparelho que, estabelecido um ponto de equilíbrio, se adaptava às perturbações induzidas externamente, de modo a recuperar esse ponto de equilíbrio inicial. Esta propriedade constitui também uma das principais características dos organismos vivos, que estão constantemente a adaptar-se às alterações ambientais, gastando nisso uma parte importante da energia que consomem. O desenvolvimento da Inteligência Artificial, a partir da 2 a metade da década de 50, com uma perspectiva promissora mais orientada para aspectos cognitivos da mente, veio praticamente paralisar a investigação na área da cibernética. Só na década de 80 se começou a sentir o regresso a algumas preocupações de investigação nessa área. Em 1987 realizou-se, em Los Alamos (EUA) o 1 o Workshop em Vida Artificial, organizado por Christopher Langton, que tentou reunir investigadores de diversas áreas, mas com um interesse comum nos temas da Vida Artificial [Langton, 1989] Enquadramento Em síntese, a Vida Artificial (VA) dedica-se, por um lado, a encontrar modelos computacionais para problemas biológicos e, por outro, a desenvolver abordagens inspiradas em modelos biológicos para aplicações em engenharia (ver, por exemplo, [Langton, 1995]. O facto de se usar um suporte computacional permite uma liberdade de experimentação e de modelação que não é possível num suporte de origem biológica. Temos a possibilidade de testar modelos que não se encontram sequer nas formas de vida biológica. Na realidade, a VA pode abranger mais do que as tecnologias de suporte computacional. Há trabalhos de investigação no que se denomina wet ALife, que não são baseados em tecnologia computacional convencional. Não os vamos abordar neste documento, devido à especificidade que têm. Situam-se sobretudo no domínio da biotecnologia, no desenvolvimento de moléculas e células específicas, mas também na área da engenharia de materiais, em que se tentam desenvolver equivalentes de músculos, tendões e membros artificiais. Neste texto, vamos cingir-nos aos desenvolvimentos baseados em suporte computacional, isto é, tecnologia do silício, que podem ter uma implementação em ambientes simulados ou serem corporizados no mundo real, como é o caso dos robôs autónomos, como seres artificiais. Na tabela 1.1 podemos ver as diversas formas de combinar modelos e ambientes, no âmbito da VA. A VA adopta portanto soluções baseadas em múltiplos componentes similares, dotados autonomia, com controlo local, ao invés de uma qualquer forma de controlo centralizado. Assim, neste tipo de sistemas observa-se, em geral, um conjunto de propriedades emergentes, derivado ao carácter 3

4 Tabela 1.1: Formas de vida versus ambientes VIDA exemplos natural artificial natural Bio-organismos Seres Artificiais (robôs) Autómatos celulares MUNDO artificial Realidade virtual vírus sofbots distribuído que apresentam. Em muitos casos o sistema tem também capacidades de adaptação, que podem ser de índole filogénica (evolução da espécie), ontogénica (evolução do indivíduo - crescimento e morfogénese) e epigénica (integração, em representações internas, de interacções com o ambiente - sistema neuronal e imunológico). Nesse sentido, a vida artificial congrega investigação de várias áreas científicas. Informática e biologia são, naturalmente, as mais envolvidas, mas há outras que desempenham também um papel relevante. A matemática é importante para o suporte teórico da VA e, em particular, a área de Sistemas Dinâmicos é essencial para se caracterizar o estado de funcionamento de sistemas de VA. Um sistema complexo, como é o caso dos que se constroem em VA é passível de uma grande variedade de comportamentos, nomeadamente caótico [Adami, 1998]. O estudo e avaliação deste tipo de comportamentos é feito em sistemas dinâmicos. Os organismos biológicos são constituídos por sistemas físico-químicos cujas propriedades se podem analisar a diversos níveis, órgãos, células 1, moléculas, átomos, etc. Em todos esses níveis podemos falar de propriedades globais emergentes, isto é, que surgem como resultado da interacção de muitos componentes e com um nível qualitativamente diferente das propriedades locais de cada um deles. Este tipo de propriedade é também comum em sistemas físicos, nomeadamente sistemas auto-organizados, em que os componentes não são autónomos, mas apenas partículas que reagem a interacções entre si e com o ambiente. No que concerne a auto-organização, tem-se mantido o debate entre o que se denomina como posições forte e fraca [Langton, 1991]. No primeiro caso situam-se os que defendem que a auto-organização, sendo uma propriedade comum a vários tipos de sistema, deverá estar sujeita a um conjunto de parâmetros fundamentais, comuns a todos eles, que ainda não se descobriram. No caso da posição fraca, defende-se que não é necessária a existência desses 1 A célula é o maior componente comum a todas as formas conhecidas de vida. Tudo o que é vivo é constituído por células, parafraseando Pier-Luigi Luisi. 4

5 parâmetros e que ainda assim é útil estudar e usar essas propriedades para resolver problemas de índole diversa, em abordagens multi-disciplinares. Concomitantemente, existe um debate sobre a caracterização de propriedades emergentes, que discute o que é possível construir em sistemas artificiais [Cariani, 1991, Steels, 1995, Bar-Yam, 2004, Correia, 2005]. Por um lado, a emergência de uma propriedade global pode ser um fenómeno que ocorre apenas pela observação de um observador externo (emergência sintática) ou ser um fenómeno que tem influência sobre o próprio sistema e é capaz de alterar as suas características. Este debate traz-nos ao âmbito da filosofia, disciplina para a qual a VA apresenta também um campo de estudo apreciável. Aspectos como o que é a vida? o que é um indivíduo? será possível a emergência de comportamentos complexos a partir de componentes simples e com uma tecnologia diferente da biológica? são de interesse para a filosofia de há longa data (ver, por exemplo, [Schrödinger, 1989, Searle, 1986]) mas agora passam a poder ser analisados com uma nova perspectiva e dados que não existiam anteriormente. O filósofo Daniel Dennett advoga inclusivamente que a VA pode servir como uma nova maneira de fazer filosofia, criando os próprios factos e analisando os resultados [Dennett, 1995] Face à IA Vimos já que os primórdios da Vida Artificial se situam cronologicamente em simultâneo com os da Inteligência Artificial (IA) 2. No entanto a IA teve um desenvolvimento grande e continuado desde essa altura, enquanto a área de VA, propriamente dita, só veio a surgir no final da década de 80 (cerca de 30 anos depois). É natural que, sendo disciplinas a explorar áreas do conhecimento com uma grande sobreposição 3, tenha havido uma demarcação de posições, em geral por oposição. Na realidade, a VA surge também como uma tentativa de explorar abordagens que não tinham sido aceites pela IA. Enquanto as abordagens de IA se orientavam para atingir um objectivo, como uma solução final de um problema, a VA surge com a perspectiva de estabelecer um comportamento que permita ao sistema apresentar uma dinâmica adequada. A VA surge desde logo defendendo soluções com uma essência paralela, enquanto esse aspecto não era central das soluções de IA. 2 Alan Turing será porventura mais conhecido pelo famoso teste de Turing, com um papel central na IA, do que pelo seu trabalho em morfogénese. 3 Em última instância, tanto a VA como a IA, pretendem conseguir construir artefactos inteligentes, porém com abordagens diferentes. 5

6 Naturalmente que esta dicotomia, VA versus IA, se veio esbatendo à medida que foram reconhecidas limitações em ambas as abordagens e se tem vindo a explorar soluções híbridas destas duas áreas. A IA distribuída tem vindo a assumir uma maior importância, nomeadamente através das abordagens multi-agente, integrando frequentemente soluções com controlo descentralizado Organização do documento Nos capítulos seguintes deste documento abordam-se alguns dos principais temas da Vida Artificial. Não existe a preocupação de tratar todos os temas com o mesmo grau de profundidade. Perspectivas diferentes pode ser encontradas, por exemplo, em [Langton, 1995, Barone, 2003]. Optou-se por dar maior exposição a temas que, em geral, não são tão abordados. Em particular, não se referem aqui as redes neuronais, que têm tido um desenvolvimento autónomo importante e que, actualmente, estão algo afastadas dos modelos que as inspiraram. Não se entra em detalhes acerca dos modelos biológicos que inspiram cada um dos sistemas artificiais descritos. Assume-se que o conhecimento geral será suficiente para entrar em cada tema. Para um aprofundamento desses conhecimentos, as referências apresentadas em cada secção serão uma boa fonte de consulta. Os autómatos celulares constituem um dos modelos básicos na origem da VA e que são ainda importantes para ilustrar uma série de conceitos importantes. No que diz respeito aos algoritmos evolucionários, embora estes tenham também tido um desenvolvimento autónomo, tenta dar-se uma perspectiva unificada das diferentes variantes. Por outro lado, têm também uma importância grande para os sistemas imunitários artificiais, que surgem também com um capítulo próprio neste documento. A implementação de modelos de VA em dispositivos físicos corporizados 4, é um aspecto suficientemente diferente para justificar um capítulo. Finalmente, completa-se o conjunto de matérias descritas com referências breves a um conjunto de outros tópicos considerados relevantes. Para além da Bibliografia, completa-se o documento com um conjunto de dados e apontadores. Espera-se que essa informação possa constituir um bom ponto de partida para o leitor que queira explorar em maior profundidade algum dos diversos aspectos da Vida Artificial. 4 Embodied em inglês 6

7 1.2 Autómatos Celulares O conceito de Autómato Celular (AC) foi proposto cerca de 1950 por John von Neumann e desenvolvido por este e por Stanislaw Ulam. O objectivo de von Neumann era de usar os AC para modelar a reprodução biológica. Verificou-se posteriormente que o conceito de autómato celular tem uma capacidade computacional equivalente à máquina de Turing. Teoricamente um Autómato Celular é definido por um conjunto infinito de autómatos finitos com organização espacial [Codd, 1968]. Um autómato finito é, para todos os efeitos, uma máquina de estados. No caso dos autómatos celulares, há uma divisão do espaço em elementos idênticos com uma determinada geometria. A cada um desses elementos está associado um autómato finito. Um elemento espacial e o respectivo autómato constituem o que se denomina por célula. A geometria do AC permite definir, para cada célula, uma vizinhança. As entradas de uma célula são os estados das células da sua vizinhança. O funcionamento do AC terá, naturalmente, uma evolução temporal, através dos sucessivos estados das células que o compõem. Na prática, a concretização de um AC tem de abdicar da infinitude do espaço. As implementações têm, obviamente, uma dimensão limitada. Os AC têm vindo a ser usados com frequência simulação. Em diversos tipos de problemas é necessário simular o comportamento de sistemas complexos, em que existe um número muito grande de componentes com controlo ou propriedades locais. É nesses casos que a simulação baseada em AC se afigura como útil. Destaquem-se problemas de física, como modelos de dinâmica de fluidos, de processos de difusão e equilíbrio e reversibilidade. Também em modelação de propagação de fogos, quer em espaços abertos quer em interiores, se encontram aplicações de autómatos celulares. Para além de simulações, existem utilizações aparentemente pouco evidentes, como seja a de implementação de algoritmos de criptografia, que só vêm reforçar o carácter abrangente dos AC Modelo de reprodução de von Neumann Vejamos agora, em traços largos, como von Neumann delineou o modelo de reprodução que viria posteriormente a implementar num AC. Relembre-se que este modelo tem um paralelo evidente com o que veio a ser descoberto como o suporte da reprodução celular em organismos biológicos, através do ADN. Suponhamos então um organismo, representado por um autómato X. 7

8 Designe-se por Φ(X) a descrição de X. Nesse caso, para reproduzir X é necessário, que exista um autómato, capaz de interpretar a descrição e de construir uma cópia de X através da descrição. Designemos por A esse autómato interpretador. No entanto, um sistema assim não seria auto-suficiente. Por um lado seria necessário que o próprio interpretador, A, se reproduzisse também, o que acarreta a necessidade de uma descrição dele próprio, Φ(A). Mas surge um aparente paradoxo de A ter de se interpretar a si próprio. A juntar a isto temos ainda a falta de uma entidade (um autómato, naturalmente) que faça cópias de reproduções. Assim, von Neumann propôs um modelo completo de um autómato autoreprodutor, na realidade composto de três autómatos e respectiva descrição conjunta, com um funcionamento coordenado. O modelo completo é representado por: (A, B, C) + Φ(A, B, C) Os três autómatos têm as seguintes funções: A - Cria autómatos a partir de descrições; B - Copia descrições; C - Mantém descrições e fornece-as a B e a A. A descrição conjunta dos três autómatos é representada por. Φ(A, B, C) O funcionamento de todo o sistema é relativamente simples: 1. C entrega a descrição conjunta, Φ(A, B, C), a B; 2. B copia a descrição 3 vezes, destruindo o original; 3. C fornece uma das cópias a A, que cria um novo autómato (A, B, C), destruindo a descrição; 4. C fornece outra cópia ao novo autómato e fica com a terceira cópia, para novas reproduções. Este modelo abstracto é passível de ser estendido de modo a englobar também os efeitos de processos evolucionários, nomeadamente a mutação. Suponhamos, que se adiciona ao sistema um quarto autómato, D, que não 8

9 interfere com o processo reprodutivo dos outros três autómatos. Nesse caso o sistema completo seria: (A, B, C, D) + Φ(A, B, C, D). Suponhamos agora que um processo externo alterava a descrição do autómato D, transformando-o em D. O sistema passaria a ser representado por: (A, B, C, D) + Φ(A, B, C, D ). Em funcionamento normal, nada de diferente seria notado. Porém, quando se desse uma reprodução, deste sistema, o descendente teria a seguinte representação: (A, B, C, D ) + Φ(A, B, C, D ). o que constituiria uma diferença de funcionamento face ao ascendente, nomeadamente no comportamento do autómato D. Repare-se como este modelo reflecte bem o processo biológico, visto que apenas as mutações na descrição afectam os descendentes. Se a mutação se desse nos autómatos, os descendentes continuariam a ser construídos de acordo com a descrição e não de acordo com o ascendente. Deste modo, é modelada a evolução Darwiniana e não a evolução Lamarckiana. von Neumann criou ainda um AC com 29 estados, capaz de auto-reprodução, de acordo com este modelo. Mais tarde, Codd conseguiu o mesmo com menos estados [Codd, 1968] Tipos de AC Os Autómatos Celulares podem assumir diversas formas e, nesse sentido, há um conjunto de parâmetros que os caracterizam. Os principais são: Dimensionalidade - Este parâmetro, d, caracteriza o espaço em que existe o AC. Existem desde ACs de 1 dimensão (d = 1, ou 1D), que se estendem por uma recta, até ACs de 3 dimensões (d = 3, ou 3D), que ocupam um volume a 3 dimensões. Como o resultado do funcionamento dos ACs é, normalmente, uma observação visual, os mais usados são os ACs com duas (2D) ou uma (1D) dimensões; Geometria - Esta característica classifica a forma de cada célula do AC. Teoricamente não há limitações. Porém, a mais usada, por uma questão de simplicidade de processamento, é a geometria quadrangular. Em alguns problemas, nomeadamente de modelação de mecânica de fluidos, é usada a geometria hexagonal, devido a uma melhor relação de simetria que cada célula apresenta face às células vizinhas; 9

10 Vizinhança - Cada célula recebe, como entradas, os estados das células da sua vizinhança. Esta é definida como um raio, r. As células imediatamente adjacentes têm raio 1, as que ficam a seguir têm raio 2, etc. Nos ACs 2D, com geometria quadrangular, há várias vizinhanças possíveis, sendo as mais habituais a de von Neumann, em que cada célula só tem como vizinhas as 4 adjacentes a cada lado, e a de Moore, em que uma célula tem 8 vizinhas (as adjacentes aos lados e na diagonal); Estados - O número de estados, k, de cada autómato finito associado a uma célula é também um parâmetro fundamental. O problema determina o número de estados necessários para cada célula; Disciplina de actualização - Esta característica determina a sequência pela qual são actualizadas as células do AC. O normal é a disciplina síncrona, em que todas as células são actualizadas num mesmo passo temporal. Na disciplina assíncrona, as células são actualizadas em instantes diferentes, sendo os mais comuns a disciplinas assíncrona sequencial (de um extremo ao outro do AC) e a aleatória Classificação de Wolfram dos ACs Um dos trabalhos mais importantes nos ACs foi o estudo que Stephen Wolfram fez, no sentido de identificar as suas propriedades [Wolfram, 1994]. Uma das consequências mais relevantes desse trabalho foi a produção de uma classificação empírica do comportamento dinâmico dos ACs, que ficou conhecida como a classificação de Wolfram. A classificação de Wolfram considera os ACs sem entradas externas. Ou seja, a partir de um estado inicial, observase a evolução do AC e é essa dinâmica que é classificada. As 4 classes que compõem a classificação de Wolfram, e a sua caracterização, são as seguintes: Classe I - Homogéneos ou de Ponto Fixo São autómatos cuja evolução temporal os leva a atingir um estado a partir do qual não há mais alterações. Ou seja é um estado estável do AC e invariante no tempo. Classe II - Heterogéneos ou Periódicos O comportamento desta classe de autómatos atinge uma situação em que uma sucessão limitada de estados se repete regular e indefinidamente. Isto é, passado algum tempo do início de funcionamento, passam a apresentar periodicamente a mesma sequência de estados. 10

11 Classe III - Caóticos Nesta classe integram-se os ACs que apresentam um comportamento muito irregular ao longo do tempo. Apesar de terem um comportamento determinístico, este é dificilmente previsível a longo prazo (fig. 1.1). Classe IV - Complexos Os autómatos desta classe apresentam uma repetição irregular, no tempo, de padrões, a diferentes escalas e posições no espaço. Combinam, de certo modo, regularidade, com alguma imprevisibilidade. Apesar da numeração, considera-se que este tipo de ACs se situa entre as classes II e III (fig. 1.1). Figura 1.1: Exemplos de um AC, d = 1, r = 1, k = 2, da classe III (esquerda) e classe IV (direita). O AC está disposto na horizontal; o tempo cresce de cima para baixo. Esta classificação, apesar de ser empírica, isto é, por observação visual do AC, tem-se revelado uma referência, sobretudo porque tem um paralelo evidente com a caracterização de sistemas dinâmicos, no que diz respeito às 3 primeiras classes. E mesmo relativamente à classe IV se pode fazer um paralelo com os sistemas dinâmicos quase-periódicos. Alguns autores (por exemplo Langton, [Langton, 1991]) defendem que esta última classe é a que se assemelha mais ao comportamento, forma e desenvolvimento dos organismos vivos. O facto de os sistemas da classe IV se situarem muito perto dos sistemas caóticos e dos sistemas com comportamento regular, levou Christopher Langton a afirmar que a vida surge no limiar do caos O Life O jogo da vida ( Life ) merece um especial destaque, como um exemplo de um AC 2D. Na realidade, este jogo, de zero jogadores, foi proposto por John 11

12 Conway, cerca de 1970, e tem tido uma imensa popularidade. É um jogo simples que proporciona uma quantidade virtualmente ilimitada de possibilidades de evolução temporal, em função das configurações iniciais do AC. Desenvolve-se num espaço a duas dimensões, dividido em células quadrangulares. Cada célula tem 8 vizinhas, que são as células adjacentes (lateralmente e na diagonal). Uma célula pode estar num de dois estados possíveis, que se denominam viva, ou morta. Aactualização do AC é síncrona. A dinâmica do jogo enuncia-se com base em três regras simples: 1. Sobrevivência: Uma célula sobrevive se tiver 2 ou 3 vizinhas vivas; 2. Nascimento: Uma célula nasce se tiver exactamente 3 vizinhas vivas. 3. Morte: Uma célula morre por sobrepopulação, se tiver 4 ou mais vizinhas vivas e por isolamento, se tiver 0 ou 1 vizinha viva; Este enunciado pode sintetizar-se na representação 23/3. Há variantes do Life, como por exemplo o 23/36, mas quase todas elas produzem ACs caóticos ou de ponto fixo. As regras de ACs com enunciados deste tipo, dizem-se totalizadoras, porque só dependem da contagem das células da vizinhança que estão num determinado estado (independentemente da sua posição). Após o surgimento do jogo, foram sendo criadas diversas configurações iniciais com propriedades interessantes. As que proporcionam uma dinâmica perpétua são das mais relevantes, porque mantêm o jogo eternamente activo. Um exemplo de uma dessas configurações, o planador ( glider ), está representado na figura 1.2 em cinco passos, que mostram como progride no espaço. Figura 1.2: Cinco estágios da evolução de um planador no Life (da esquerda para a direita), de [Sverdrup, 2004]. Existem também configurações que formam canhões de planadores, isto é, que vão lançando periodicamente planadores. Para além dos planadores há uma série de outras configurações animadas e com progressão no espaço do AC, bem como os respectivos canhões. Há ainda configurações que oscilam indefinidamente ao longo do tempo, outras que desaparecem ou que 12

13 estagnam. No outro extremo da escala de complexidade, demonstrou-se que o Life tem capacidade computacional de uma máquina de Turing e foram já construídas configurações que a implementam (ver, por exemplo, [Rendell, 2000]). 1.3 Algoritmos Evolucionários Sob a designação de Algoritmos Evolucionários (AE), ou de Computação Evolucionária [Bäck and Schwefel, 1993, Yao, 1999, Spears, 2000], encontramse algoritmos com características comuns inspiradas no processo de evolução natural. Os principais são: Algoritmos Genéticos Programação Genética Estratégias de Evolução Programação Evolucionária Tradicionalmente, a Programação Genética é considerada como um caso particular de configuração de Algoritmos Genéticos. No entanto, tem evoluído de uma forma bastante específica, de modo a justificar um tratamento individualizado. Os algoritmos evolucionários são usados essencialmente para tarefas de optimização, ou pesquisa de soluções num espaço de resultados de uma função. Há um conjunto de pontos, ou indivíduos, denominado população, que é avaliado, bastando, para tal conhecer a função objectivo. Isto é, os algoritmos evolucionários não precisam conhecer derivadas ou outras características particulares da função objectivo, nem quaisquer características do domínio do problema. Os AEs também têm em comum uma organização do algoritmo em ciclos ou iterações, também denominados gerações, pela semelhança com o processo evolucionário, compostos por um conjunto de passos semelhante: 1. Gera uma população inicial aleatória; 2. Selecção: Aplica um operador de selecção, com base numa avaliação dos indivíduos da população, para definir um grupo mais restrito de acasalamento; 3. Reprodução: Aplica um operador de recombinação genética, para criar descendentes com base no material dos indivíduos no grupo de acasalamento; 13

14 4. Mutação: Aplica um operador que altera aleatoriamente um indivíduo, para provocar variações no material existente na população; 5. Substituição: Substitui parcial, ou totalmente, a população da geração anterior, pela que foi gerada na geração actual, para obter melhorias expectáveis; 6. Repete desde o passo 2 até atingir o critério de paragem, que, normalmente é o número de gerações ou a convergência da população. Na figura 1.3 apresenta-se graficamente o funcionamento geral de um algoritmo evolucionário. O operador de dizimação é mais popular na programação genética, mas pode ter utilidade em qualquer AE, para verificar se uma solução pertence ao domínio do problema. Operadores de manipulação da população Selecção Operadores de manipulação de indivíduos Reprodução P 0 Mutação Substituição Dizimação Figura 1.3: Esquema geral de uma geração de um Algoritmo Evolucionário Note-se que, na figura 1.3, é feita uma separação entre operadores que discriminam indivíduos de uma população (Selecção, Substituição e Dizimação) e operadores que alteram os valores do conjunto de soluções, por manipulação indivíduo a indivíduo (Reprodução e Mutação). O primeiro conjunto de operadores tem como objectivo reter os indivíduos mais aptos (as melhores soluções), em desfavor dos menos aptos, com o objectivo de manter as melhores soluções existentes e pesquisar o espaço baseado nelas. O segundo conjunto de operadores, é o que introduz diversidade no conjunto de soluções, quer gerando novas, com base na recombinação de soluções existentes, quer procurando alternativas, através de mudanças aleatórias de elementos de uma solução. Saliente-se ainda, das propriedades dos AEs, a sua elevada robustez. Um AE consegue ter um desempenho bom, na pesquisa de uma solução óptima para, virtualmente, qualquer tipo de problema. Pode não conseguir atingir o óptimo, mas o nível de soluções a que chega é, muitas vezes, próximo do 14

15 óptimo. É, porventura, esta propriedade que lhes tem conferido tanta popularidade. A maioria dos métodos de optimização são muito mais específicos e mais difíceis de aplicar. Aliás, actualmente, verifica-se, com frequência a atitude de deixa experimentar o que isto dá com um AE, quando se está perante um problema complexo para o qual não se conhece a solução. Apesar das diferenças entre os vários AEs, não se pode dizer que qualquer um deles seja superior a outro. Por outro lado as diferenças acabam por se esbater quando se generaliza um dos algoritmos ou se introduz um novo operador, que acaba por torná-lo mais próximo dos outros. Vamos analisar com mais detalhe os AEs referidos anteriormente Algoritmos Genéticos Os Algoritmos Genéticos (AG) foram propostos por John Holland na década de 60, para modelar rigorosamente os processos adaptativos naturais. Posteriormente veio a verificar-se a utilidade do modelo também para problemas de optimização e, actualmente, é essa a sua principal utilização, [Goldberg, 1989, Mitchell, 1996]. Na sua forma original, denominada o modelo canónico do AG 5, os indivíduos são representados por cadeias de bits e existem apenas 3 operadores, Selecção, Recombinação e Mutação, cada um deles explicitamente definido: Selecção por roleta; Recombinação por sobrecruzamento a um ponto; Mutação bit a bit. Figura 1.4: Função simples unimodal Um exemplo simples ajudará a seguir o funcionamento de cada um destes operadores específicos. Suponha-se que se pretende optimizar a função de uma variável, f(x) = 1024 (x 32) 2, com x [0, 63], representada na 5 SGA - Simple Genetic Algorithm, em inglês 15

16 figura 1.4. Esta função será a função de adaptação com que cada indivíduo será avaliado. É uma função unimodal, ou seja, apenas com um extremo, neste caso um máximo, no domínio de x. A variável x, representada em binário corresponde a 6 bits. Deste modo cada indivíduo será representado por uma cadeia de 6 bits, também designada cromossoma. Suponhamos agora uma população de 4 indivíduos, gerada aleatoriamente, como representada na tabela 1.2. i binário x i f(x i ) %f(x i ) E[n(x i )] Roleta ,6 0, ,7 0, ,9 1, ,8 1, ,0 4 4 Média 627 Máx. 975 Tabela 1.2: População inicial Representou-se, nas quatro primeiras colunas da tabela 1.2, um inteiro para designar cada indivíduo, o seu valor em binário, o correspondente valor em decimal e o valor resultante da função de adaptação. Na 5 a coluna, representa-se a percentagem correspondente ao valor da função de adaptação de cada indivíduo. O valor da 6 a coluna é o número esperado de cópias de cada indivíduo seleccionado pelo método de roleta, para o grupo de acasalamento. A selecção pelo método da roleta corresponde a escolher aleatoriamente indivíduos para o grupo de acasalamento de modo proporcional à percentagem da função de adaptação de cada indivíduo. Conceptualmente é como se, por cada selecção, se fizesse andar uma roleta, em que a área da roleta ocupada por cada indivíduo é proporcional à respectiva percentagem da função de adaptação, tal como representado na figura 1.5. A posição em que pára a roleta corresponde ao indivíduo seleccionado. Na última coluna da tabela 1.2, representa-se o resultado de uma simulação da roleta. Note-se que, apesar de o 4 indivíduo ter uma maior probabilidade de selecção do que o indivíduo 2, o resultado estocástico da roleta favoreceu este último, bem como o indivíduo 3. Assim, os indivíduos 1 e 4 serão extintos nesta geração. Significa, portanto que, para o operador de reprodução, haverá o seguinte grupo de acasalamento: 16

17 Figura 1.5: Roleta correspondente à tabela Formam-se dois pares de indivíduos neste grupo e para cada um lançase um número aleatório entre 1 e 5. O resultado vai definir o denominado ponto de sobrecruzamento que se encontra já representado nos dois pares. No primeiro o ponto de sobrecruzamento resultou em 2 e no 2 o par o ponto de sobrecruzamento é 5. A aplicação do sobrecruzamento num par implica gerar dois descendentes. Cada descendente recebe o lado esquerdo do cromossoma de um dos pais e o lado direito do outro. Como resultado da aplicação do sobrecruzamento ao grupo de acasalamento anterior, obtemos a seguinte população intermédia: Note-se que, o segundo par, sendo constituído por indivíduos idênticos não sofreu alterações por aplicação do sobrecruzamento. Finalmente, aplica-se o operador de mutação bit a bit. Corresponde a aleatoriamente alterar um bit, com uma probabilidade baixa. Suponhamos que a mutação apenas afectou o último indivíduo da população intermédia anterior, alterando-lhe o 2 o bit. Obtemos assim a população que vai substituir a anterior, constituindo a nova população P 0 (ver fig. 1.3). O resultado, já com a avaliação feita encontra-se na tabela 1.3. O resultado a reter, é a subida da adaptação média da população, de 627 para 703, precisamente o objectivo geral do AG. Também se pode observar, que o futuro sobrecruzamento do material genético dos dois indivíduos mais adaptados da população é passível de fazer atingir o óptimo, que se situa em torno de x =

18 i binário x i f(x i ) %f(x i ) , , , , ,0 Média 703 Máx. 975 Tabela 1.3: População da 2 a geração Com este exemplo pode confirmar-se as características gerais de um algoritmo genético: Preservação e maior reprodução dos indivíduos mais aptos; A combinação, aleatória, de partes das sequências de bits, pode dar origem a melhores sequências do que as originais; Estes dois operadores, selecção e reprodução, efectuam uma pesquisa robusta no espaço de soluções do problema; O operador de mutação é secundário e serve sobretudo para recuperar material genético que possa ter sido eliminado de toda a população, por aplicação do operador de selecção. No que diz respeito à aplicação dos AGs deve ter-se em conta a enorme variedade que cada operador tem. Há uma quantidade praticamente inumerável de operadores de selecção, de reprodução e de mutação, bem como de sobreposição. Os resultados destas variantes de operadores nem sempre têm bons resultados, muitas vezes por não existir uma análise teórica sólida que os fundamente (ver [Goldberg, 2002]). Se bem que a afinação dos parâmetros de cada operador escolhido dependa do problema em causa, há a necessidade de ter uma base de partida com garantias. Actualmente, as recomendações para a aplicação de um AG, sem haver conhecimento específico que possa ser, de algum modo, integrado, vão no sentido de usar um conjunto de operadores comum, que passamos a descrever. Selecção por torneio k: Escolhem-se aleatoriamente k indivíduos da população e o que tiver maior adaptação passa à geração seguinte. Repete-se o processo N vezes, sendo N a dimensão da população. Este tipo de selecção permite controlar a pressão selectiva, que é tanto maior 18

19 quanto maior for k, e evita problemas que o método da roleta arrasta, relativos à variância da função de adaptação numa população. Valores típicos de k são entre 2 e 4. Sobrecruzamento a um ponto ou uniforme, com probabilidade elevada: Já se viu o sobrecruzamento a um ponto. O sobrecruzamento uniforme, corresponde a escolher, para o descendente A, bit a bit, de um dos cromossomas dos pais, A e B, com probabilidade uniforme. Para o descendente B obtém-se cada bit do pai complementar (o não escolhido por A para esse bit). Esta forma de sobrecruzamento tende a homogeneizar mais os descendentes e pode ser útil quando se pretende uma maior mistura do material genético. Se não houver razão para isso deve manter-se o sobrecruzamento a um ponto. A probabilidade de sobrecruzamento indica, para cada par, qual a probabilidade de efectuar o sobrecruzamento. Uma probabilidade elevada (p c 0, 7) assegura que a maior parte dos indivíduos do grupo de acasalamento sobre uma recombinação. Os que não fazem sobrecruzamento passam, como clones, ao passo seguinte. Mutação bit a bit: É a que já vimos anteriormente. Recomenda-se uma taxa de mutação que não provoque grandes mudanças globalmente na população. Em cada geração deve haver menos de 10% de indivíduos mutados. Portanto, se tivermos uma população de N indivíduos, cada um com um cromossoma de l bits, a probabilidade de mutação de um bit deve verificar p m 1/lN. Sobreposição baixa: O número de indivíduos que se mantém da população da geração anterior não deve exceder 10guardarmos, separadamente, o melhor indivíduo de cada geração, a sobreposição deve mesmo ser 0. Evita-se assim que o algoritmo convirja demasiado depressa para as boas soluções intermédias, que podem constituir extremos locais. Para além destes operadores há ainda um outro parâmetro extremamente importante que é a dimensão da população. Deve escolher-se um valor equilibrado. Nem muito grande para que o funcionamento do AG não seja demasiado lento, nem muito pequeno para que haja suficiente material genético sobre o qual trabalhar. Um valor em torno de 100 indivíduos é uma boa referência Programação Genética A Programação Genética (PG) é normalmente encarada como um caso particular de configuração de um AG, que, em vez de evoluir cadeias de bits, 19

20 trabalha com programas, [Koza, 1992]. John Koza propôs esta modalidade originalmente com a linguagem LISP, mas posteriormente outros investigadores têm usado linguagens diferentes, como C, ou Assembly. O objectivo é fazer evoluir um programa, de modo a que o seu desempenho seja óptimo numa determinada tarefa de processamento de dados 6. Para a preparação de PG para resolver um problema tem de se decidir quais os componentes que vão ser usados na construção dos programas. Podem dividir-se em dois tipos: Funções: recebem argumentos e fazem uma computação devolvendo um resultado, que pode, eventualmente, ser usado como argumento doutra função, etc.; Terminais: são elementos que representam um valor, ou um símbolo. Podem ser constantes, ou variáveis (representando, por exemplo, uma entrada do programa). O conjunto destes componentes tem de verificar considerar duas propriedades fundamentais para que seja possível encontrar uma solução: Fecho - Todas as funções devem aceitar qualquer valor retornado por outra função e qualquer valor possível de um elemento terminal. Esta propriedade garante que qualquer troço de programa pode aceitar um resultado parcial de outro troço; Suficiência - Deve ser possível, recorrendo ao conjunto de funções e ao conjunto de terminais definidos, construir um programa que resolva o problema em causa. Esta propriedade garante que não há falta de componentes para se conseguir construir uma solução viável. Deve ter-se em conta que os programas são estruturas hierárquicas (podem ser vistos como uma árvore invertida - raiz no topo e folhas em baixo), ao contrário das cadeias de bits, que não têm qualquer estrutura. Assim, é normal, em PG, trabalhar-se com cromossomas de dimensão variável, conforme a evolução da estrutura do programa de cada indivíduo. É, portanto, necessário adaptar alguns operadores dos AGs, de modo a ter em conta estas especificidades. Nomeadamente tem de se criar versões específicas, para PG, dos operadores que manipulam o material genético, como o de reprodução e o de mutação. Dado que os cromossomas podem ser de dimensões diferentes, no operador de sobrecruzamento, em vez de se obter um ponto de sobrecruzamento comum 6 Esta designação é genérica. O programa pode ser tão diverso como um controlador de um robô 20

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

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

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

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

Leia mais

- Computação Evolutiva -

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

Leia mais

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

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

Leia mais

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

Algoritmos Genéticos (GA s)

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

Leia mais

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

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

Leia mais

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

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

Leia mais

Inteligência Artificial

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

Leia mais

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

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

Leia mais

Computação BioInspirada

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

Leia mais

PE-MEEC 1S 09/10 118. Capítulo 4 - Variáveis aleatórias e. 4.1 Variáveis. densidade de probabilidade 4.2 Valor esperado,

PE-MEEC 1S 09/10 118. Capítulo 4 - Variáveis aleatórias e. 4.1 Variáveis. densidade de probabilidade 4.2 Valor esperado, Capítulo 4 - Variáveis aleatórias e distribuições contínuas 4.1 Variáveis aleatórias contínuas. Função densidade de probabilidade 4.2 Valor esperado, variância e algumas das suas propriedades. Moda e quantis

Leia mais

Modelo de Solow: Efeitos de Transição Dinâmica

Modelo de Solow: Efeitos de Transição Dinâmica Capítulo 4 Modelo de Solow: Efeitos de Transição Dinâmica No capítulo anterior vimos que, quando a economia atinge o seu equilíbrio de longo prazo, todas as variáveis endógenas passam a crescer a uma taxa

Leia mais

O Método Simplex para

O Método Simplex para O Método Simplex para Programação Linear Formas de Programas Lineares O problema de Programação Matemática consiste na determinação do valor de n variáveis x 1, x 2,, x n que tornam mínimo ou máximo o

Leia mais

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia e não têm a intenção de substituir o livro-texto, nem qualquer outra bibliografia. Introdução O Cálculo Numérico

Leia mais

Unidade de Controlo. Unidade Aritmética e Lógica

Unidade de Controlo. Unidade Aritmética e Lógica Métodos de Programação I Departamento de Matemática, FCTUC 8 Modelo de Organização de um Computador Digital - Modelo de Von Neumann Neste modelo esquemático de organização de um computador digital tradicional

Leia mais

Sistemas Robóticos. Sumário. Introdução. Introdução. Arquitecturas de Controlo. Carlos Carreto

Sistemas Robóticos. Sumário. Introdução. Introdução. Arquitecturas de Controlo. Carlos Carreto umário istemas Robóticos de Controlo Introdução deliberativas reactivas híbridas baseadas em comportamentos Carlos Carreto Curso de Engenharia Informática Ano lectivo 2003/2004 Escola uperior de Tecnologia

Leia mais

Curso Técnico Superior Profissional em Desenvolvimento Web

Curso Técnico Superior Profissional em Desenvolvimento Web Curso Técnico Superior Profissional em Desenvolvimento Web PROVA DE AVALIAÇÃO DE CAPACIDADE REFERENCIAL DE CONHECIMENTOS E APTIDÕES Áreas relevantes para o curso de acordo com o n.º 4 do art.º 11.º do

Leia mais

Curso: Logística e Transportes Disciplina: Estatística Profa. Eliane Cabariti. Distribuição Normal

Curso: Logística e Transportes Disciplina: Estatística Profa. Eliane Cabariti. Distribuição Normal Curso: Logística e Transportes Disciplina: Estatística Profa. Eliane Cabariti Distribuição Normal 1. Introdução O mundo é normal! Acredite se quiser! Muitos dos fenômenos aleatórios que encontramos na

Leia mais

3. Características amostrais. Medidas de localização e dispersão

3. Características amostrais. Medidas de localização e dispersão Estatística Descritiva com Excel Complementos. 77 3. Características amostrais. Medidas de localização e dispersão 3.1- Introdução No módulo de Estatística foram apresentadas as medidas ou estatísticas

Leia mais

A UTILIZAÇÃO DE MODELOS MATEMÁTICOS PARA A ESTIMAÇÃO DA PROCURA DE TRANSPORTES. José M. Viegas (Março 2000)

A UTILIZAÇÃO DE MODELOS MATEMÁTICOS PARA A ESTIMAÇÃO DA PROCURA DE TRANSPORTES. José M. Viegas (Março 2000) A UTILIZAÇÃO DE MODELOS MATEMÁTICOS PARA A ESTIMAÇÃO DA PROCURA DE TRANSPORTES José M. Viegas (Março 2000) I - A NECESSIDADE DO RECURSO AOS MODELOS MATEMÁTICOS PARA A ESTIMAÇÃO DA PROCURA DE TRANSPORTES

Leia mais

Capítulo 1. Linguagens e processadores

Capítulo 1. Linguagens e processadores Capítulo 1. 1. Linguagens 1.1. Definição Definição : Uma linguagem L sobre um alfabeto, também designado com frequência por vocabulário, V, é um conjunto de frases, em que cada frase é uma sequência de

Leia mais

b : nas representações gráficas de funções do tipo

b : nas representações gráficas de funções do tipo do as suas escolhas a partir daí. Nesta situação, tendem a identificar as assímptotas verticais, as assímptotas horizontais e a associar as representações analítica e gráfica que têm estas características

Leia mais

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

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

Leia mais

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

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

Leia mais

NOTA À 2ª EDIÇÃO... VII PREFÁCIO... IX. No Renascimento de uma Nova Era... IX PREÂMBULO... XIII. Organização do livro... xiii. Destinatários...

NOTA À 2ª EDIÇÃO... VII PREFÁCIO... IX. No Renascimento de uma Nova Era... IX PREÂMBULO... XIII. Organização do livro... xiii. Destinatários... NOTA À 2ª EDIÇÃO... VII PREFÁCIO... IX No Renascimento de uma Nova Era... IX Índice PREÂMBULO... XIII Organização do livro... xiii Destinatários... xiv Utilização do livro... xiv Agradecimentos... xiv

Leia mais

Layouts Balanceamento de Linhas. Maria Antónia Carravilla

Layouts Balanceamento de Linhas. Maria Antónia Carravilla Layouts Balanceamento de Linhas Maria Antónia Carravilla Abril 1998 1. Layouts... 1 1.1 Definição, tipos de layouts... 1 1.1.1 Definição... 1 1.1.2 Factores determinantes para a construção de um layout...

Leia mais

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

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

Leia mais

2. Método de Monte Carlo

2. Método de Monte Carlo 2. Método de Monte Carlo O método de Monte Carlo é uma denominação genérica tendo em comum o uso de variáveis aleatórias para resolver, via simulação numérica, uma variada gama de problemas matemáticos.

Leia mais

Sistemas Auto-organizáveis BC0005

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

Leia mais

SISTEMAS INTELIGENTES DE APOIO À DECISÃO

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

Leia mais

UNIVERSIDADE DO ALGARVE ESCOLA SUPERIOR DE TECNOLOGIA

UNIVERSIDADE DO ALGARVE ESCOLA SUPERIOR DE TECNOLOGIA UNIVERSIDADE DO ALGARVE ESCOLA SUPERIOR DE TECNOLOGIA CURSO BIETÁPICO EM ENGENHARIA CIVIL º ciclo Regime Diurno/Nocturno Disciplina de COMPLEMENTOS DE MATEMÁTICA Ano lectivo de 7/8 - º Semestre Etremos

Leia mais

IC Inteligência Computacional Redes Neurais. Redes Neurais

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

Leia mais

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia

Leia mais

EXCEL TABELAS DINÂMICAS

EXCEL TABELAS DINÂMICAS Informática II Gestão Comercial e da Produção EXCEL TABELAS DINÂMICAS (TÓPICOS ABORDADOS NAS AULAS DE INFORMÁTICA II) Curso de Gestão Comercial e da Produção Ano Lectivo 2002/2003 Por: Cristina Wanzeller

Leia mais

Introdução. Capítulo 1

Introdução. Capítulo 1 Capítulo 1 Introdução Em computação, muitos problemas são resolvidos por meio da escrita de um algoritmo que especifica, passo a passo, como resolver um problema. No entanto, não é fácil escrever um programa

Leia mais

Transcrição Automática de Música

Transcrição Automática de Música Transcrição Automática de Música Ricardo Rosa e Miguel Eliseu Escola Superior de Tecnologia e Gestão do Instituto Politécnico de Leiria Departamento de Engenharia Informática A transcrição automática de

Leia mais

Gestão de Configurações II

Gestão de Configurações II Gestão de Configurações II Bibliografia Livro: Software Configuration Management Patterns: Effective Teamwork, Practical Integration Gestão de Projecto 14 Padrões de Gestão Os padrões de gestão de configurações

Leia mais

APLICAÇÕES DA DERIVADA

APLICAÇÕES DA DERIVADA Notas de Aula: Aplicações das Derivadas APLICAÇÕES DA DERIVADA Vimos, na seção anterior, que a derivada de uma função pode ser interpretada como o coeficiente angular da reta tangente ao seu gráfico. Nesta,

Leia mais

COMPUTAÇÃO EVOLUTIVA

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

Leia mais

Satisfação de Restrições. Capítulo 5 (disponível online)

Satisfação de Restrições. Capítulo 5 (disponível online) Satisfação de Restrições Capítulo 5 (disponível online) Sumário Problemas de Satisfação de Restrições (CSPs) Procura com Retrocesso para CSPs Procura Local para CSPs Estrutura dos CSPs Problemas de Satisfação

Leia mais

3 Método de Monte Carlo

3 Método de Monte Carlo 25 3 Método de Monte Carlo 3.1 Definição Em 1946 o matemático Stanislaw Ulam durante um jogo de paciência tentou calcular as probabilidades de sucesso de uma determinada jogada utilizando a tradicional

Leia mais

Codificação da informação. Execução do programa. Codificação binária. Representação de inteiros positivos. Representação binária

Codificação da informação. Execução do programa. Codificação binária. Representação de inteiros positivos. Representação binária Execução do a calcula-se determinada solução (output) para determinado problema (input) usando um a que é executado no dados do problema (informação de entrada) a solução (informação resultante) Codificação

Leia mais

2 A Derivada. 2.1 Velocidade Média e Velocidade Instantânea

2 A Derivada. 2.1 Velocidade Média e Velocidade Instantânea 2 O objetivo geral desse curso de Cálculo será o de estudar dois conceitos básicos: a Derivada e a Integral. No decorrer do curso esses dois conceitos, embora motivados de formas distintas, serão por mais

Leia mais

Módulo 6: Inteligência Artificial

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

Leia mais

Métodos de Programação I 2. 1 Ana Maria de Almeida CAPÍTULO 2 CONTEÚDO

Métodos de Programação I 2. 1 Ana Maria de Almeida CAPÍTULO 2 CONTEÚDO Métodos de Programação I 2. 1 CAPÍTULO 2 CONTEÚDO 2.1 Programação: Conceitos Fundamentais 2.1.1 Fases de construção de um programa executável 2.2.2 Metodologia da programação 2.2 A Linguagem Pascal 2.2.1

Leia mais

Laboratórios de Informática II LEI (1 o ano) Projecto Integrado. Ano Lectivo de 2006/07

Laboratórios de Informática II LEI (1 o ano) Projecto Integrado. Ano Lectivo de 2006/07 Laboratórios de Informática II LEI (1 o ano) Projecto Integrado Ano Lectivo de 2006/07 1 Objectivos Com este projecto integrado pretende-se sedimentar os conhecimentos introduzidos nas aulas teóricas de

Leia mais

Considerações Finais. Capítulo 8. 8.1- Principais conclusões

Considerações Finais. Capítulo 8. 8.1- Principais conclusões Considerações Finais Capítulo 8 Capítulo 8 Considerações Finais 8.1- Principais conclusões Durante esta tese foram analisados diversos aspectos relativos à implementação, análise e optimização de sistema

Leia mais

Manual PowerPoint 2000

Manual PowerPoint 2000 Manual PowerPoint 2000 Índice 1. INTRODUÇÃO 1 2. DIRECTRIZES PARA APRESENTAÇÕES DE DIAPOSITIVOS 1 3. ECRÃ INICIAL 2 4. TIPOS DE ESQUEMA 2 5. ÁREA DE TRABALHO 3 5.1. ALTERAR O ESQUEMA AUTOMÁTICO 4 6. MODOS

Leia mais

ActivALEA. active e actualize a sua literacia

ActivALEA. active e actualize a sua literacia ActivALEA active e actualize a sua literacia N.º 25 HIISTOGRAMA Por: Maria Eugénia Graça Martins Departamento de Estatística e Investigação Operacional da FCUL memartins@fc.ul.pt Emília Oliveira Escola

Leia mais

Conhecer melhor os números

Conhecer melhor os números A partir do Currículo Nacional de Matemática do 7º ano de escolaridade desenvolvem-se actividades com recurso ao computador utilizando essencialmente Excel e Geogebra Conhecer melhor os números Esta unidade

Leia mais

2. Enquadramento metodológico

2. Enquadramento metodológico 1. A Agenda 21 LOCAL 1. Em 1992, no Rio de Janeiro, a Conferência das Nações Unidas sobre Ambiente e Desenvolvimento (CNUAD) aprovou um Plano de Acção para o Século 21, intitulado Agenda 21. Realizada

Leia mais

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

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

Leia mais

Identificação de Caracteres com Rede Neuronal Artificial com Interface Gráfica

Identificação de Caracteres com Rede Neuronal Artificial com Interface Gráfica Identificação de Caracteres com Rede Neuronal Artificial com Interface Gráfica João Paulo Teixeira*, José Batista*, Anildio Toca**, João Gonçalves**, e Filipe Pereira** * Departamento de Electrotecnia

Leia mais

AVALIAÇÃO DE PROGRAMAS E DE PROJECTOS PEDAGÓGICOS

AVALIAÇÃO DE PROGRAMAS E DE PROJECTOS PEDAGÓGICOS AVALIAÇÃO DE PROGRAMAS E DE PROJECTOS PEDAGÓGICOS Prof. Domingos Fernandes/Portugal* A avaliação é uma prática social cuja presença é cada vez mais indispensável para caracterizar, compreender, divulgar

Leia mais

E se conseguisse reduzir os seus custos de energia até 20%?

E se conseguisse reduzir os seus custos de energia até 20%? E se conseguisse reduzir os seus custos de energia até 20%? Uma solução eficaz de Gestão Energética para o Retalho Eficiência Energética no Retalho Será que está a gastar mais em energia do que necessita?

Leia mais

3 Métodos de Otimização

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

Leia mais

1 - Processamento de dados

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

Leia mais

- Aula 1 - ARQUITETURA DE COMPUTADORES

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

Leia mais

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu 1 Programação Não Linear Aula 25: Programação Não-Linear - Funções de Uma única variável Mínimo; Mínimo Global; Mínimo Local; Optimização Irrestrita; Condições Óptimas; Método da Bissecção; Método de Newton.

Leia mais

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

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

Leia mais

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas) ENIAC Introdução aos Computadores e à ção (Noções Básicas) Introdução aos Computadores e à ção (Noções Básicas) 1 Introdução aos Computadores e à ção (Noções Básicas) 2 O transistor foi inventado em 1947

Leia mais

De Arte a Ciência: Regras para o Desenho de Software

De Arte a Ciência: Regras para o Desenho de Software De Arte a Ciência: Regras para o Desenho de Software Neste artigo é apresentado um conjunto de regras de desenho um padrão de desenho universal associado ao princípio fundamental e aos requisitos axiomáticos.

Leia mais

PORTUGAL 2020: EMPREENDEDORISMO E CAPITAL DE RISCO

PORTUGAL 2020: EMPREENDEDORISMO E CAPITAL DE RISCO PORTUGAL 2020: EMPREENDEDORISMO E CAPITAL DE RISCO A noção de Empreendedorismo, como uma competência transversal fundamental para o desenvolvimento humano, social e económico, tem vindo a ser reconhecida

Leia mais

A MATEMÁTICA NO ENSINO SUPERIOR POLICIAL 1

A MATEMÁTICA NO ENSINO SUPERIOR POLICIAL 1 A MATEMÁTICA NO ENSINO SUPERIOR POLICIAL 1 A IMPORTÂNCIA DA MATEMÁTICA O desenvolvimento das sociedades tem sido também materializado por um progresso acentuado no plano científico e nos diversos domínios

Leia mais

Capítulo 4 - Equações Diferenciais às Derivadas Parciais

Capítulo 4 - Equações Diferenciais às Derivadas Parciais Capítulo 4 - Equações Diferenciais às Derivadas Parciais Carlos Balsa balsa@ipb.pt Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança Matemática Aplicada - Mestrados Eng. Química

Leia mais

Aula 3 - Sistemas de Numeração

Aula 3 - Sistemas de Numeração UEM Universidade Estadual de Maringá DIN - Departamento de Informática Disciplina: Fundamentos da Computação Profª Thelma Elita Colanzi Lopes thelma@din.uem.br Aula 3 - Sistemas de Numeração O ser humano,

Leia mais

Alguns apontamentos da história da Análise Numérica

Alguns apontamentos da história da Análise Numérica Análise Numérica 1 Âmbito da Análise Numérica Determinar boas soluções aproximadas num tempo computacional razoável? Slide 1 Porquê? Porque em muitos problemas matemáticos e respectivas aplicações práticas

Leia mais

Modelamento e simulação de processos

Modelamento e simulação de processos Modelamento e simulação de processos 4. Método de Monte Carlo Prof. Dr. André Carlos Silva 1. INTRODUÇÃO O Método de Monte Carlo (MMC) é um método estatístico utilizado em simulações estocásticas com diversas

Leia mais

2 Máquinas de Estados em Jogos Eletrônicos

2 Máquinas de Estados em Jogos Eletrônicos 2 Máquinas de Estados em Jogos Eletrônicos Máquinas de Estados são um conceito importante em várias áreas da ciência. Em particular, a engenharia e a computação utilizam Máquinas de Estados como ferramentas

Leia mais

Analise filogenética baseada em alinhamento de domínios

Analise filogenética baseada em alinhamento de domínios Analise filogenética baseada em alinhamento de domínios Moléculas biológicas e evolução Como já foi comentado anteriormente sabemos que o DNA de qualquer espécie de ser vivo sofre mutações ao longo do

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

Análise de Sistemas. Conceito de análise de sistemas

Análise de Sistemas. Conceito de análise de sistemas Análise de Sistemas Conceito de análise de sistemas Sistema: Conjunto de partes organizadas (estruturadas) que concorrem para atingir um (ou mais) objectivos. Sistema de informação (SI): sub-sistema de

Leia mais

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos.

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. 1. Introdução aos Sistemas de Bases de Dados Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. O conceito de base de dados faz hoje parte do nosso

Leia mais

Disciplina: TRANSPORTES. Sessão 8: O Modelo de 4 passos (1ª parte):

Disciplina: TRANSPORTES. Sessão 8: O Modelo de 4 passos (1ª parte): MESTRADO INTEGRADO DE ENGENHARIA CIVIL Disciplina: TRANSPORTES Prof. Responsável: José Manuel Viegas Sessão 8: O Modelo de 4 passos (1ª parte): Geração e 2010 / 2011 1/17 MODELOS GLOBAIS (I) Para além

Leia mais

ILM e as Arquitecturas Empresariais por Pedro Sousa

ILM e as Arquitecturas Empresariais por Pedro Sousa ILM e as Arquitecturas Empresariais por Pedro Sousa Neste artigo clarifica-se os objectivos do ILM (Information Life Cycle Management) e mostra-se como estes estão dependentes da realização e manutenção

Leia mais

TIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado.

TIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado. Conceitos relativos à Informação 1. Informação O que á a informação? Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado. 2. Dados Em informática designa-se

Leia mais

INTRODUÇÃO AOS MÉTODOS FACTORIAIS

INTRODUÇÃO AOS MÉTODOS FACTORIAIS Capítulo II INTRODUÇÃO AOS MÉTODOS FACTORIAIS A Análise Factorial de Correspondências é uma técnica simples do ponto de vista matemático e computacional. Porém, devido ao elevado suporte geométrico desta

Leia mais

Métodos Numéricos e Estatísticos Parte I-Métodos Numéricos Teoria de Erros

Métodos Numéricos e Estatísticos Parte I-Métodos Numéricos Teoria de Erros Métodos Numéricos e Estatísticos Parte I-Métodos Numéricos Lic. Eng. Biomédica e Bioengenharia-2009/2010 O que é a Análise Numérica? Ramo da Matemática dedicado ao estudo e desenvolvimento de métodos (métodos

Leia mais

1. Apresentação da Prova... 2. 2. Resultados Nacionais Globais... 4. 3. Resultados Nacionais por Área Temática... 5

1. Apresentação da Prova... 2. 2. Resultados Nacionais Globais... 4. 3. Resultados Nacionais por Área Temática... 5 0 ÍNDICE PROVA DE AFERIÇÃO DE MATEMÁTICA 2.º CICLO 1. Apresentação da Prova... 2 2. Resultados Nacionais Globais... 4 3. Resultados Nacionais por Área Temática... 5 4. Resultados Nacionais por Item...

Leia mais

Cálculo numérico. ln 1 = 0. Representação numérica. Exemplo. Exemplos. Professor Walter Cunha. ln 1. I s

Cálculo numérico. ln 1 = 0. Representação numérica. Exemplo. Exemplos. Professor Walter Cunha. ln 1. I s Representação numérica Cálculo numérico Professor Walter Cunha Um conjunto de ferramentas ou métodos usados para se obter a solução de problemas matemáticos de forma aproximada. Esses métodos se aplicam

Leia mais

1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2

1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2 Índice i Índice Capítulo 4 Estrutura de Dados não sequencial com armazenamento não sequencial ( Árvore ) 1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2 2. Árvores binárias... 2

Leia mais

Paulo César Especialista de Soluções da ATM informática paulo.cesar@atminformatica.pt

Paulo César Especialista de Soluções da ATM informática paulo.cesar@atminformatica.pt Desktop Virtual Paulo César Especialista de Soluções da ATM informática paulo.cesar@atminformatica.pt Tendo em conta que a Virtualização será um dos principais alvos de investimento para o ano 2009 (dados

Leia mais

CAPÍTULO 4 Implementação do modelo num programa de cálculo automático

CAPÍTULO 4 Implementação do modelo num programa de cálculo automático CAPÍTULO 4 Implementação do modelo num programa de cálculo automático Neste capítulo, será feita a demonstração da aplicação do modelo num programa de cálculo automático, desenvolvido em linguagem de programação

Leia mais

CRM e Prospecção de Dados

CRM e Prospecção de Dados CRM e Prospecção de Dados Marília Antunes aula de 18 de Maio 09 6 Modelos de regressão (continuação) 6.1 Interpretação do modelo ajustado Os coeficientes do modelo de regressão múltipla podem ser interpretados

Leia mais

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

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

Leia mais

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis. 3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades

Leia mais

Folha de cálculo. Excel. Agrupamento de Escolas de Amares

Folha de cálculo. Excel. Agrupamento de Escolas de Amares Folha de cálculo Excel Agrupamento de Escolas de Amares Índice 1. Funcionalidades básicas... 3 1.1. Iniciar o Excel... 3 1.2. Criar um livro novo... 3 1.3. Abrir um livro existente... 3 1.4. Inserir uma

Leia mais

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

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

Leia mais

X.0 Sucessões de números reais 1

X.0 Sucessões de números reais 1 «Tal como a tecnologia requer as tøcnicas da matemætica aplicada, tambøm a matemætica aplicada requer as teorias do nœcleo central da matemætica pura. Da l gica matemætica topologia algøbrica, da teoria

Leia mais

Resolução de Problemas Com Procura. Capítulo 3

Resolução de Problemas Com Procura. Capítulo 3 Resolução de Problemas Com Procura Capítulo 3 Sumário Agentes que resolvem problemas Tipos de problemas Formulação de problemas Exemplos de problemas Algoritmos de procura básicos Eliminação de estados

Leia mais

Princípios de selecção e melhoramento genético

Princípios de selecção e melhoramento genético Introdução Para qualquer criador a melhoria da qualidade das suas aves deverá ser uma necessidade constante. Se, em parte, isso se consegue pela melhoria e atenção dadas a diversos aspectos como o alojamento

Leia mais

A. Síntese e apresentação do estudo

A. Síntese e apresentação do estudo A. Síntese e apresentação do estudo 1. OBJECTIVOS DO PRESENTE ESTUDO O objectivo do presente estudo é a avaliação ex post da política de promoção publicitária dos produtos agrícolas no período de 1994-2000

Leia mais

Tolerância a Faltas. 8/28/2003 José Alves Marques. Sistema Computacional

Tolerância a Faltas. 8/28/2003 José Alves Marques. Sistema Computacional Tolerância a Faltas Sistema Computacional Sistema computacional: Formado por um conjunto de componentes internas Contém um estado interno Está sujeito a um conjunto de entradas, ou estímulos externos Tem

Leia mais

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

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

Leia mais

Diagrama de entidades relacionamentos (abordado anteriormente) Diagrama de Fluxo de Dados (DFD)

Diagrama de entidades relacionamentos (abordado anteriormente) Diagrama de Fluxo de Dados (DFD) Diagrama de entidades relacionamentos (abordado anteriormente) Prod_Forn N N 1 Stock 1 1 N Prod_Enc N 1 N 1 Fornecedor Movimento Encomenda Diagrama de Fluxo de Dados (DFD) Ferramenta de modelação gráfica,

Leia mais

DEIDepartamento. Programação III Engenharia Informática e Comunicações. Engenharia

DEIDepartamento. Programação III Engenharia Informática e Comunicações. Engenharia Engenharia DEIDepartamento Informática Morro do Lena, Alto Vieiro Apart. 4163 2401 951 Leiria Tel.: +351 244 820 300 Fax.: +351 244 820 310 E-mail: estg@estg.iplei.pt http://www.estg.iplei.pt Programação

Leia mais

Licenciatura em Engenharia Electrotécnica e de Computadores 1998/99. Erros

Licenciatura em Engenharia Electrotécnica e de Computadores 1998/99. Erros Licenciatura em Engenharia Electrotécnica e de Computadores Análise Numérica 1998/99 Erros Objectivos: Arredondar um número para n dígitos significativos. Determinar os erros máximos absoluto e relativo

Leia mais

Competição. Regras e Especificações Técnicas Classe UIP (2002/3/11)

Competição. Regras e Especificações Técnicas Classe UIP (2002/3/11) Competição Regras e Especificações Técnicas Classe UIP (2002/3/11) Índice Pág. 1. ROBOT... 1 Dimensões...1 Autonomia...1 Segurança...1 2. ÁREA DE COMPETIÇÃO... 1 2.1. Pista...1 Dimensões...1 Cores...2

Leia mais