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

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

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

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

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

- 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

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

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

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

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

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

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

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

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

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

As leis da procura e oferta são fundamentais para o entendimento correcto do funcionamento do sistema de mercado.

As leis da procura e oferta são fundamentais para o entendimento correcto do funcionamento do sistema de mercado. CAPÍTULO 3 PROCURA, OFERTA E PREÇOS Introdução As leis da procura e oferta são fundamentais para o entendimento correcto do funcionamento do sistema de mercado. O conhecimento destas leis requer que, em

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

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

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

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

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

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

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

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

Ferramenta computacional para implementação de redes neuronais optimização das capacidades gráficas

Ferramenta computacional para implementação de redes neuronais optimização das capacidades gráficas INEB- PSI Technical Report 2007-2 Ferramenta computacional para implementação de redes neuronais optimização das capacidades gráficas Alexandra Oliveira aao@fe.up.pt Professor Joaquim Marques de Sá December

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

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

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

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

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

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

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

Exercícios Resolvidos sobre: I - Conceitos Elementares

Exercícios Resolvidos sobre: I - Conceitos Elementares Exercícios Resolvidos sobre: I - Conceitos Elementares Grupo II O Problema da Escassez e da Escolha Questão 1 Comecemos por explicitar o que se entende por bem económico: um bem económico é qualquer coisa

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

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

Guia de Estudo Folha de Cálculo Microsoft Excel

Guia de Estudo Folha de Cálculo Microsoft Excel Tecnologias da Informação e Comunicação Guia de Estudo Folha de Cálculo Microsoft Excel Estrutura geral de uma folha de cálculo: colunas, linhas, células, endereços Uma folha de cálculo electrónica ( electronic

Leia mais

REPRESENTAÇÃO DE DADOS E SISTEMAS DE NUMERAÇÃO

REPRESENTAÇÃO DE DADOS E SISTEMAS DE NUMERAÇÃO REPRESENTAÇÃO DE DADOS E SISTEMAS DE NUMERAÇÃO Profs. M.Sc. Lucio M. Duarte e Ph.D. Avelino Zorzo 1 Faculdade de Informática - PUCRS 1 REPRESENTAÇÃO DE DADOS Acredita-se que a criação de números veio com

Leia mais

CAPÍTULO 2. Grafos e Redes

CAPÍTULO 2. Grafos e Redes CAPÍTULO 2 1. Introdução Um grafo é uma representação visual de um determinado conjunto de dados e da ligação existente entre alguns dos elementos desse conjunto. Desta forma, em muitos dos problemas que

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

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

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

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

Investigação Operacional- 2009/10 - Programas Lineares 3 PROGRAMAS LINEARES

Investigação Operacional- 2009/10 - Programas Lineares 3 PROGRAMAS LINEARES Investigação Operacional- 2009/10 - Programas Lineares 3 PROGRAMAS LINEARES Formulação A programação linear lida com problemas nos quais uma função objectivo linear deve ser optimizada (maximizada ou minimizada)

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

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

CAP. I ERROS EM CÁLCULO NUMÉRICO

CAP. I ERROS EM CÁLCULO NUMÉRICO CAP. I ERROS EM CÁLCULO NUMÉRICO 0. Introdução Por método numérico entende-se um método para calcular a solução de um problema realizando apenas uma sequência finita de operações aritméticas. A obtenção

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

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

Representação Binária de Números

Representação Binária de Números Departamento de Informática Notas de estudo Alberto José Proença 01-Mar-04 Dep. Informática, Universidade do Minho Parte A: Sistemas de numeração e representação de inteiros A.1 Sistemas de numeraçã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

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

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

Antes de iniciar a sua prova, tenha em atenção os seguintes aspectos:

Antes de iniciar a sua prova, tenha em atenção os seguintes aspectos: Nome Completo: (tal como consta do processo do aluno) Nº de Processo: Turma: Curso: Antes de iniciar a sua prova, tenha em atenção os seguintes aspectos: A duração da prova é de duas horas e trinta minutos

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

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

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

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

Leia mais

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

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

Introdução à Simulação

Introdução à Simulação Introdução à Simulação O que é simulação? Wikipedia: Simulação é a imitação de alguma coisa real ou processo. O ato de simular algo geralmente consiste em representar certas características e/ou comportamentos

Leia mais

Gestão de Carreiras Escola Secundária de Emídio Navarro 2002/2003 Estruturas, Tratamento e Organização de Dados

Gestão de Carreiras Escola Secundária de Emídio Navarro 2002/2003 Estruturas, Tratamento e Organização de Dados Gestão de Carreiras Durante muito tempo, a gestão de carreiras não fez parte das preocupações dominantes dos gestores de pessoal. Nos últimos anos, porém, tem-se assistido a um crescendo de interesse relativamente

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

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

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

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

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

CAPÍTULO 4 - BALANÇOS MATERIAIS. Existem dois tipos fundamentais de entidade em termodinâmica, estados de um sistema, e os processos de um sistema.

CAPÍTULO 4 - BALANÇOS MATERIAIS. Existem dois tipos fundamentais de entidade em termodinâmica, estados de um sistema, e os processos de um sistema. Existem dois tipos fundamentais de entidade em termodinâmica, estados de um sistema, e os processos de um sistema. Sempre que duas ou mais propriedades de um sistema variam, diz-se que ocorreu um processo.

Leia mais

Utilização do SOLVER do EXCEL

Utilização do SOLVER do EXCEL Utilização do SOLVER do EXCEL 1 Utilização do SOLVER do EXCEL José Fernando Oliveira DEEC FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO MAIO 1998 Para ilustrar a utilização do Solver na resolução de

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

PROGRAMA DE METODOLOGIA DO ENSINO DE HISTÓRIA

PROGRAMA DE METODOLOGIA DO ENSINO DE HISTÓRIA PROGRAMA DE METODOLOGIA DO ENSINO DE HISTÓRIA 11ª, 12ª e 13ª classes Formação de Professores do 1º Ciclo do Ensino Secundário Ficha Técnica Título Programa de Metodologia do Ensino de História - 11ª, 12ª

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

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de Escola Secundária c/3º CEB José Macedo Fragateiro Curso Profissional de Nível Secundário Componente Técnica Disciplina de Sistemas Digitais e Arquitectura de Computadores 29/21 Módulo 1: Sistemas de Numeração

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

Encaminhamento em redes instáveis. Localização de nós em redes Peer-to-Peer Napster Gnutella Chord

Encaminhamento em redes instáveis. Localização de nós em redes Peer-to-Peer Napster Gnutella Chord Encaminhamento em redes instáveis Encaminhamento em redes Ad Hoc Introdução Descoberta de rotas Manutenção de rotas Localização de nós em redes Peer-to-Peer Napster Gnutella Chord Encaminhamento em redes

Leia mais

Da Escrita à Fala - Da Fala à Escrita Isabel Trancoso, Luís Oliveira, João Neto M. Céu Viana INESC CLUL

Da Escrita à Fala - Da Fala à Escrita Isabel Trancoso, Luís Oliveira, João Neto M. Céu Viana INESC CLUL Da Escrita à Fala - Da Fala à Escrita Isabel Trancoso, Luís Oliveira, João Neto M. Céu Viana INESC CLUL 1. Introdução Numa exposição dedicada ao tema "A Escrita" que sentido fará incluir também "A Fala"?

Leia mais

Universidade Fernando Pessoa

Universidade Fernando Pessoa Objectivos da cadeira reconhecer, criar e explorar um recurso de informação usar tecnologias de informação emergentes para a gestão eficaz do recurso informação discutir o impacto das tecnologias de informação

Leia mais

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:

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

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

A NANOTEC Uma Iniciativa em Nanotecnologia

A NANOTEC Uma Iniciativa em Nanotecnologia A NANOTEC Uma Iniciativa em Nanotecnologia Em 2001, na Áustria Central (Styria), num contexto marcado pela rápida mudança tecnológica e contínuo processo de inovação, surgiu um projecto de cooperação em

Leia mais

Análise de Variância com dois ou mais factores - planeamento factorial

Análise de Variância com dois ou mais factores - planeamento factorial Análise de Variância com dois ou mais factores - planeamento factorial Em muitas experiências interessa estudar o efeito de mais do que um factor sobre uma variável de interesse. Quando uma experiência

Leia mais

Programa da disciplina, i metodologia de ensino, avaliações e bibliografia básica. Objetivos da Disciplina

Programa da disciplina, i metodologia de ensino, avaliações e bibliografia básica. Objetivos da Disciplina Circuitos Digitais Cap. 1 Prof. José Maria P. de Menezes Jr. Circuitos Digitais Tópicos Digitais I- Engenharia Elétrica -UFPI Programa da disciplina, i metodologia de ensino, avaliações e bibliografia

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

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele

Leia mais

Aula 01. - Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson.

Aula 01. - Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson. - Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios Aula 01 Slide 1 BIBLIOGRAFIA SCHILDT H. C Completo e Total, Makron Books. SP, 1997. Curso de linguagem C da UFMG. ZIVIANI,

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

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

Processo de análise estruturada - Abordagem clássica

Processo de análise estruturada - Abordagem clássica Processo de análise estruturada - Abordagem clássica Desenvolver modelo físico actual Modelo físico actual Modelos a desenvolver tendo em conta a abordagem clássica Desenvolver modelo lógico actual Modelo

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

Inteligência de Enxame: ACO

Inteligência de Enxame: ACO Inteligência de Enxame: ACO! Otimização colônia de formigas é uma meta-heurística: «baseada em população «inspirada no comportamento forrageiro das formigas.! Muitas espécies de formigas são quase cegas.!

Leia mais

O modelo do computador

O modelo do computador O modelo do computador Objetivos: Mostrar como é o funcionamento dos computadores modernos Mostrar as limitações a que estamos sujeitos quando programamos Histórico Os primeiros computadores são da década

Leia mais

Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio:

Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio: ELETRÔNICA DIGITAl I 1 SISTEMAS DE NUMERAÇÃO INTRODUÇÃO A base dos sistemas digitais são os circuitos de chaveamento (switching) nos quais o componente principal é o transistor que, sob o ponto de vista

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

A SOLUTION OF N-QUEENS PROBLEM BY GENETIC ALGORITHMS

A SOLUTION OF N-QUEENS PROBLEM BY GENETIC ALGORITHMS UMA SOLUÇÃO DO PROBLEMA DAS N RAINHAS ATRAVÉS DE ALGORITMOS GENÉTICOS A SOLUTION OF N-QUEENS PROBLEM BY GENETIC ALGORITHMS Eliane Vendramini de Oliveira Mestre em Engenharia Elétrica UNESP/ Ilha Solteira

Leia mais

CAPÍTULO 7 O SERVIÇO DOS AGENTES

CAPÍTULO 7 O SERVIÇO DOS AGENTES CAPÍTULO 7 O SERVIÇO DOS AGENTES A inteligência... é a capacidade de criar objetos artificiais, especialmente ferramentas para fazer ferramentas. ( Henri Bergson) O serviço dos agentes surge como uma prestação

Leia mais

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Computabilidade 2012/2013 Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Capítulo 1 Computabilidade 1.1 A noção de computabilidade Um processo de computação

Leia mais