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

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

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

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

Tópicos Especiais em Informática Fatec Indaiatuba

Inteligência Artificial

Técnicas de Inteligência Artificial

Max Pereira. Inteligência Artificial

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

Técnicas de Inteligência Artificial

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

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

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

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

1. Computação Evolutiva

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 e Evolucionários

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)

Algoritmos Genéticos

Inteligência Artificial

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

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

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

Introdução a Algoritmos Genéticos

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

Introdução aos Algoritmos Genéticos

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. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

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

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

Motivação Computação Evolucionária e Algoritmos Genéticos. Teoria da Evolução. Teoria da Evolução. Otimização. Algoritmos Genéticos AG

Modelos Evolucionários e Tratamento de Incertezas

3 Algoritmos Genéticos

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

INF 1771 Inteligência Artificial

Algoritmos Genéticos

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

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

1. Computação Evolutiva

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

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

Algoritmos Genéticos

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

Extracção de Conhecimento

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

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

Métodos de pesquisa e Optimização

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

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

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

3 Algoritmos Genéticos

INF 1771 Inteligência Artificial

Prof. Marco Aurélio C. Pacheco. 1. Problema 2. Representação 3. Decodificação 4. Avaliação 5. Operadores 6. Técnicas 7. Parâmetros

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

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

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

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

Agentes Adaptativos. Introdução

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

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

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

Computação Evolutiva Parte 2

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

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

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

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

Algoritmos Evolutivos Canônicos

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

Computação Evolutiva. Aula 4 Usando AEs Prof. Tiago A. E. Ferreira

4 Métodos Existentes. 4.1 Algoritmo Genético

3 Métodos de Otimização

1. Computação Evolutiva

3. ALGORITMOS GENÉTICOS

Um AG Baseado em Ordem para o Problema do Ladrão de Jóias com Múltiplas Restrições

IA: Inteligência Artificial

Frederico Gadelha Guimarães Departamento de Computação (DECOM) Universidade Federal de Ouro Preto (UFOP)

3 Computação Evolucionária

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

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

Inteligência Artificial

Algoritmos Genéticos

IN-1131 Computação Evolucionária. Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática

Comparação de métodos de seleção de reprodutores alternativos com o método da roleta

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

Pesquisa Operacional Aplicada à Mineração

ESTUDO COMPARATIVO DOS MÉTODOS DE APTIDÃO PARA PROBLEMAS COM MÚLTIPLOS OBJETIVOS

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

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

1. Computação Evolutiva

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

INF 1771 Inteligência Artificial

IMPLEMENTANDO UM ALGORITMO GENÉTICO

Otimização com Algoritmos Evolutivos

Computação Evolucionária

4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos

1. Computação Evolutiva

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

4 Implementação Computacional

Problema do vendedor: uma abordagem via algoritmos genéticos

Transcrição:

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 alunos. Popularizado por David Goldberg (1989). Teoria da Evolução Princípio seguido pelos AGs 1859 - Charles Darwin, livro A Origem das Espécies :. As espécies evoluem pelo principio da seleção natural e sobrevivência do mais apto. Charles Darwin 1

Otimização É a busca da melhor solução para um dado problema. Consiste em tentar vários soluções e usar a informação obtida para conseguir soluções cada vez melhores. Exemplo de otimização: Telespectador através de ajuste na antena da televisão otimiza a imagem buscando várias soluções até alcançar uma boa imagem. Otimização As técnicas de otimização, geralmente, apresentam: Espaço de busca: onde estão todas as possíveis soluções do problema; Função objetivo: utilizada para avaliar as soluções produzidas, associando a cada uma delas uma nota. 2

Características do Algoritmo Genético É um algoritmo estocástico (não é determinístico). Trabalha com uma população de soluções simultaneamente. Utiliza apenas informações de custo e recompensa. Não requer nenhuma outra informação auxiliar (como por exemplo o gradiente). Características do Algoritmo Genético São fáceis de serem implementados em computadores. Adaptam-se bem a computadores paralelos. São facilmente hibridizados com outras técnicas. Funcionam com parâmetros contínuos ou discretos. 3

Algoritmo Genético (Conceitos Básicos) AG manipula uma população de indivíduos. Individuos são possíveis soluções do problema. Os indivíduos são combinados (crossover) uns com os outros, produzindo filhos que podem sofrer ou não mutação. As populações evoluem através de sucessivas gerações até encontrar a solução ótima. Aplicações Em problemas díficeis de otimização, quando não existe nenhuma outra técnica especifica para resolver o problema. Otimização de funções numéricas em geral Otimização combinatória Problema do caixeiro viajante Problema de empacotamento Alocação de recursos (job shop schedulling) Aprendizado de Máquina Projetos 4

Algoritmo Genético 1. Gerar a população inicial. 2. Avaliar cada indivíduo da população. 3. Enquanto critério de parada não for satisfeito faça 3.1 Selecionar os indivíduos mais aptos. 3.2 Criar novos indivíduos aplicando os operadores crossover e mutação. 3.3 Armazenar os novos indivíduos em uma nova população. 3.4 Avaliar cada cromossomo da nova população. Algoritmo Genético Básico 1. begin initialize aptidão_alvo;pco; Pmut; L cromossomos de N-bit 2. do Determine a aptidão (fitness) de cada cromossomo; f i ; i = 1; : : : ; L 3. Ordene os cromossomos segundo a aptidão 4. do Selecione dois cromossomos de maiores aptidões 5. if Rand[0; 1) < Pco then faça o crossover do par escolhido em um bit escolhido aleatoriamente 6. else mude cada bit com probabilidade Pmut 7. Remova os cromossomos pais 8. until N filhos terem sido criados 9. until Algum cromossomo ter aptidão f que supere a aptidão_alvo 10. return o cromossomo mais apto 11. end 5

Algoritmo Genético Básico 1000 800 600 400 200 0 0 5 10 15 20 25 30 Exemplo 1 Use um AG para encontrar o ponto máximo da função: f ( x) = x 2 com x sujeito as seguintes restrições: 0 x 31 x é inteiro 6

Indivíduo Cromossomo Estrutura de dados que representa uma possível solução para o problema. Os parâmetros do problema de otimização são representados por cadeias de valores. Exemplos: Vetores de reais, (2.345, 4.3454, 5.1, 3.4) Cadeias de bits, (111011011) Vetores de inteiros, (1,4,2,5,2,8) ou outra estrutura de dados. Indivíduo Aptidão Nota associada ao indivíduo que avalia quão boa é a solução por ele representada. Aptidão pode ser: Igual a função objetivo (raramente usado na prática). Resultado do escalonamento da função objetivo. Baseado no ranking do indivíduo da população. 7

Cromossomo do exemplo 1 Cromossomos binários com 5 bits: Aptidão 0 = 00000 31 = 11111 Neste problema, a aptidão pode ser a própria função objetivo. Exemplo: aptidão(00011) = f(3) = 9 Seleção Seleção Imitação da seleção natural. Os melhores indivíduos (maior aptidão) são selecionados para gerar filhos através de crossover e mutação. Dirige o AG para as melhores regiões do espaço de busca. Tipos mais comuns de seleção Proporcional a aptidão. Torneio. 8

População Inicial do exemplo 1 É aleatória (mas quando possível, o conhecimento da aplicação pode ser utilizado para definir população inicial) Pop. inicial f(x) cromossomos x Prob. de seleção A1 = 1 1 0 0 1 25 625 54,5% A2 = 0 1 1 1 1 15 225 19,6% A3 = 0 1 1 1 0 14 196 17,1% A4 = 0 1 0 1 0 10 100 8,7% Probabilidade de seleção proporcional a aptidão p i = N k = 1 f ( x ) i f ( x ) k Seleção proporcional a aptidão (Roleta) 54,5% A1 8,7% A4 17,1% A3 19,6% A2 Pais selecionados A1 = 1 1 0 0 1 A2 = 0 1 1 1 1 A2 = 0 1 1 1 1 A1 = 1 1 0 0 1 9

Seleção por Torneio Escolhe-se n (tipicamente 2) indivíduos aleatoriamente da população e o melhor é selecionado. Crossover de 1 ponto O crossover é aplicado com uma dada probabilidade denominada taxa de crossover (60% a 90%) Pais Filhos 1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 OPontode corte é escolhido aleatoriamente Se o crossover é aplicado os pais trocam suas caldas gerando dois filhos, caso contrário os dois filhos serão cópias exatas dos pais. 10

Mutação Mutação inverte os valores dos bits. A mutação é aplicada com dada probabilidade, denominada taxa de mutação (~1%), em cada um dos bits do cromossomo. Antes da mutação Depois 0 1 1 0 1 0 0 1 0 1 (Neste caso, apenas o 2o.bit passou no teste de probabilidade A taxa de mutação não deve ser nem alta nem baixa, mas o suficiente para assegurar a diversidade de cromossomos na população. A primeira geração do exemplo 1 Pais Filhos A1 = 1 1 0 0 1 crossover 1 1 0 1 1 mutação 1 1 0 1 1 A2 = 0 1 1 1 1 A2 = 0 1 1 1 1 crossover 0 1 1 0 1 0 1 1 1 1 mutação 0 0 1 0 1 1 0 1 1 1 Nova pop. A1 = 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 11

A primeira geração do exemplo 1 cromossomos prob. de x f(x ) seleção 1 1 1 0 1 1 27 729 29,1% 2 1 1 0 0 1 25 625 24,9% 3 1 1 0 0 1 25 625 24,9% 4 1 0 1 1 1 23 529 21,1% As demais gerações do exemplo 1 x f(x ) Segunda Geração Terceira Geração 1 1 1 0 1 1 27 729 2 1 1 0 0 0 24 576 3 1 0 1 1 1 23 529 4 1 0 1 0 1 21 441 x f(x ) 1 1 1 0 1 1 27 729 2 1 0 1 1 1 23 529 3 0 1 1 1 1 15 225 4 0 0 1 1 1 7 49 12

As demais gerações do exemplo 1 x f(x ) Quarta Geração Quinta Geração 1 1 1 1 1 1 31 961 2 1 1 0 1 1 27 729 3 1 0 1 1 1 23 529 4 1 0 1 1 1 23 529 x f(x ) 1 1 1 1 1 1 31 961 2 1 1 1 1 1 31 961 3 1 1 1 1 1 31 961 4 1 0 1 1 1 23 529 Outros tipos de Crossover Crossover de 2-pontos pai 1 pai 2 010 011000 101011 001 001110 001101 filho 1 filho 2 010001110101011 001011000001101 Considerado melhor que o crossover de 1 ponto. 13

Crossover de n-pontos pai 1 pai 2 101 010010 01010 01 001 001 001110 00110 11 100 filho 1 1010011100101011001 fillho 2 0010100100011001100 Crossover de 4-pontos Crossover Uniforme Máscara de bits aleatória 1 1 0 1 0 1 1 0 1 0 pai 1 1 1 1 0 1 1 0 1 1 0 filho 1 pai 2 1 1 1 0 0 1 0 1 1 0 0 1 1 0 0 0 1 1 0 0 O filho1 tem 50% de chance de levar um bit do pai1 e 50% de chance de levar um bit de pai2 O filho2 leva o que sobra de pai1 e pai2 14

Exemplo 2 Achar o máximo da função utilizando Algoritmos Genéticos, f ( x) = x seno( 10πx) + 1,0 Restrita ao intervalo: 1,0 x 2,0 Exemplo 2 f(x) = x sen(10πx) + 1 3,0 2,0 1,0 0,0 Máximo local Máximo global -1,0-1,0-0,5 0,0 0,5 1,0 1,5 2,0 x Máximo global: x = 1,85055 f(x) = 2,85027 15

Exemplo 2 Função multimodal com vários pontos de máximo. É um problema de otimização global (encontrar o máximo global) Não pode ser resolvido pela grande maioria dos métodos de otimização convencional. Há muitos métodos de otimização local, mas para otimização global são poucos. O Cromossomo exemplo 2 Representar o único parâmetro deste problema (a variável x) na forma de um cromossomo: Quantos bits deverá ter o cromossomo? Quanto mais bits melhor precisão númerica. Longos cromossomos são difíceis de manipular. Para cada decimal é necessário 3,3 bits Cromossomo com 22 bits 1000101110110101000111 16

O Cromossomo exemplo 2 Decodificação cromossomo = 1000101110110101000111 b 10 = (1000101110110101000111) 2 = 2288967 Valor de x precisa estar no intervalo [-1,0; 2,0] b10 x = min+ (max min) l 2 1 2.288.967 x = 1+ (2 + 1) = 0,637197 22 2 1 As Gerações do exemplo 2 f(x) = x seno(10πx) + 1.0 3,0 2,5 2,0 1,5 1,0 0,5 0,0-0,5-1,0 População Inicial -1,0-0,5 0,0 0,5 1,0 1,5 2,0 x População gerada aleatoriamente 17

As Gerações do exemplo 2 f(x) = x sen(10πx) + 1.0 3,0 2,5 2,0 1,5 1,0 0,5 0,0-0,5-1,0 Primeira Geração -1,0-0,5 0,0 0,5 1,0 1,5 2,0 x Pouca melhoria f(x) = x sen(10πx) + 1.0 3,0 2,5 As Gerações do exemplo 2 Geração 25 2,0 1,5 1,0 0,5 0,0-0,5-1,0-1,0-0,5 0,0 0,5 1,0 1,5 2,0 x A maioria dos indivíduos encontraram o máximo global 18

3,0 As Gerações do exemplo 2 2,5 Função objetivo 2,0 1,5 1,0 Média Melhor 0,5 0 5 10 15 20 25 Geração Na geração 15 o AG já encontrou o ponto máximo Elitismo O crossover ou mutação podem destruir a melhor indivíduo. Por que perder a melhor solução encontrada? Elitismo transfere a cópia do melhor indíviduo para a geração seguinte. 19

Elitismo no Problema 2 3,0 2,8 AG com elitismo AG sem elitismo Função objetivo 2,6 2,4 2,2 2,0 0 5 10 15 20 25 Geração AG com elitismo é melhor? Critérios de Parada Número de gerações. Encontrou a solução (quando esta é conhecida). Perda de diversidade. Convergência nas últimas k gerações não houve melhora da na aptidão 20

Terminologia Indivíduo Simples membro da população. Cromossomo e Genoma e : Coleção de genes Estrutura de dados que codifica a solução de uma problema. Genótipo Na biologia, representa a composição genética contida no Genoma. Nos AGs, representa a informação contida no cromossomo ou genoma. Terminologia Fenótipo: Objeto ou estrutura construída a partir das informações do genótipo. É o cromossomo decodificado. Exemplo: Se o cromossomo codifica as dimensões de um edifício, então o fenótipo é o edifício construído. Gene: Codifica um simples parâmetro do problema 21

Terminologia Alelos: Valores que o gene pode assumir. Ex.: Um gene representando a cor de um objeto pode ter alelos como azul, preto, verde etc... Epistasia: Interação entre genes do cromossomo cujo efeito é desativar o outro gene. Um gene é epistático quando sua presença desativa um gene em outra posição no cromossomo. Não linearidade. Exercício Encontrar o valor de x para o qual a função f(x) = x2-3x + 4 assume o valor mínimo. Assumir que x pertence ao intervalo [-10, +10] Codificar x como vetor binário Criar uma população inicial com 4 indivíduos Aplicar Mutação com taxa de 1% Aplicar Crossover com taxa de 60% Usar seleção por torneio. Usar 5 gerações. 22

Algoritmo Genético no Prob de Correspondência Algoritmo Genético Paralelo no Prob. de Correspondência Objetivo de uso: acelerar a convergência do processo. Modelo de Ilha Razões para uso de Paralelismo: P 2 (t) Fácil implementação P 1 (t) P N (t ) Tempo de processamento Convergência prematura Algoritmo Genético 1 Algoritmo Genético 2 Algoritmo Genético N Característica: migração que aumenta a pressão seletiva P 1 (t+1) P 2 (t+1) Fluxos migratórios possíveis Ciclo de gerações do algoritmo P N (t+1) Parametrização: tipo de algoritmo número de indivíduos migrantes frequência de migração escolha dos indivíduos migráveis escolha dos indivíduos substituíveis Algumas Referências Bibliográficas Goldberg, D.E. Genetic algorithms in search, optimization, and machine learning. Massachusetts: Addison-Wesley, 1989. Goldberg, D.E. Genetic and evolutionary algorithms come of age. Communications of ACM, v. 37, n. 3, p. 113-119, Mar. 1994. Michalewicz, Z. Genetic algorithms + data structures = evolution programs. New York: Springer, 1996. Mühlenbein, H. Genetic Algorithms. In: Aarts, E.; Lenstra, J.K.; eds. Local search in combinatorial optimization. New York: John Wiley & Sons, 1997. Srinivas, M.; Patnaik, L.M. Genetic algorithms: a survey. Computer, v. 27, n. 6, p. 17-26, June 1994. 23

Algumas Referências Bibliográficas Lacerda, E.G.M.; Carvalho, A.C.P.L.F. Introdução aos algoritmos genéticos. In: SBC'99 - Congresso Nacional da Sociedade Brasileira de Computação 19., Rio de Janeiro, Jul. 1999, Anais. v. 2, p. 51 126. Holland, J.H. Adaptation in natural and artificial systems. Massachusetts: The MIT Press, 1994. 211 p. Heitkoetter, J.; Beasley, D. The hitch-hiker's guide to evolutionary computation: a list of frequently asked questions (FAQ). [online] <rtfm.mit.edu:/pub/usenet/news.answers/aifaq/genetic>. Mar. 1999. Davis, L. Handbook of genetic algorithms. New York: Van Nostrand Reinhold, 1991. 24