Inteligência Artificial

Documentos relacionados
Algoritmos Genéticos

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

Técnicas de Inteligência Artificial

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

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

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

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

Max Pereira. Inteligência Artificial

Inteligência Artificial

Técnicas de Inteligência Artificial

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. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

Tópicos Especiais em Informática Fatec Indaiatuba

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

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

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

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

1. Computação Evolutiva

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

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

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

3 Algoritmos Genéticos

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

Introdução a Algoritmos Genéticos

Introdução aos Algoritmos Genéticos

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

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

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

Algoritmos Genéticos

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

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

INF 1771 Inteligência Artificial

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

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

Algoritmos Evolutivos para Otimização

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

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

INF 1771 Inteligência Artificial

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

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

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

Inteligência Artificial

Pesquisa Operacional Aplicada à Mineração

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

Algoritmos Genéticos

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

Agentes Adaptativos. Introdução

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

Aplicação de algoritmos genéticos. Problema da Mochila (knapsack problem)

Algoritmos Evolutivos Canônicos

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

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

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

3 Algoritmos Genéticos

Universidade Federal do Paraná UFPR Curso de Ciência da Computação CI801 Tópicos em Inteligência Artificial. Algoritmo Memético

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

Modelos Evolucionários e Tratamento de Incertezas

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

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

4 Métodos Existentes. 4.1 Algoritmo Genético

Algoritmos Genéticos 1

Métodos de pesquisa e Optimização

IA: Inteligência Artificial

Extracção de Conhecimento

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

Modelos Evolucionários e Tratamento de Incertezas

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

Computação Evolutiva Parte 2

3 Computação Evolucionária

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

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

INF 1771 Inteligência Artificial

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

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

Algoritmos Genéticos Fernando Lobo

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

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

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

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

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

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

Estrutura comum dos AEs

Introdução ao Algoritmo Genético

Busca com informação e exploração. Inteligência Artificial. Revisão da aula passada: Heurística Admissível. Revisão da aula passada: Busca A *

Inteligência Artificial

Utilizando um Algoritmo Genético para Encontrar os Zeros de uma Função Real

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

Buscas Informadas ou Heurísticas - Parte III

Computação Evolutiva Algoritmos Genéticos & PSO

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

Optimização Não-linear

1. Computação Evolutiva

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

3. ALGORITMOS GENÉTICOS

3 Métodos de Otimização

Transcrição:

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 Algoritmos Genéticos (AGs), são métodos de otimização inspirados em evolução J. Holland (1975), D. Goldberg (1989) Teoria da Evolução Indivíduos mais adaptados sobrevivem e transmitem suas características para as gerações seguintes Charles Darwin (Origem das Espécies, 1859)

Otimização - Definição Espaço de Busca Possíveis soluções de um problema Função Objetivo Avalia cada solução com uma nota Tarefa: Encontrar a solução que corresponda ao ponto de máximo (ou mínimo) da função objetivo

Otimização - Exemplo Achar ponto máximo da função f(x) = xsen(10πx) + 1, -1 x 2

Otimização - Dificuldades Alguns problemas podem ter espaços de busca muito grandes Muitos algoritmos não são capazes de localizar ótimo global na presença de múltiplos ótimos locais Ex.: Hill Climbing

Algoritmos Genéticos Geração de um conjunto inicial de soluções que são iterativamente melhoradas População de indivíduos (cromossomos) Busca de soluções seguem um processo evolutivo Seleção dos mais aptos + Transmissão de características

Algoritmos Genéticos Passo 1: Geração de uma população inicial com indivíduos escolhidos aleatoriamente Passo 2: Avaliação dos indivíduos Cálculo da função de fitness (usando função objetivo) Passo 3: Seleção de indívíduos mais aptos Passo 4: Geração de uma nova população a partir dos indivíduos selecionados e ir para Passo 2 Operadores de busca (crossover e mutação)

Algoritmos Genéticos

Algoritmos Genéticos AGs são algoritmos de busca Meta-Heurística I.e., algoritmo de alto nível customizável a uma ampla quantidade de problemas Pontos importantes a definir: Representação dos indivíduos Estratégia de seleção Operadores de busca

Representação de Indivíduos Um cromossomo representa (codifica) um conjunto de parâmetros da função objetivo E.g., na função f(x) = xsen(10πx) + 1, um cromossomo codifica um valor do parâmetro x A representação de uma solução do espaço de busca é dependente do problema de otimização Porém, alguns esquemas de representação podem ser reaproveitados

Representação Binária Cromossomo representado por uma cadeia de bits (0 ou 1) Cada sequência de bits é mapeada para uma solução do espaço de busca Representação tradicional, fácil de manipular através de operadores de busca

Representação Binária - Exemplo Codificação de -1 x 2 com 22 bits 2 22 valores possíveis (tamanho do espaço) S 1 = 1000101110110101000111 na base 10 seria igual a 2288967 Mapeado para intervalo [-1; 2] representaria a solução: x1 = min + (max min)*b10/(222-1) = -1 + (2+1)*228896/(222-1) = 0,637197

Representação Real Para otimização de parâmetros contínuos a representação binária não é adequada Muitos bits para obter boa precisão numérica Parâmetros numéricos podem ser codificados diretamente nos cromossomos Ex.: S1 = 0,637197

Seleção AGs selecionam indivíduos aptos de uma população para gerar novos indivíduos Cromossomos filhos (novas soluções) Em geral, indivíduos pais são selecionados com uma probabilidade proporcional a seus valores de fitness Probabilidade de seleção p i f i N i f 1 i

Seleção Roda da Roleta Ind. Aptidão Aptidão Acumulada i fi (fi) 2,0 2,0 1,6 3,6 3 1,4 5,0 4 0,7 5,7 5 0.3 6,0 1. Ordenar aptidões da população 2. Calcular aptidões acumuladas 3. Gerar número aleatório entre [0; Ultima aptidão acumulada] 4. Indivíduo selecionado é o primeiro com aptidão acumulada maior que o número aleatório gerado Exemplo: gerar número aleatório entre [0; 6]. Se 4.2 for o número gerado selecione indivíduo 2

Seleção Roda da Roleta Observação importante: Não funciona para valores negativos da função de objetivo Nesse caso, deve-se função aptidão para valores positivos ou realizar Seleção por Torneio

Seleção por Torneio Passo 1: Escolher inicialmente com a mesma probabilidade n indivíduos Passo 2: Selecionar cromossomo com maior aptidão dentre os n escolhidos Passo 3: Repetir passos 1 e 2 até preencher população desejada

Operadores Genéticos A etapa de seleção, gera uma população intermediária de potenciais cromossomos pais Na nova geração, escolhe-se aleatoriamente dois pais para aplicação de operadores genéticos (crossover e mutação) Produção de filhos é feita até completar o tamanho da população desejada

Operador Crossover Representação Binária Aplicado a um par de cromossomos retirados da população intermediária para gerar filhos Filhos herdam características dois pais Crossover de um ponto Cortar pais em uma posição aleatória e recombinar as partes geradas

Operador Crossover Representação Binária Crossover de dois pontos Cortar pais em duas posições aleatórias e recombinar as partes geradas

Operador Crossover Representação Binária Crossover uniforme Gerar uma máscara de bits aleatórios e combinar os bits dos pais de acordo com a máscara gerada

Operador Crossover Representação Real Na representação real, crossover é obtido através de operações aritméticas sobre os pais Crossover média aritmética Filho = (pai1 + pai2)/2 Crossover média geométrica Filho = raiz(p1*p2)

Operador Crossover Representação Real Operadores de média tendem a diminuir muito a diversidade dos filhos Filhos sempre vão estar no meio do intervalo dos pais Operador BLX- Filho = pai1 + β*(pai2 pai1) onde β é um número aleatório entre [-, 1+ ] Parâmetro controla o diversidade dos filhos

Operador Crossover Representação Real Operador BLX- = 0 equivale a gerar filhos aleatoriamente no intervalo numérico entre os pais (I = pai2 pai1) Se > 0, o intervalo dos possíveis filhos é extendido em *I em ambos os lados

Operador Crossover Geralmente, crossover é aplicado somente com uma dada probabilidade (taxa de crossover) Taxa de mutação é normalmente alta (entre 60% e 90%) Durante a aplicação do operador, é gerado um número aleatório r entre 0 e 1 e aplica-se teste: Se r < taxa de crossover, então operador é aplicado Senão, os filhos se tornam iguais aos pais para permitir que algumas boas soluções sejam preservadas

Operador Mutação Representação Binária Aplicado sobre os cromossomos filhos para aumentar a variabilidade da população Operador para representação binária: Para cada bit realize teste de mutação e troque o valor do bit caso o teste seja satisfeito Obs.: Taxa de mutação deve ser pequena (< 5%) apenas o suficiente para aumentar diversidade

Operador Mutação Representação Real Mutação Uniforme: Realiza teste de mutação para cada parâmetro codificado Substituir parâmetro por um número aleatório escolhido uniformemente em um intervalo [a; b] Filho = U(a;b) Mutação Gaussiana: Realiza teste de mutação para cada parâmetro codificado Substituir parâmetro por um número aleatório escolhido usando uma distribuição Normal Filho = N(µ;σ)

Operador Mutação Representação Real Mutação Creep: Adiciona um pequeno número aleatório ao valor atual do parâmetro armazenado no cromossomo; ou Multiplica valor atual por número próximo de um Observações: Operador menos destrutivo que os anteriores Usado para explorar localmente o espaço de busca Pode ser aplicado em uma taxa um pouco mais alta

Algoritmos Genéticos Observações Importantes Operador Crossover considera características importantes presentes nos pais Aplicado a uma taxa relativamente alta, mas cuidado com efeitos destrutivos Operador Mutação explora novas características nos indivíduos que seriam possivelmente úteis Aplicado a uma taxa relativamente baixa, mas dependendo do problema e operador use taxas mais altas

Algoritmos Genéticos Observações Importantes Convergência Prematura Em algumas execuções, AG pode convergir para soluções iguais Cromossomos com boa aptidão (mas ainda não ótimos) que geram filhos com pouca diversidade Nesses casos, aconselha-se: Aumento da taxa de mutação e crossover Evitar a inserção de filhos duplicados

Algoritmos Genéticos Observações Importantes Critérios de Parada Número máximo de gerações Função objetivo com valor ótimo alcançado (quando esse valor é conhecido) Convergência na função objetivo (i.e., quando não ocorre melhoria significativa da função)

Algoritmos Genéticos Observações Importantes População inicial Não pode ser excessivamente pequena Pouca representatividade do espaço de busca Não pode ser excessivamente grande Demora na convergência Para melhorar a representatividade população inicial pode possuir indivíduos igualmente espaçados no espaço de busca

Algoritmos Genéticos Caixeiro Viajante

O Problema Dado um número de cidades, encontrar o caminho mais curto passando por todas as cidades uma única vez Função Objetivo = Distância Total Percorrida

Representação

Crossover Crossover baseado em posição São selecionadas n cidades. Cada filho mantém a posição das cidades selecionadas de um pai

Crossover Crossover baseado em ordem São selecionadas n cidades. Cada filho herda a ordem das cidades selecionadas de um pai

Mutação Mutação baseada na troca de posição de uma cidade Mutação baseada na troca da ordem de duas cidades