Implementação de um Algoritmo Genético

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

Download "Implementação de um Algoritmo Genético"

Transcrição

1 1 Implementação de um Algoritmo Genético Frederico G. Guimarães e Marcelo C. Ramalho Abstract Uma discussão sobre os Algoritmos Genéticos, sua estrutura e seus componentes, é apresentada neste trabalho. Um AG será implementado e submetido a uma função teste conhecida. Uma técnica para gerar a população inicial será proposta e comparada com a distribuição aleatória. Index Terms Algoritmos Genéticos, algoritmos evolutivos, computação evolutiva, métodos de otimização, métodos de populações, métodos estocásticos. O I. INTRODUÇÃO s Algoritmos Genéticos, AG s, são técnicas de busca baseadas nas Teorias da Evolução. Nos AG s as variáveis do problema são representadas como genes em um cromossomo, também denominado indivíduo. Cada coordenada de um ponto no espaço solução pode ser entendida como um gene. O indivíduo é o próprio ponto, formado pelo conjunto de coordenadas (genes). Os AG s utilizam elementos como a sobrevivência dos mais aptos e a troca de informação genética de uma forma estruturada, porém aleatória. O AG apresenta um grupo de soluções candidatas, denominada População, na região de soluções. Através de mecanismos como a seleção natural e o uso de operadores genéticos, tais como a mutação e o cruzamento, os cromossomos com melhor aptidão são encontrados. A seleção natural garante que os cromossomos mais aptos gerem descendentes nas populações futuras. Usando um operador de cruzamento, o AG combina genes de dois cromossomos pais previamente selecionados para formar dois novos cromossomos, os quais têm uma grande possibilidade de serem mais aptos que os seus genitores. II. COMPUTAÇÃO EVOLUTIVA A inteligência natural é o produto de milhões de anos de evolução biológica. Simular processos evolutivos biológicos complexos pode nos levar a descobrir como a evolução conduz sistemas vivos em direção à inteligência superior. Uma das áreas da computação evolutiva que mais tem se destacado é o campo dos Algoritmos Genéticos (AG s), que são baseados no princípio evolutivo da seleção natural. A Modelagem da Imunidade e a Vida Artificial são disciplinas similares que se baseiam na idéia de que leis Trabalho referente à disciplina de Otimização do curso de graduação em Engenharia Elétrica da Universidade Federal de Minas Gerais, ministrada pelos professores Jaime Arturo Ramirez e Ricardo Hiroshi Caldeira Takahashi. Junho de 21. Foi desenvolvido por: Frederico Gadelha Guimarães, graduando em Engenharia Elétrica. Correio eletrônico: fredgadelha@yahoo.com.br Marcelo Cherem Ramalho, graduando em Engenharia Elétrica. Correio eletrônico: mccherem@yahoo.com.br físicas e químicas podem ser capazes de explicar a vida inteligente. Técnicas de busca baseadas em alguma informação heurística são empregadas em muitas aplicações da Inteligência Artificial. Quando o espaço de busca é grande demais para uma busca exaustiva, também denominada busca cega ou de força bruta, e é difícil identificar algum conhecimento que possibilite reduzir o espaço de busca, não se tem outra escolha a não ser usar outras técnicas de busca mais eficientes para alcançar soluções ótimas. III. CONCEITOS BIOLÓGICOS A. As idéias evolucionistas de Darwin (Darwinismo) Em meados do século XIX, Charles Darwin ( ) revolucionou todo o pensamento acerca da evolução da vida e de nossas origens, provocando a maior discussão que já houve a respeito de uma teoria científica. Em seus dois livros - Sobre a Origem das Espécies por Meio da Seleção Natural (1859), e A Descendência do Homem e Seleção em Relação ao Sexo (1871) - Darwin defendia que o homem, tal qual os outros seres vivos, é resultado da evolução. Em seus estudos, Darwin concluiu que nem todos os organismos que nascem sobrevivem ou, o que é mais importante, reproduzem-se. Os indivíduos com mais oportunidades de sobrevivência seriam aqueles com características mais apropriadas para enfrentar as condições ambientais. Esses indivíduos teriam maior probabilidade de reproduzir-se e deixar descendentes. Nessas condições as variações favoráveis tenderiam a ser preservadas e as desfavoráveis, destruídas. É um lento e constante processo de seleção ao longo das gerações, através do qual as espécies podem se diversificar, tornando-se mais adaptadas ao ambiente em que vivem. Nascia assim o conceito de Seleção Natural, a grande contribuição de Darwin à teoria da evolução. O mecanismo de evolução proposto por Darwin pode ser resumido em seis etapas: 1. Os indivíduos de uma mesma espécie mostram muitas variações na forma e na fisiologia; 2. Boa parte dessas variações é transmitida aos descendentes; 3. Se todos os indivíduos de uma espécie se reproduzissem, as populações cresceriam exponencialmente; 4. Como os recursos naturais são limitados, os indivíduos de uma população lutam por sua sobrevivência e de sua prole; 5. Portanto, somente alguns, os mais aptos, sobrevivem e deixam descendentes. A sobrevivência e a reprodução dependem das características desses indivíduos que,

2 2 por serem hereditárias, serão transmitidas aos seus filhos; 6. Através dessa seleção natural, as espécies serão representadas por indivíduos cada vez mais adaptados. O principal problema da teoria darwiniana foi a falta de uma teoria satisfatória que explicasse a origem e a transmissão das variações. Darwin não conseguiu responder adequadamente estas críticas e, somente com a posterior descoberta das Leis de Mendel e das Mutações, foi que esses problemas puderam ser resolvidos. Apesar disso, não há dúvida de que a teoria moderna da evolução deve mais a Darwin do que a qualquer outro cientista, e seu conceito de seleção natural continua válido até hoje. B. Seleção Natural A idéia básica de seleção natural foi apresentada por Charles Darwin e representa uma das maiores conquistas no campo científico, particularmente, na ciência biológica. É o mecanismo de seleção que impõe uma certa ordem ao processo de evolução. A primeira parte do processo, se caracteriza pela obtenção de variedade genética e é realizada ao acaso. Já a Segunda parte, composta pela seleção, é em certo grau determinada pelos fatores ecológicos do ambiente. Através da seleção natural, a freqüência de um gene vantajoso aumenta gradativamente na população. A vantagem conferida pelo gene pode se refletir em um maior tempo de sobrevivência do indivíduo, aumentando assim a quantidade de filhos que ele produz. Pode implicar também uma fertilidade maior do indivíduo que, mesmo sobrevivendo menos tempo, poderá deixar um número maior de filhos que seu competidor. Finalmente, o gene poderá aumentar a sua freqüência se ele fornecer ao indivíduo maior capacidade de proteção. Assim, mesmo se ele tiver menos filhos, suas chances de atingir a época de reprodução serão maiores. A. Precursores dos AG s IV. REVISÃO HISTÓRICA A primeira tentativa de representação, por meio de um modelo matemático, da teoria de Darwin, surgiu com o livro The Genetic Theory of Natural Selection, escrito pelo biólogo evolucionista R. A. Fisher. A evolução era, tal como a aprendizagem, uma forma de adaptação, diferindo apenas na escala de tempo. Em vez de ser o processo de uma vida, era o processo de gerações. Como era feita em paralelo por um conjunto de organismos, tornava se mais poderosa que a aprendizagem. A seguir, John Holland dedicou se ao estudo de processos naturais adaptáveis, tendo inventado os AG s em meados da década de 6. Ele desenvolveu os AG s em conjunto com seus alunos e colegas da Universidade de Michigan nos anos 6 e 7, com o objetivo de estudar formalmente o fenômeno da adaptação como ocorre na natureza, e desenvolver modelos em que os mecanismos da adaptação natural pudessem ser importados para os sistemas computacionais. Como resultado do seu trabalho, em 1975, Holland edita [2] e, em 1989, David Goldberg edita [1], hoje considerados os livros mais importantes sobre AG s. V. O ALGORITMO GENÉTICO Os Algoritmos Genéticos ocupam lugar de destaque entre os paradigmas da Computação Evolutiva devido a uma série de razões dentre as quais: 1. Apresentam-se como o paradigma mais completo da Computação Evolutiva visto que englobam de forma simples e natural todos os conceitos nela contidos; 2. Apresentam resultados bastante aceitáveis, com relação à precisão e recursos empregados (fáceis de implantar em computadores domésticos de porte médio), para uma ampla gama de problemas de difícil resolução por outros métodos; 3. São muito flexíveis, aceitam sem grandes dificuldades uma infinidade de alterações na sua implementação e permitem fácil hibridização (vantagem importante no caso de aprendizagem) inclusive com técnicas não relacionadas à Computação Evolutiva; 4. Em relação aos outros paradigmas da Computação Evolutiva, são os que exigem menor conhecimento específico do problema em questão para o seu funcionamento, o que os torna altamente versáteis e, além disso, agregam conhecimento específico com pouco esforço; 5. São o paradigma mais usado dentro da Computação Evolutiva e, junto com as Redes Neurais, os mais usados de toda a Computação Natural. Na prática, nós podemos implementar facilmente um AG com o simples uso de strings de bits, no caso da codificação binária, ou caracteres para representar os cromossomos e, com simples operações de manipulação de bits podemos implementar cruzamento, mutação e outros operadores genéticos. Na fig. 1, podemos ver a simplicidade de representação de um indivíduo composto por cinco cromossomos (as variáveis do problema), cada um composto por seis genes (codificação binária utilizando-se seis bits), por meio de uma string de valores binários Fig. 1. Representação binária de um indivíduo de cinco cromossomos (cinco variáveis), cada cromossomo contendo seis genes. O pseudocódigo de um AG básico é mostrado a seguir. Nele podemos ver que os AG s começam com uma população de N estruturas aleatórias (indivíduos), onde cada estrutura codifica uma solução do problema. O desempenho de cada indivíduo é avaliado com base numa função de avaliação de aptidão. Os melhores tenderão a ser os progenitores da geração seguinte, melhorando, de geração para geração, através da troca de informação. Algoritmo Genético: t ; IniciaPopulação P(t); Avalia P(t); enquanto não parada faça t t+1; P SelecionaPares P(t); Recombina P ; Muta P ;

3 3 Avalia P ; P(t+1) Sobreviventes P(t),P (t); fimenquanto fim Pelo que foi apresentado até o momento, pode-se notar que a principal inovação dos AG s em relação aos demais métodos de busca é a implementação de um mecanismo de seleção de soluções no qual, em curto prazo, os melhores têm maior probabilidade de sobreviver e, em longo prazo, os melhores têm maior probabilidade de ter descendência. Desta forma, o mecanismo de seleção se divide em dois segmentos: o primeiro escolhe os elementos que vão participar da transformação (operador de seleção) e o outro escolhe os elementos que vão sobreviver (operador de substituição). Cabe ainda destacar que os AG s são métodos de busca: Cega: não têm conhecimento específico do problema a ser resolvido, tendo como guia apenas a função objetivo; Codificada: não trabalham diretamente com o domínio do problema e sim com representações dos seus elementos; Múltipla: executa busca simultânea em um conjunto de candidatos; Estocástica: combinam regras probabilísticas e determinísticas com alguma proporção variável. Esse conceito se refere tanto às fases de seleção como às de transformação. A vantagem principal dos AG s ao trabalharem com o conceito de população, ao contrário de muitos outros métodos que trabalham com um só ponto, é que eles encontram segurança na quantidade. Tendo uma população de pontos bem adaptados, é reduzida a possibilidade de alcançar um falso ótimo. Os AG s conseguem grande parte de sua amplitude simplesmente ignorando informação que não constitua parte do objetivo, enquanto outros métodos se sustentam fortemente nesse tipo de informação e, em problemas nos quais a informação necessária não está disponível ou se apresenta de difícil acesso, estes outros métodos falham. Em suma, os AG s podem ser aplicados praticamente em qualquer problema. Apesar de aleatórios, eles não são caminhadas aleatórias não direcionadas, ou seja, buscas totalmente sem rumo, pois exploram informações históricas para encontrar novos pontos de busca onde são esperados melhores desempenhos. Isto é feito através de processos iterativos, onde cada iteração é chamada de geração. As principais vantagens dos AG s podem ser resumidas no que se segue: São procedimentos de busca paralela que podem ser implementados em máquinas de processamento paralelo, acelerando em muito o processo; São aplicáveis a problemas de otimização contínuos e discretos; São estocásticos e, portanto, menos sujeitos a ficarem presos em mínimos locais, freqüentes em muitos problemas práticos de otimização; Sua flexibilidade facilita a estruturação e identificação de parâmetros em modelos complexos tais como redes neurais e sistemas de inferência nebulosos. A. Parâmetros Genéticos É importante também, analisar de que maneira alguns parâmetros influem no comportamento dos Algoritmos Genéticos, para que se possa estabelecê-los conforme as necessidades do problema e dos recursos disponíveis. Serão listados a seguir alguns Parâmetros Genéticos utilizados. 1) Tamanho da População O tamanho da população determina o número de cromossomos na população, afetando diretamente o desempenho global e a eficiência dos AG s. Com uma população pequena o desempenho pode cair, pois, deste modo, a população fornece uma pequena cobertura do espaço de busca do problema. Uma grande população geralmente fornece uma cobertura representativa do domínio do problema, além de prevenir convergências prematuras para soluções locais ao invés de globais. No entanto, para se trabalhar com grandes populações, são necessários maiores recursos computacionais, ou que o algoritmo trabalhe por um período de tempo muito maior. 2) Taxa de Cruzamento Quanto maior for esta taxa, mais rapidamente novas estruturas serão introduzidas na população. Mas se esta for muito alta a maior parte da população será substituída e pode ocorrer perda de estruturas de alta aptidão. Com um valor baixo, o algoritmo pode tornar-se muito lento. 3) Tipo de Cruzamento O tipo de cruzamento a ser utilizado determina a forma como se procederá a troca de segmentos de informação entre os casais de cromossomos selecionados para cruzamento. Mais adiante serão explanados alguns tipos de cruzamento utilizados mas deve-se levar em conta que existem muitas outras escolhas disponíveis para usuários de AG s. O ideal seria testar diversos tipos de cruzamento em conjunto com as outras configurações do AG em uso para verificar qual apresenta um melhor resultado. 4) Taxa de Mutação Determina a probabilidade em que uma mutação ocorrerá. Mutação é utilizada para dar nova informação para a população e também para prevenir que a população se sature com cromossomos semelhantes (Convergência Prematura). Uma baixa taxa de mutação previne que uma dada posição fique estagnada em um valor, além de possibilitar que se chegue em qualquer ponto do espaço de busca. Com uma taxa muito alta a busca se torna essencialmente aleatória além de aumentar muito a possibilidade de que uma boa solução seja destruída. A melhor Taxa de Mutação é dependente da aplicação mas, para a maioria dos casos é entre,1 e,1. B. Estrutura e Componentes básicos Como não há uma definição rigorosa para Algoritmo Genético a qual seja aceita por todos os componentes da comunidade da computação evolutiva, podemos dizer que a maioria dos métodos denominados AG s têm pelo menos os seguintes elementos em comum: Uma população de cromossomos; Seleção de acordo com a aptidão; Cruzamento ( crossover ) para gerar novas

4 4 populações; Mutação aleatória para produzir novos indivíduos. Os cromossomos componentes da população de um AG, assumem tipicamente a forma de strings binárias. Cada posição dentro dessa string tem dois alelos possíveis: e 1. Cada cromossomo pode ser visto como um ponto no espaço de busca das soluções candidatas. O AG processa populações de cromossomos, efetuando substituições sucessivas de uma população por outra. Os AG s requerem uma função de aptidão que atribua um valor (valor de aptidão ou fitness) para cada cromossomo da população atual. O valor de aptidão de cada cromossomo depende de quão bem este cromossomo resolve o problema dado. Um esquema gráfico da estrutura de um AG básico seria como o apresentado na fig. 2. População Seleção Substituição Fig. 2. Esquema gráfico da estrutura de um AG básico. População Auxiliar Transformação Descendência Como pode ser visto, uma população Pop(t) que consta de M membros é submetida a um processo de seleção onde será gerada uma população auxiliar PopAux(t) de C criadores. Dessa população auxiliar será extraído um subgrupo de indivíduos denominados progenitores que são os que efetivamente vão se reproduzir. Fazendo uso dos operadores genéticos, os progenitores passarão por uma série de transformações na fase de reprodução, por meio das quais serão gerados os S indivíduos componentes da Descendência. Para formar a nova população, Pop(t+1), devem ser selecionados M sobreviventes dos C+S da população auxiliar e da descendência, o que é feito na fase de Substituição. A fase de Seleção é realizada em duas etapas com finalidade de emular as duas vertentes do princípio de seleção natural: seleção de criadores ou Seleção e seleção de sobreviventes para a próxima geração ou Substituição. C. Métodos e critérios para a implementação de um AG Para implementar-se um AG, é necessário definir de forma correta alguns métodos e critérios. 1) Critério de Codificação Tendo em vista que os AG s trabalham com manipulação de strings de determinados alfabetos (representação), deve-se especificar a codificação com a qual se faz corresponder cada ponto do domínio do problema com um Gene ou conjunto de Genes do Cromossomo. 2) Critério de tratamento dos indivíduos não factíveis Nem sempre é possível estabelecer uma correspondência ponto-a-ponto entre o domínio do problema e o conjunto de strings binárias (ou de outro alfabeto utilizado) usadas para resolvê-lo. Como conseqüência, nem todas as strings (indivíduos) codificam indivíduos válidos do espaço de busca e devem ser habilitados procedimentos úteis para distingui-las. 3) Critério de Parada Devem ser determinadas as condições nas quais se considera que o AG encontrou uma solução aceitável ou tenha fracassado no processo de busca e não faça sentido continuar. 4) Funções de avaliação e aptidão Deve ser determinada a função de avaliação mais apropriada para o problema, assim como a função de aptidão que utilizará o AG para resolvê-lo. 5) Operadores Genéticos Denominação dada aos operadores utilizados para efetuar a reprodução. Todo AG faz uso de pelo menos três Operadores Genéticos (levando em conta o AG básico): seleção, cruzamento e mutação. Estes não são os únicos possíveis e além de tudo admitem variações. 6) Critérios de Seleção A seleção deve dirigir o processo de busca em favor dos indivíduos mais aptos. Isto pode ser feito de várias maneiras como, por exemplo, por amostragem direta, por amostragem aleatória simples ou por amostragem estocástica. 7) Critérios de Substituição Os critérios com que se selecionam os criadores não necessariamente têm que ser os mesmos usados para selecionar os sobreviventes, logo a necessidade de especificá-los separadamente. 8) Parâmetros de Funcionamento Um AG precisa que sejam fornecidos certos parâmetros de funcionamento tais como o tamanho da população, as probabilidades de aplicação dos Operadores Genéticos, a precisão da codificação, etc. VI. OPERADORES GENÉTICOS São os operadores genéticos que transformam a população através de sucessivas gerações, estendendo a busca até chegar a um resultado satisfatório. Um algoritmo genético padrão evolui, em suas sucessivas gerações, mediante o uso de três operadores básicos: Seleção: realiza o processo de adaptabilidade e sobrevivência. Cruzamento: representa o acasalamento entre os indivíduos. Mutação: introduz modificações aleatórias. Outros operadores têm sido propostos na literatura e entre eles o mais utilizado é o Elitismo. A. Seleção A idéia principal do operador de seleção em um algoritmo genético é oferecer aos melhores indivíduos da população corrente preferência para o processo de reprodução, permitindo que estes indivíduos possam passar as suas características às próximas gerações. Isto funciona como na natureza, onde os indivíduos altamente adaptados ao seu ambiente possuem naturalmente mais oportunidades para reproduzir do que aqueles indivíduos considerados mais fracos. B. Cruzamento Pode-se dizer que a principal característica de distinção

5 5 do AG em relação às outras técnicas é o uso do cruzamento. O operador Cruzamento é utilizado após o de seleção. Esta fase é marcada pela troca de segmentos entre casais de cromossomos selecionados para dar origem a novos indivíduos que formarão a população da próxima geração. A idéia central do cruzamento é a propagação das características dos indivíduos mais aptos da população por meio de troca de informações entre os mesmos o que dará origem a novos indivíduos. Existem dois tipos mais comuns de reprodução sexual em AG s, que dependem do tipo de representação das variáveis. 1) Cruzamento Binário Na representação binária pode-se escolher um ponto de quebra da string de bits e trocar os segmentos entre os dois indivíduos, gerando dois indivíduos diferentes. 2) Cruzamento Real No cruzamento real é traçado um segmento de reta unindo os dois pontos (indivíduos). São gerados aleatoriamente dois novos indivíduos sobre este segmento de reta. Pode-se criar um mecanismo de extrapolação, em que este segmento de reta tem suas extremidades não em cima de cada parceiro, mas um pouco além destes. Podemos também aplicar maior probabilidade dos descendentes nascerem mais próximos do melhor parceiro. Combinando estes dois mecanismos, teremos o Cruzamento Real Polarizado. C. Mutação A mutação é geralmente vista como um operador de background, responsável pela introdução e manutenção da diversidade genética na população [2]. Ela trabalha alterando arbitrariamente um ou mais componentes de uma estrutura escolhida entre a descendência, logo após o cruzamento, fornecendo dessa forma meios para a introdução de novos elementos na população. Assim, a mutação assegura que a probabilidade de se chegar a qualquer ponto do espaço de busca nunca será zero. O operador de mutação é aplicado aos indivíduos com uma probabilidade dada pela taxa de mutação. Como foi visto no item Parâmetros Genéticos, geralmente se utiliza uma taxa de mutação pequena, justamente por ser um operador genético secundário. O operador de mutação também depende do tipo de representação utilizada. 1) Mutação Binária Na representação binária podemos realizar a mutação simplesmente escolhendo aleatoriamente um bit para sofrer mutação, ou seja, ser mudado. A mudança de um bit no indivíduo pode fazê-lo representar outro ponto completamente diferente do espaço. 2) Mutação Real Na representação real, podemos realizar a mutação mudando o indivíduo para outro ponto do espaço de acordo com uma probabilidade gaussiana de média no próprio indivíduo e com um certo desvio padrão dado. D. Elitismo O método mais utilizado para melhorar a convergência dos AG s é o Elitismo. Ele foi primeiramente introduzido por Kenneth De Jong em 1975 e é uma adição aos vários métodos de seleção que força os AG s a reterem um certo número de melhores indivíduos em cada geração. Tais indivíduos podem ser perdidos se eles não forem selecionados para reprodução ou se eles forem destruídos por cruzamento ou mutação. Muitos pesquisadores têm encontrado no elitismo vantagens significativas para a performance dos AG s [3]. O Elitismo consiste basicamente em realizar a etapa de seleção em duas partes: 1. Seleciona-se uma elite de E membros entre os melhores da população inicial, os quais serão incorporados diretamente à população final, sem passar pela população auxiliar; 2. A população auxiliar é selecionada entre os N - E membros restantes da população inicial. Em geral, a elite tem um tamanho reduzido, 1 ou 2 para N=5, e a sua amostragem pode ser direta, escolhendo-se simplesmente os melhores, ou por sorteio, escolhendo-se os melhores entre os melhores da população. O esquema gráfico do Elitismo pode ser visualizado na fig. 3. População Seleção Elite Substituição População Auxiliar Transformação Descendência Fig. 3. Esquema gráfico da estrutura de um AG com Elitismo. VII. O PROBLEMA DA DIVERSIDADE DOS AG S Um ponto fundamental para o bom funcionamento de um AG é a existência de diversidade entre os indivíduos. Ou seja, deve existir um certo grau de diversidade entre as aptidões dos indivíduos que compõe o conjunto de possíveis soluções pois, do contrário, com um conjunto de indivíduos muito semelhantes, o operador de cruzamento perde em muito a capacidade de troca de informações úteis entre os indivíduos da população o que faz a busca em certos casos progredir muito lentamente ou praticamente estacionar. A necessidade de ter a diversidade controlada dentro de uma determinada população tem, como um dos seus maiores obstáculos, a necessidade de populações finitas e não muito grandes. Caso contrário, uma técnica de AG poderia tornar-se não aplicável na prática, visto que, controlar uma população absurdamente grande, a qual tenha cálculos muito complexos para determinar a aptidão, poderia ocasionar um esforço computacional muito grande. Devemos lembrar que o esforço computacional será relativo ao tipo de aplicação pois, por exemplo, se tratando do controle de um robô móvel que dependa de respostas em tempo real para desvio de obstáculos, um atraso de 1 segundo na tomada de uma decisão pode ser catastrófico. Em suma, para que a seleção seja efetiva, a população deve conter, a todo instante, uma certa variedade de aptidões, o que, como foi visto com relação ao tamanho da população, implica também em não ter uma disparidade muito grande de aptidões, pois costuma afetar

6 6 negativamente a diversidade da população. VIII. REPRESENTAÇÃO E CODIFICAÇÃO DOS AG S As partes que relacionam um AG a um problema dado são a codificação e a função de avaliação. Se um problema pode ser representado por um conjunto de parâmetros (genes), estes podem ser unidos para formarem uma cadeia de valores (cromossomo), este processo se chama codificação. Em genética, este conjunto representado por um cromossomo em particular é referenciado como genótipo, contendo a informação necessária para construir um organismo, conhecido como fenótipo. Estes mesmos termos se aplicam em AG. Por exemplo, para se desenhar um prédio, um conjunto de parâmetros especificando o desenho da planta é o genótipo, e a construção final é o fenótipo. A adaptação de cada indivíduo depende de seu fenótipo, no qual se pode inferir seu genótipo. Por exemplo, para um problema de maximizar uma função de três variáveis, se poderia representar cada variável por um número binário de 1 bits, obtendo-se um cromossomo de 3 bits de longitude. Existem vários aspectos relacionados com a codificação de um problema a serem levados em conta no momento de sua realização: Deve ser utilizado um alfabeto o mais pequeno possível para representar os parâmetros. Normalmente utilizam-se dígitos binários; As variáveis que representam os parâmetros do problema devem ser discretizadas para poder representar as strings de bits; A maior parte dos problemas tratados com AG's são não lineares e muitas vezes existem relações ocultas entre as variáveis que formam a solução; O tratamento dos genótipos inválidos deve ser levado em conta para o desenho da codificação. IX. A IMPLEMENTAÇÃO Implementamos um AG no Matlab, utilizando codificação real para os indivíduos da população. A tabela a seguir relaciona os parâmetros genéticos adotados na implementação. PARÂMETROS GENÉTICOS Tamanho da População 1 Número Máximo de Gerações 2 Taxa de Cruzamento 6% Tipo de Cruzamento Real Polarizado Taxa de Extrapolação 2% Taxa de Mutação 5% A seguir, são especificados outros aspectos da implementação. A. Critério de Parada O algoritmo pára ou quando o número máximo de gerações foi alcançado, ou quando os dez últimos ótimos não variaram mais que um certo î. O valor adotado para î foi de,1. B. Geração da População Inicial 1) Inicialização Aleatória da População Neste tipo de inicialização da população, os N indivíduos são distribuídos aleatoriamente dentro do espaço solução. Possui a desvantagem de possibilitar a ocorrência de regiões com concentração de pontos e outras sem indivíduos. Entretanto, a distribuição aleatória permite uma maior variabilidade dos resultados obtidos. Podemos obter informação adicional a cada vez que rodarmos o algoritmo para o problema. 2) Inicialização Determinística da População A população é distribuída uniformemente dentro do espaço solução. Possui a vantagem de cobrir bem o espaço solução porém, execuções sucessivas não trazem informação adicional, pois o estado de inicialização é sempre o mesmo. 3) Inicialização Aleatória com Nicho A fim de solucionar o problema da possível ocorrência de concentração de pontos devido a Inicialização Aleatória da População, pode-se utilizar a técnica de nichos. Nesta técnica, é estabelecida uma região de cobertura para cada indivíduo, chamada de nicho do indivíduo. No momento que estamos gerando a população inicial, se dois ou mais indivíduos aparecerem muito próximos, um deles é eliminado e outro é gerado aleatoriamente. O processo é repetido até que todos os indivíduos estejam sozinhos dentro de seu nicho. Este processo garante que não haverá, na população inicial, indivíduos próximos uns dos outros, porém, não garante que todo o espaço solução esteja sendo coberto inicialmente. 4) Inicialização implementada Na inicialização da população que implementamos, mesclamos as técnicas anteriores. Inicialmente, geramos uma população uniformemente distribuída dentro do espaço solução. Em seguida, aplicamos uma perturbação aleatória em cada indivíduo. A perturbação máxima permitida é determinada pelo nicho de cada indivíduo. Dessa maneira, unimos as vantagens das técnicas anteriores, isto é, garantimos uma cobertura ampla do espaço solução e a variabilidade característica da distribuição aleatória. A fig. 4 ilustra esta técnica onde 16 indivíduos são distribuídos uniformemente dentro do espaço solução definido por: x [,7.5] x 1 2 [,5]

7 7 Coordenada x Distribuiç ão uniforme da populaç ão 1) Amostragem Aleatória Simples ou Equiprovável Neste critério todos os indivíduos têm chances iguais de serem sorteados. São sorteados P indivíduos dentro dos N integrantes da população para formarem a população de progenitores, que irão efetivamente cruzar. P é determinado pela taxa de cruzamento. 2) Amostragem Estocástica por Torneio Neste critério são sorteados três indivíduos da população e é realizado um torneio entre eles para escolher-se qual irá efetivamente fazer parte da população de progenitores. Em nossa implementação determinamos como vencedor do torneio aquele indivíduo que possui maior aptidão, no caso, o que possui menor valor da função objetivo Coordenada x1 Fig. 4. Distribuição uniforme de 16 indivíduos dentro do espaço solução. Na fig. 4 é mostrada uma cruz maior sobre um dos indivíduos. Esta cruz estabelece a faixa para cada coordenada, no caso x 1 e x 2, dentro da qual estarão as coordenadas do indivíduo quando ele sofrer uma perturbação aleatória. A fig. 5 ilustra a população da fig. 4 após a perturbação. Coordenada x População Inicial apó s perturbaç ão Coordenada x1 Fig. 5. População após a perturbação aleatória. F. Critérios de Substituição Foram implementados e verificados quatro tipos diferentes de substituição da população anterior pela nova. 1) Substituição Imediata Os descendentes substituem seus progenitores. 2) Substituição por Fator Cheio Os descendentes substituem aqueles membros da população mais parecidos com eles. 3) Substituição por Inserção Os M descendentes substituem M membros da população anterior, geralmente os M piores. A seleção dos piores foi feita por torneio 4) Substituição por Inclusão Os descendentes são somados aos progenitores em uma única população e, desta, são selecionados os N melhores. Da mesma forma, a seleção dos melhores foi feita por torneio. X. COMPARAÇÃO Vamos comparar a técnica de geração da população inicial que propusemos na seção anterior com a Inicialização Aleatória. Vamos submeter dois algoritmos genéticos, que diferem na maneira de gerar a população inicial, à seguinte função teste, ilustrada na fig. 6. Podemos observar na fig. 5 que a nova população manteve a característica de nicho para cada indivíduo e o espaço solução foi amplamente coberto pela população inicial. C. Reflexão Eventualmente, após os processos de cruzamento e mutação da população alguns indivíduos podem sair do espaço solução, caindo em pontos não factíveis. Com o método da Reflexão, estes indivíduos são refletidos para dentro do espaço solução, voltando para pontos factíveis do problema. D. Elitismo Em nossa implementação utilizamos o Elitismo escolhendo apenas um indivíduo para integrar a Elite: o melhor. Este indivíduo será incluído na próxima geração diretamente. E. Critérios de Seleção Foram implementados e verificados dois tipos diferentes de seleção dos indivíduos que irão efetivamente cruzar. Fig. 6. A função peaks. A função teste é a função peaks, que já vem definida no Matlab e possui a característica de ser multimodal. Os algoritmos utilizados para teste utilizam ambos a Amostragem Estocástica por Torneio como critério de seleção e a Substituição por Inserção como critério de substituição.

8 8 XI. RESULTADOS A fig. 7 ilustra a evolução da população inicial para a população final. Pode-se observar que a população converge para a região do ótimo global. A população inicial, cujos indivíduos são mostrados na fig. 7 marcados com um x, foi gerada pela técnica proposta. Pode-se observar, como foi comentado anteriormente, que a população cobre todo o espaço de busca e não há concentração de indivíduos em uma determinada região. 3 Evoluç ão da População Inicial para a Final Amostras Histograma - Inicializaç ão Aleatória 2 Coordenada y Coordenada x Fig. 7. Evolução da população inicial, com 25 indivíduos, para a população final dentro do espaço de busca do ótimo para a função peaks. Marcados com um x na figura estão os indivíduos da população inicial utilizando-se a técnica proposta de inicialização. Marcados com um círculo, estão os indivíduos da população final. Os dois algoritmos foram rodados cem vezes com a função peaks utilizando inicialmente uma população de cem indivíduos. Ambos tiveram percentual de acerto de 1%. A seguir, o número de indivíduos na população foi reduzido até encontrarmos um percentual de acerto inferior a 1%. Com uma população de 25 indivíduos, o AG utilizando a técnica proposta de geração da população inicial obteve percentual de acerto de 99%. Com esse mesmo número de indivíduos, o AG com inicialização aleatória obteve percentual de acerto de 82%. Além desta diferença no percentual de acerto, o resultado do teste mostrou uma diferença em relação à velocidade de convergência para o ótimo global da função objetivo. Estes resultados são detalhados a seguir. A. Inicialização Aleatória da População A tabela a seguir relaciona os resultados obtidos pelo AG utilizando Inicialização Aleatória da População e com uma população de 25 indivíduos. Para o cálculo da média do número de gerações que este AG levou para alcançar o ótimo global foram consideradas, dentre as cem rodadas do algoritmo, somente as que ele acertou. RESULTADO DO TESTE Número de amostras 1 Porcentagem de acerto 82 Média do n o. de gerações 37,366 Valor máximo 2 Valor mínimo 2 A fig. 8 mostra o histograma das amostras. As amostras são o número de rodadas do algoritmo. Em cada rodada, o número de gerações foi registrado Número de Gerações Fig. 8. Histograma das amostras para o AG com Inicialização Aleatória da população. Pode-se observar neste histograma que em 57% das vezes o AG alcançou o ótimo global em menos de 4 gerações. A barra mais à direita do histograma corresponde ao número de vezes, no caso 18%, em que o algoritmo rodou entre 18 e 2 gerações e não alcançou o ótimo global. B. Inicialização Implementada Os resultados obtidos pelo AG utilizando a Inicialização proposta são relacionados na tabela a seguir. A população também continha 25 indivíduos. RESULTADO DO TESTE Número de amostras 1 Porcentagem de acerto 99 Média do n o. de gerações 33,44 Valor máximo 177 Valor mínimo 1 Na fig. 9 é ilustrado o histograma das amostras. A partir dele podemos observar que em 75% das vezes o AG atingiu a solução ótima em menos de 4 gerações. Amostras Histograma - Inicializaç ão Proposta Número de Gerações Fig. 9. Histograma das amostras para o AG com Inicialização da população proposta. Foi observado que mesmo reduzindo a população para 16 indivíduos, o AG com inicialização proposta obteve percentual de acerto de 96%, um resultado ainda bem melhor que o obtido pelo AG com Inicialização aleatória.

9 9 XII. CONCLUSÕES A partir dos resultados podemos observar que a técnica proposta neste trabalho para gerar a população inicial do algoritmo genético contribui para uma melhor eficiência do algoritmo. Conforme se pode observar nos dados anteriores, a técnica proposta obteve, na média, um número menor de gerações para atingir a solução do problema. Além disso, entre as cem rodadas do algoritmo, o maior número de gerações obtido foi menor do que na inicialização aleatória. A solução ótima foi encontrada, no geral, com um número menor de gerações na maioria das vezes, mostrando que a técnica proposta possui uma convergência mais rápida para o ótimo global. Isto pode ser visualizado nos histogramas da fig. 8 e da fig. 9. Entretanto, apesar de ser importante para o desempenho do AG, o método de geração da população inicial não é o fator mais significativo. Os componentes estruturais do AG mais significativos em relação ao desempenho são os critérios de seleção, substituição, mutação e cruzamento. Estes componentes são os que mais fortemente influem no resultado do AG pois afetam diretamente a evolução da população em direção à solução do problema. Porém, a inicialização proposta neste trabalho tem a vantagem de cobrir todo o espaço solução, mas mantendo a variabilidade característica da inicialização aleatória. O fato de já cobrir inicialmente todo o espaço solução, aumenta a probabilidade de termos pelo menos um indivíduo próximo ou dentro da bacia do ótimo global. A convergência se torna mais rápida pois, a população não necessita migrar rumo ao mínimo global caso a geração aleatória tenha, por azar, colocado os indivíduos distantes do ponto ótimo. O processo de evolução se reduz a apenas convergir a população para a região do ótimo através do cruzamento dos indivíduos. Como o operador de cruzamento tem o efeito de reduzir a região de abrangência da população, se já garantirmos inicialmente que a população está distribuída por todo o espaço solução, podemos iniciar com uma taxa de cruzamento mais alta e uma taxa de mutação mais baixa, pois estaremos interessados apenas em concentrar a população e não mais em explorar o espaço de busca. A importância de diminuir o número de gerações, ou seja, de iterações, para se alcançar a solução e, portanto, aumentar a velocidade de convergência do AG é que necessitaremos de menos avaliações da função objetivo. Isso representa uma redução no custo computacional inerente a certos problemas de otimização e do tempo de execução do algoritmo. Por fim, para se obter conclusões mais concretas testes mais exaustivos, com um maior número de amostras, e com funções objetivo diversas deveriam ser realizados. Porém, com base no teste feito neste trabalho, podemos ver que a técnica de inicialização da população sugerida contribui para a melhora do desempenho do AG e para uma redução do número de avaliações da função objetivo. [3] MITCHELL, Melanie. An Introduction to Genetic Algorithms MIT Press Massachusetts, [4] JANG, Jyh-Shing R., SUN, Chuen-Tsai, MIZUTANI, Eiji. Neuro- Fuzzy and Soft Computing Prentice Hall, Inc., [5] Notas de Aula da disciplina Otimização XIII. REFERÊNCIAS [1] GOLDBERG, David E. Genetic Algorithms in Search, Optimization and Machine Learning Addison-Wesley Co. Massachusetts, [2] HOLLAND, John H. Adaptation in Natural and Artificial Systems University of Michigan Press Ann Arbor, 1975.

3 Algoritmos Genéticos

3 Algoritmos Genéticos Técnicas de Inteligência Computacional 33 3 Algoritmos Genéticos Este capítulo resume os principais conceitos sobre o algoritmo evolucionário empregado nesta dissertação. É apresentada uma breve explicação

Leia mais

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO Prof. Msc. Saulo Popov Zambiasi (saulopz@gmail.com) Informação - ICPG - Criciuma - SC 1 Características Gerais, operadores, algoritmo.

Leia mais

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Algoritmos Genéticos Aula I Introdução Roteiro Introdução Computação Evolutiva Algoritmos

Leia mais

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante: Algoritmos Genéticos Prof. Luis Otavio Alvares INE/UFSC Características de alguns problemas Tamanho do espaço de busca- Ex. caixeiro viajante: 10 cidades: 181.000 soluções 20 cidades: 10.000.000.000.000

Leia mais

Introdução aos Algoritmos Genéticos

Introdução aos Algoritmos Genéticos Introdução aos Algoritmos Genéticos Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana 2 Algoritmos Genéticos: Introdução Introduzidos

Leia mais

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. Metahuerísticas: Algoritmos Genéticos Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 8) Meta-heurísticas Classificação de métodos heurísticos: os métodos

Leia mais

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva Computação Evolutiva Algoritmos Genéticos A computação evolutiva (CE) é uma área da ciência da computação que abrange modelos computacionais inspirados na Teoria da Evolução das Espécies, essencialmente

Leia mais

3. Resolução de problemas por meio de busca

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Introdução São técnicas de busca e otimização. É a metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin.

Leia mais

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP 1 Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 2 Introdução http://www.formula-um.com/ Como

Leia mais

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 1 2 Introdução Evolução natural http://www.formula-um.com/

Leia mais

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Algoritmo Genético Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução 2. Conceitos Básicos 3. Aplicações 4. Algoritmo 5. Exemplo Introdução São técnicas de busca

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 9 Algoritmos Genéticos Max Pereira Algoritmos Genéticos Algoritmos Genéticos São técnicas de busca e

Leia mais

3 Algoritmos Genéticos

3 Algoritmos Genéticos Algoritmos Genéticos Algoritmos Genéticos (AGs) constituem um mecanismo de busca adaptativa que se baseia no princípio Darwiniano de seleção natural e reprodução genética [101]. AGs são tipicamente empregados

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação Aplicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada

Leia mais

Max Pereira. Inteligência Artificial

Max Pereira. Inteligência Artificial Max Pereira Inteligência Artificial Algoritmos Genéticos Algoritmos Genéticos São técnicas de busca e otimização. Uma metáfora da teoria da evolução das espécies iniciada pelo Naturalista inglês Charles

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 9 Algoritmos Genéticos Max Pereira Algoritmos Genéticos São técnicas de busca e otimização. Uma metáfora

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 6 Algoritmos Genéticos M.e Guylerme Velasco Roteiro Introdução Otimização Algoritmos Genéticos Representação Seleção Operadores Geneticos Aplicação Caixeiro Viajante Introdução

Leia mais

Tópicos Especiais em Informática Fatec Indaiatuba

Tópicos Especiais em Informática Fatec Indaiatuba Prof. Dilermando Piva Jr. ((Compilação de diversas fontes na Internet)) Principal motivação para o estudo da computação evolutiva Otimização de processos complexo e que possuem um grande número de variáveis

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Prof. Kléber de Oliveira Andrade pdjkleber@gmail.com Algoritmos Genéticos Conteúdo Introdução O Algoritmo Genético Binário Noções de Otimização O Algoritmo Genético com Parâmetros

Leia mais

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR ALGORITMOS GENÉTICOS Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2018 Introdução Algoritmos Genéticos são algoritmos heurísticos de busca, que utilizam regras

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Algoritmos Genéticos Roteiro Introdução Algoritmos Genéticos Otimização Representação Seleção Operadores Genéticos Aplicação Caixeiro Viajante Introdução Algoritmos Genéticos (AGs), são métodos de otimização

Leia mais

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos SCC-230 Inteligência Artificial Thiago A. S. Pardo Solange O. Rezende 1 Computação Evolutiva (CE) Trata de sistemas para a resolução de problemas

Leia mais

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples Introdução Inspiração biológica Histórico da computação evolutiva Algoritmo evolutivo simples Programação evolutiva Estratégias evolutivas Algoritmos genéticos Abordagem unificada de algoritmos evolutivos

Leia mais

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial Algoritmos Genéticos Texto base: Stuart Russel e Peter Norving - Inteligência Artificial junho/2007 Algoritmo Genético Uma variante da busca em feixe estocástica Estado sucessor gerado pela combinação

Leia mais

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO AULA 06 Algoritmos Genéticos Sumário Introdução Inteligência Artificial (IA) Algoritmos Genéticos Aplicações de

Leia mais

3 Computação Evolucionária

3 Computação Evolucionária 34 3 Computação Evolucionária Computação Evolucionária compreende diversos algoritmos inspirados no princípio Darwiniano da evolução das espécies e na genética. São algoritmos probabilísticos, que fornecem

Leia mais

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan Exemplo de Aplicação de Algoritmos Genéticos Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br cear.ufpb.br/juan Estrutura do Algoritmo Genético Algoritmo genético Inicio t = 0 inicializar P(t)

Leia mais

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados Otimização Jaime Arturo Ramírez Conteúdo 1. Introdução 2. Analogia de mecanismos de seleção natural com sistemas artificiais 3. Algoritmo genético modelo 4. Um GA simples 5. Representação, genes e cromossomos

Leia mais

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA Patrocínio, MG, outubro de 2016 ENCONTRO DE PESQUISA & EXTENSÃO, 3., 2016, Patrocínio. Anais... Patrocínio: IFTM, 2016. ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA Igor Acassio Melo

Leia mais

3 Otimização Evolucionária de Problemas com Restrição

3 Otimização Evolucionária de Problemas com Restrição 3 Otimização Evolucionária de Problemas com Restrição 3.1. Introdução Este capítulo resume os principais conceitos sobre os algoritmos evolucionários empregados nesta dissertação. Primeiramente, se fornece

Leia mais

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações AG Simples/Canônico (AGS) AG introduzido por Holland Funciona bem para problemas de otimização simples e/ou de pequenas dimensões A maior parte da teoria dos AGs está baseada no AGS Utilidade didática

Leia mais

Modelos Evolucionários e Tratamento de Incertezas

Modelos Evolucionários e Tratamento de Incertezas Ciência da Computação Modelos Evolucionários e Tratamento de Incertezas Aula 01 Computação Evolucionária Max Pereira Motivação Se há uma multiplicidade impressionante de algoritmos para solução de problemas,

Leia mais

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 06 Prof. Vitor Hugo Ferreira

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 06 Prof. Vitor Hugo Ferreira Universidade Federal Fluminense Escola de Engenharia Departamento de Engenharia Elétrica INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL Aula 06 Prof. Vitor Hugo Ferreira Representação por cromossomos Codificação

Leia mais

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid 1 Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid Luciana Conceição Dias Campos Resumo Este trabalho consiste da aplicação de um algoritmo genético ao método

Leia mais

Algoritmos Genéticos. 1 Semestre de Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática

Algoritmos Genéticos. 1 Semestre de Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Algoritmos Genéticos 1 Semestre de 2015 Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática 1 2 Introdução Darwin Naturalistas: cada espécie havia sido criada separadamente

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Algoritmos Genéticos Aluno: Fabricio Aparecido Breve Prof.: Dr. André Ponce de Leon F. de Carvalho São Carlos São Paulo Maio

Leia mais

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva Estratégias Evolutivas EEs Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br www.cear.ufpb.br/juan Estratégias Evolutivas Desenvolvidas por Rechenberg e Schwefel, e estendida por Herdy, Kursawe

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Algoritmos Genéticos Introdução Um Algoritmo Genético (AG), conceitualmente, segue passos inspirados no processo biológico de evolução natural segundo a teoria de Darwin Algoritmos Genéticos seguem a idéia

Leia mais

Algoritmos Evolutivos para Otimização

Algoritmos Evolutivos para Otimização Algoritmos Evolutivos para Otimização A área de aplicação que tem recebido mais atenção é a otimização. Uma das razões é que existem uma variedade de problemas de otimização e a maioria deles sem solução

Leia mais

Introdução a Algoritmos Genéticos

Introdução a Algoritmos Genéticos Introdução a Algoritmos Genéticos Tiago da Conceição Mota Laboratório de Inteligência Computacional Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro Outubro de 2007 O Que São? Busca

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 06 Algoritmos Genéticos Edirlei Soares de Lima Algoritmos Genéticos Método de busca local. Boa abordagem para lidar com espaços de busca muito

Leia mais

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos. Gustavo Pessin 2007

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos. Gustavo Pessin 2007 GT-JeDi - Curso de Desenv. de Jogos IA para Jogos Gustavo Pessin 2007 Cronograma Base conceitual Exemplo: Achando o máximo de uma função... Como criar uma pequena aplicação: Exercício-Exemplo [Animal selvagem...]

Leia mais

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato:

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato: Inteligência Artificial Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Métodos de Busca Busca Cega ou Exaustiva: Não sabe qual o melhor nó da fronteira a ser expandido. Apenas distingue o estado objetivo

Leia mais

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP Gilson Rogério Batista, Gideon Villar Leandro Universidade Regional do Noroeste do Estado do Rio

Leia mais

Estrutura comum dos AEs Seleção

Estrutura comum dos AEs Seleção Estrutura comum dos AEs Seleção Todos os AEs mantém uma população de tamanho m por: Utilizando uma população como fonte de pais para produzir n descendentes Reduzindo o tamanho da população expandida de

Leia mais

3 Métodos de Otimização

3 Métodos de Otimização 3 Métodos de Otimização Problemas de otimização são relacionados a minimização ou maximização de função de uma ou mais variáveis num determinado domínio, possivelmente com a existência de um conjunto de

Leia mais

Algoritmos Evolutivos Canônicos

Algoritmos Evolutivos Canônicos Algoritmos Evolutivos Canônicos Como representar os indivíduos Vetor de comprimento fixo com L características escolhidas previamente. Ex.: Definição

Leia mais

Estrutura comum dos AEs

Estrutura comum dos AEs Estrutura comum dos AEs Os algoritmos estudados seguem o seguinte padrão para modelagem dos sistemas evolutivos: Uma população de tamanho constante m evolui sobre o tempo A população atual é utilizada

Leia mais

O USO DE ALGORITMOS GENÉTICOS NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR RESUMO INTRODUÇÃO

O USO DE ALGORITMOS GENÉTICOS NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR RESUMO INTRODUÇÃO O USO DE ALGORITMOS GENÉTICOS NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR Douglas Peioto de Carvalho,Miquéias Augusto Ferreira Nantes (Alunos do Curso de Matemática da Universidade Anhanguera - Uniderp)

Leia mais

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Computação Evolutiva Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Principais Tópicos Computação Evolutiva Algoritmos Genéticos Codificação Função de

Leia mais

Implementação De Um Algoritmo Genético Codificado Para A Solução do Problema do Caixeiro Viajante

Implementação De Um Algoritmo Genético Codificado Para A Solução do Problema do Caixeiro Viajante Implementação De Um Algoritmo Genético Codificado Para A Solução do Problema do Caixeiro Viajante 1 Resumo Neste trabalho será realizada a codificação do algoritmo genético para a solução do problema do

Leia mais

GA Conceitos Básicos. Capítulo 3 Prof. Ricardo Linden

GA Conceitos Básicos. Capítulo 3 Prof. Ricardo Linden GA Conceitos Básicos Capítulo 3 Prof. Ricardo Linden Algoritmos Evolucionários Algoritmos evolucionários usam modelos computacionais dos processos naturais de evolução como uma ferramenta para resolver

Leia mais

IF-705 Automação Inteligente Algoritmos Evolucionários

IF-705 Automação Inteligente Algoritmos Evolucionários IF-705 Automação Inteligente Algoritmos Evolucionários Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática - CIn Departamento de Sistemas da Computação aluizioa@cin.ufpe.br

Leia mais

INTRODUÇÃO À. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

INTRODUÇÃO À. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2018 Computação Evolutiva Ramo da ciência da computação que propõe um paradigma

Leia mais

INF 1771 Inteligência Artificial

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

Leia mais

4 Implementação Computacional

4 Implementação Computacional 4 Implementação Computacional 4.1. Introdução Neste capítulo é apresentada a formulação matemática do problema de otimização da disposição das linhas de ancoragem para minimizar os deslocamentos (offsets)

Leia mais

Breve Avaliação de Parâmetros básicos de Algoritmos Genéticos

Breve Avaliação de Parâmetros básicos de Algoritmos Genéticos https://eventos.utfpr.edu.br//sicite/sicite17/index Breve Avaliação de Parâmetros básicos de Algoritmos Genéticos RESUMO Stéfanie Caroline Pereira Dekker stefanie.c.dekker@gmail.com Universidade Tecnológica

Leia mais

OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO

OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL Miquéias Augusto Ferreira Nantes 1, Douglas Peixoto de Carvalho 1 (Alunos do Curso de Matemática da Universidade Anhanguera - Uniderp)

Leia mais

OTIMIZAÇÃO DA LIMPEZA DE REDES DE TROCADORES DE CALOR EMPREGANDO OS ALGORITMOS GENÉTICOS

OTIMIZAÇÃO DA LIMPEZA DE REDES DE TROCADORES DE CALOR EMPREGANDO OS ALGORITMOS GENÉTICOS OTIMIZAÇÃO DA LIMPEZA DE REDES DE TROCADORES DE CALOR EMPREGANDO OS ALGORITMOS GENÉTICOS C. de O. GONÇALVES 1, E. M. QUEIROZ 2, F. L. P. PESSOA 2, F. S. LIPORACE 3, S. G. OLIVEIRA 3 e A. L. H. COSTA 1

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS Metaheurísticas de Buscas ALGORITMOS GENÉTICOS (AG) Popularizados por John Holland podem ser considerados os primeiros modelos algorítmicos

Leia mais

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados Agenda PCS / PCS 09 Inteligência Artificial Prof. Dr. Jaime Simão Sichman Profa. Dra. Anna Helena Reali Costa Busca Local e Problemas de Otimização. Introdução. Busca Local I. Subida da Encosta (Hill-Climbing)

Leia mais

Método de Hardy-Cross Capitulo 13- Algoritmo genético engenheiro Plínio Tomaz 24 dezembro de Algoritmo genético 13-1

Método de Hardy-Cross Capitulo 13- Algoritmo genético engenheiro Plínio Tomaz 24 dezembro de Algoritmo genético 13-1 1 Algoritmo genético 13-1 2 Capítulo 13-Algoritmo genético 13.1 Introdução As tecnologias recentes para dimensionamento de redes de água são: Algoritmo genético Programação Dinâmica Decision Support System

Leia mais

4 Métodos Existentes. 4.1 Algoritmo Genético

4 Métodos Existentes. 4.1 Algoritmo Genético 61 4 Métodos Existentes A hibridização de diferentes métodos é em geral utilizada para resolver problemas de escalonamento, por fornecer empiricamente maior eficiência na busca de soluções. Ela pode ser

Leia mais

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa Prof. Paulo André Castro pauloac@ita.br www.comp.ita.br/~pauloac Sala 110, IEC-ITA Sumário Busca Competitiva Para Ambientes multiagentes...

Leia mais

Aplicação da Metaheurística Algoritmos Genéticos na solução do problema das n Rainhas

Aplicação da Metaheurística Algoritmos Genéticos na solução do problema das n Rainhas Aplicação da Metaheurística Algoritmos Genéticos na solução do problema das n Rainhas Resumo Gardiego Luiz da Silva 1 Henrique Faria de Oliveira 2 Faculdade

Leia mais

Figura 3.1: Fluxograma do algoritmo da Programação Genética.

Figura 3.1: Fluxograma do algoritmo da Programação Genética. 3 Programação Genética O termo Programação Genética passou a ser utilizado em 1990 nos trabalhos publicados por Koza [30] e De Garis [31]. A definição de Koza para este termo passou a predominar após a

Leia mais

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Computação Evolutiva Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Principais Tópicos Computação Evolutiva Algoritmos Genéticos Codificação Função de

Leia mais

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO Profa. Mariana Cavalca Baseado em: Material didático do Prof. Dr. Carlos Henrique V. Moraes da UNIFEI Curso de verão da Profa. Gisele L. Pappa Material

Leia mais

Agentes Adaptativos. Introdução

Agentes Adaptativos. Introdução Agentes Adaptativos Capítulo 6: Costa, E. e Simões, A. (2015). Inteligência Artificial Fundamentos e Aplicações, 3.ª edição, FCA. AGENTES ADAPTATIVOS 1 Introdução Os seres vivos que não se adaptam ao seu

Leia mais

Inteligência Artificial

Inteligência Artificial Figura: Capa do Livro Hamburger, H., Richards, D. Logic and Language Models for Computer Science, Prentice Hall. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Pós-Graduação

Leia mais

Sistemas Inteligentes if684. Germano Vasconcelos Página da Disciplina:

Sistemas Inteligentes if684. Germano Vasconcelos Página da Disciplina: Sistemas Inteligentes if684 Germano Vasconcelos gcv@cin.ufpe.br Página da Disciplina: www.cin.ufpe.br/~îf684/ec 1 1 Algoritmos Genéticos 2 Algoritmos Genéticos n Técnicas de busca e otimização n Metáfora

Leia mais

Créditos. Introdução a Sistemas Inteligentes. Agenda Introdução Breve Histórico. Introdução. Introdução aos Algoritmos Evolutivos

Créditos. Introdução a Sistemas Inteligentes. Agenda Introdução Breve Histórico. Introdução. Introdução aos Algoritmos Evolutivos Introdução a Sistemas Inteligentes Introdução aos Algoritmos Evolutivos Créditos Este material consiste de adaptações e extensões dos originais gentilmente cedidos: pelo Prof. Dr. Eduardo Raul Hruschka

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Universidade Federal do Paraná (UFPR) Bacharelado em Informática Biomédica Algoritmos Genéticos David Menotti www.inf.ufpr.br/menotti/ci171-182 Hoje Algoritmos Genéticos 2 Objetivos Introduzir os principais

Leia mais

Algoritmos Genéticos Fernando Lobo

Algoritmos Genéticos Fernando Lobo Algoritmos Genéticos Fernando Lobo Grupo de Análise de Sistemas Ambientais Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa Sumário O que é um algoritmo genético? Para que serve? Como funciona?

Leia mais

Otimização com Algoritmos Genéticos no MATLAB. Prof. Rafael Saraiva Campos CEFET-RJ

Otimização com Algoritmos Genéticos no MATLAB. Prof. Rafael Saraiva Campos CEFET-RJ Otimização com Algoritmos Genéticos no MATLAB Prof. Rafael Saraiva Campos CEFET-RJ Conteúdo do Mini-Curso PARTE 1 Teoria PARTE 2 Prática Conteúdo do Mini-Curso PARTE 1 Teoria 1.1. Conceitos Básicos de

Leia mais

Otimização. Algoritmos Genéticos. Teoria da Evolução. Otimização

Otimização. Algoritmos Genéticos. Teoria da Evolução. Otimização Algoritmos Genéticos Otimização São técnicas de busca e otimização. É a metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin. Desenvolvido por John

Leia mais

3. ALGORITMOS GENÉTICOS

3. ALGORITMOS GENÉTICOS 1 3. ALGORITMOS GENÉTICOS PARTE 1 3.1 Analogia Física: a evolução das espécies 3.2 A Tradução Matemática: o algoritmo básico 3.3 Codificação dos Indivíduos 3.4 Avaliação da Aptidão de um Indivíduo 3.5

Leia mais

ESTUDO DO EFEITO DOS PARÂMETROS GENÉTICOS DE UM ALGORITMO GENÉTICO NA SOLUÇÃO OTIMIZADA E NO TEMPO DE CONVERGÊNCIA EM UMA FUNÇÃO DE DUAS VARIÁVEIS

ESTUDO DO EFEITO DOS PARÂMETROS GENÉTICOS DE UM ALGORITMO GENÉTICO NA SOLUÇÃO OTIMIZADA E NO TEMPO DE CONVERGÊNCIA EM UMA FUNÇÃO DE DUAS VARIÁVEIS ESTUDO DO EFEITO DOS PARÂMETROS GENÉTICOS DE UM ALGORITMO GENÉTICO NA SOLUÇÃO OTIMIZADA E NO TEMPO DE CONVERGÊNCIA EM UMA FUNÇÃO DE DUAS VARIÁVEIS Marcelo Henrique dos Santos Universidade de Uberaba, Engenharia

Leia mais

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS Uma visão geral dos GAs Um algoritmo genético é uma classe de algoritmo de busca. O algoritmo procura uma solução dentro de um espaço para um problema de otimização.

Leia mais

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR Problema de Satisfação de Restrições Problema de Satisfação de Restrições Exemplos de PSR (CSP, Constraint Satisfaction Problem) Busca genérica aplicada a PSRs Backtracking Verificação forward Heurísticas

Leia mais

Problema de Satisfação de Restrições

Problema de Satisfação de Restrições Problema de Satisfação de Restrições Exemplos de PSR (CSP, Constraint Satisfaction Problem) Busca genérica aplicada a PSRs Backtracking Verificação forward Heurísticas para PSRs Problema de Satisfação

Leia mais

Extracção de Conhecimento

Extracção de Conhecimento Programa Doutoral em Engenharia Informática Mestrado Integrado em Engenharia Informática LIACC/FEUP Universidade do Porto www.fe.up.pt/ ec rcamacho@fe.up.pt Outubro 2007 Algoritmos Genéticos alguns destes

Leia mais

3 Algoritmos Evolucionários 3.1 Algoritmos Genéticos

3 Algoritmos Evolucionários 3.1 Algoritmos Genéticos 27 3 Algoritmos Evolucionários 3.1 Algoritmos Genéticos Essencialmente, Algoritmos Genéticos são métodos de busca e otimização que tem sua inspiração nos conceitos da teoria de seleção natural das espécies

Leia mais

C o m p u t a ç ã o M ó v e l. André Siqueira Ruela

C o m p u t a ç ã o M ó v e l. André Siqueira Ruela C o m p u t a ç ã o M ó v e l André Siqueira Ruela Sumário Revisão sobre AGs. Codificação de uma Rede Neural. AG em treinamento supervisionado. AG em treinamento não supervisionado. Revisão: Algoritmos

Leia mais

Assim, no algoritmo BIOCLIM, qualquer ponto do espaço pode ser classificado como:

Assim, no algoritmo BIOCLIM, qualquer ponto do espaço pode ser classificado como: ANEXO A ALGORITMOS BIOCLIM E GARP A.1 Algoritmo BIOCLIM O algoritmo BIOCLIM implementa o conceito de envelope bioclimático (Nix, 1986). O algoritmo calcula a média e o desvio-padrão para cada variável

Leia mais

Inteligência Computacional Aplicada. O que é Inteligência Computacional? Áreas de Aplicação Algoritmos Genéticos

Inteligência Computacional Aplicada. O que é Inteligência Computacional? Áreas de Aplicação Algoritmos Genéticos Inteligência Computacional Aplicada Resumo O que é Inteligência Computacional? Áreas de Aplicação Algoritmos Genéticos O que é Inteligência Computacional? Técnicas e sistemas computacionais que imitam

Leia mais

Algoritmos Genéticos e Evolucionários

Algoritmos Genéticos e Evolucionários Algoritmos Genéticos e Evolucionários Djalma M. Falcão COPPE/UFRJ PEE e NACAD falcao@nacad.ufrj.br http://www.nacad.ufrj.br/~falcao/ http://www.nacad.ufrj.br/~falcao/ag/ag.htm Resumo do Curso Introdução

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação Aplicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada

Leia mais

Palavras-chave: Algoritmos Genéticos. Otimização. Variância. Seleção Sexual.

Palavras-chave: Algoritmos Genéticos. Otimização. Variância. Seleção Sexual. ALGORITMO GENÉTICO COM SELEÇÃO SEXUAL Lucas Vale F. da Silva 1 Allan Vilar de Carvalho 1 Alisson Patrick Medeiros de Lima 1 Ygor Alcântara de Medeiros 1 Wellington Candeia de Araujo 2 RESUMO Algoritmos

Leia mais

Aluno do Curso de Graduação em Ciência da computação da UNIJUÍ, bolsista PROBIC/FAPERGS, 3

Aluno do Curso de Graduação em Ciência da computação da UNIJUÍ, bolsista PROBIC/FAPERGS, 3 ESTUDO E EXPLORAÇÃO DE ALGORITMOS GENÉTICOS: UMA SOLUÇÃO PARA PROBLEMAS DE OTIMIZAÇÃO NO CONTEXTO DE INTEGRAÇÃO DE APLICAÇÕES 1 STUDY AND EXPLORATION OF GENETIC ALGORITMS: A SOLUTION TO OPTIMIZATION PROBLEMS

Leia mais

Algoritmos Genéticos Fundamentos e Aplicações. Prof. Juan Moisés Mauricio Villanueva

Algoritmos Genéticos Fundamentos e Aplicações. Prof. Juan Moisés Mauricio Villanueva Algoritmos Genéticos Fundamentos e Aplicações Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br Conteúdo Introdução Inteligência Artificial (IA) Algoritmos Genéticos Aplicações de Algoritmos

Leia mais

Otimização com Algoritmos Evolutivos

Otimização com Algoritmos Evolutivos Otimização com Algoritmos Evolutivos Francisco Pereira (xico@dei.uc.pt) ELBCE 2016 (Setembro 2016) Resumo Problem Optimization Method Solution } Algoritmos Evolutivos } Propriedades e funcionamento } Exemplos

Leia mais

Algoritmos Genéticos 1

Algoritmos Genéticos 1 Algoritmos Genéticos 1 Esquema de um GA Algoritmos Genéticos são um ramo da computação evolucionária Seu funcionamento pode ser resumido algoritimicamente através dos seguintes passos: Inicialize a população

Leia mais

4 Otimização de parâmetros dos arranjos gerados

4 Otimização de parâmetros dos arranjos gerados 4 Otimização de parâmetros dos arranjos gerados Nem sempre o algoritmo escolhido para a realização de uma etapa do projeto retorna aquilo que exatamente seria necessário para a etapa seguinte. Em tais

Leia mais

Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística

Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística José Edson Rodrigues Guedes Gondim 1 Joab de Oliveira Lima 2 1 Introdução

Leia mais

Algoritmos Genéticos. Luis Martí LIRA/DEE/PUC-Rio. Algoritmos Genéticos

Algoritmos Genéticos. Luis Martí LIRA/DEE/PUC-Rio. Algoritmos Genéticos Luis Martí LIRA/DEE/PUC-Rio Baseado nas transparências dos professores: Teresa B. Ludermir (UFPE) Ricardo Linden (CEPEL) Marco Aurélio Pacheco (PUC-Rio) Conteúdo! Introdução! O Algoritmo Genético Binário!

Leia mais

Algoritmo Genético. Teoria da Evolução Princípio seguido pelos AGs

Algoritmo Genético. Teoria da Evolução Princípio seguido pelos AGs Algoritmo Genético Técnica de busca e otimização. Metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin. Desenvolvido por John Holland (1975) e seus

Leia mais

6 Estudos de Casos Porta Lógica OU de 4 Entradas

6 Estudos de Casos Porta Lógica OU de 4 Entradas 6 Estudos de Casos Com o objetivo de avaliar a síntese automática de circuitos de QCA usando técnicas de Hardware Evolucionário (EHW), alguns circuitos foram sintetizados e serão apresentados a seguir.

Leia mais