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

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

Técnicas de Inteligência Artificial

Max Pereira. Inteligência Artificial

Tópicos Especiais em Informática Fatec Indaiatuba

Técnicas de Inteligência Artificial

Inteligência Artificial

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

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

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

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

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

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

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

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

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

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

1. Computação Evolutiva

Introdução aos Algoritmos Genéticos

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

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

Inteligência Artificial

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

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

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

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

Introdução a Algoritmos Genéticos

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

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

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

Algoritmos Genéticos

3 Algoritmos Genéticos

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

IA: Inteligência Artificial

INF 1771 Inteligência Artificial

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

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

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

INF 1771 Inteligência Artificial

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

Algoritmos Genéticos

3 Métodos de Otimização

3 Algoritmos Genéticos

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

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

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

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

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

Inteligência Artificial

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

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

Algoritmos Genéticos

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

Agentes Adaptativos. Introdução

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

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

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

Algoritmos Evolutivos para Otimização

Modelos Evolucionários e Tratamento de Incertezas

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

3 Computação Evolucionária

Algoritmos Evolutivos Canônicos

4 Métodos Existentes. 4.1 Algoritmo Genético

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

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

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

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

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

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

Computação Evolutiva Parte 2

Extracção de Conhecimento

Métodos de pesquisa e Optimização

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

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

4 Implementação Computacional

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

INF 1771 Inteligência Artificial

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

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

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

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

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

Problema de Satisfação de Restrições

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

Estrutura comum dos AEs Seleção

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

3. ALGORITMOS GENÉTICOS

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

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

4 Metáforas de Optimização

Aprendizado por Reforço usando Aproximação

Computação Evolutiva Algoritmos Genéticos & PSO

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

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

Pesquisa Operacional Aplicada à Mineração

Transcrição:

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 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 Holland (1975) e seus alunos. Popularizado por David Goldberg (1989).

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.

Características dos Algoritmos Genéticos É 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 dos Algoritmos Genéticos 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.

Algoritmos Genéticos - Conceitos Básicos 1. Representação 2. Seleção 3. Reprodução

Algoritmos Genéticos - Representação O primeiro aspecto para ser considerado para a utilização de um AG como ferramenta para a solução de problema é a representação desse problema em uma estrutura de dados na qual o algoritmo possa trabalhar adequadamente.

Algoritmos Genéticos - Representação Cromossomo ou Genótipo Estrutura de dados que representa uma possível solução para o problema -> (Indivíduo). 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.

Algoritmos Genéticos - Representação 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.

Algoritmos Genéticos - Seleção O processo de seleção determina quais indivíduos da população podem participar da fase de reprodução. Os indivíduos são selecionados de acordo com uma probabilidade dada pelos seus índices ou notas de aptidão.

Algoritmos Genéticos - Seleção Seleção Imitação da seleção natural. Os melhores indivíduos (maior aptidão) são selecionados para gerar filhos. Dirige o AG para as melhores regiões do espaço de busca. Tipos mais comuns de seleção Proporcional a aptidão. Torneio.

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

Seleção por Torneio Escolhe-se n (tipicamente 2) indivíduos aleatoriamente da população e o melhor é selecionado.

Algoritmos Genéticos - Reprodução Os indivíduos selecionados participam da fase de reprodução, na qual podem ser combinados ou modificados, produzindo indivíduos da próxima geração. Os principais operadores de reprodução são: Cruzamento (Crossover) Mutação

Crossover e Mutação Principais mecanismos de busca do AG. Permite explorar áreas desconhecidas do espaço de busca.

Tipos de Crossover Um-ponto; Multipontos; Uniforme.

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 O Ponto de corte é escolhido aleatóriamente 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.

Crossover Multipontos pai 1 pai 2 101 010010 01010 01 001 001 001110 00110 11 100 filho 1 fillho 2 1010011100101011001 0010100100011001100 Crossover de 4-pontos

Crossover Uniforme Máscara de bits aleatória pai 1 filho 1 pai 2 1 1 0 1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 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

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 Aqui, 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.

Elitismo O crossover ou mutação podem destruir o melhor indivíduo. Por que perder a melhor solução encontrada? Elitismo transfere a cópia do melhor indivíduo para a geração seguinte.

Critérios de Parada Número de gerações. Encontrou a solução (quando esta é conhecida). Convergência nas últimas k gerações não houve melhora da na aptidão Média Máxima

Algoritmos Genéticos - Resumo AG manipula uma população de indivíduos; Indivíduos 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.

Algoritmo Genético Tradicional 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 Mutação. 3.3 Armazenar os novos indivíduos em uma nova população. 3.4 Avaliar cada cromossomo da nova população.

Aplicações Em problemas difíceis 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 Alocação de recursos Aprendizado de Máquina

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

Cromossomo Cromossomos binários com 5 bits: 0 = 00000 31 = 11111 Aptidão Neste problema, a aptidão pode ser a própria função objetivo. Exemplo: aptidão(00011) = f(3) = 9

População Inicial do Problema É aleatória (mas quando possível, o conhecimento da aplicação pode ser utilizado para definir a população inicial) Pop. inicial cromossomos x f ( x ) Prob. de seleção A 1 = 1 1 0 0 1 25 625 54,5% A 2 = 0 1 1 1 1 15 225 19,6% A 3 = 0 1 1 1 0 14 196 17,1% A 4 = 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 )

A primeira geração do Problema 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

A primeira geração do Problema Cromossomo X f (X) Prob. Seleção 1 1 1 0 1 1 27 729 38.2% 2 0 0 1 0 1 5 25 1.3% 3 1 0 1 1 1 23 529 27.7% 4 1 1 0 0 1 25 625 32.8%

As demais gerações do Problema Segunda Geração Terceira Geração x f (x ) 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

As demais gerações do Problema 1 (II) Quarta Geração Quinta Geração x f (x ) 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

Exercício Encontrar de x para o qual a função f(x) = x2-3x + 4 assume o valor mínimo. Assumir que x [-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.