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

Documentos relacionados
Introdução aos Algoritmos Genéticos

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

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

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

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

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

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

Max Pereira. Inteligência Artificial

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

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

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

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

Inteligência Artificial

Algoritmos Genéticos

Técnicas de Inteligência Artificial

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

1. Computação Evolutiva

Inteligência Artificial

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

Tópicos Especiais em Informática Fatec Indaiatuba

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

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

3 Algoritmos Genéticos

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

3 Algoritmos Genéticos

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

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

Introdução a Algoritmos Genéticos

Inteligência Artificial

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

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

INF 1771 Inteligência Artificial

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

3 Métodos de Otimização

Algoritmos Evolutivos Canônicos

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

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

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

Algoritmos Genéticos

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

INF 1771 Inteligência Artificial

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

Algoritmos Genéticos

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

Algoritmos Genéticos

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

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

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

Computação Evolutiva Parte 2

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

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

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

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

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

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

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

Estrutura comum dos AEs Seleção

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

4 Implementação Computacional

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

Algoritmos Evolutivos para Otimização

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

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

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

4 Métodos Existentes. 4.1 Algoritmo Genético

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

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

Resolvendo o Problema do Cavalo do Xadrez Utilizando 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

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

3. ALGORITMOS GENÉTICOS

3 Aprendizado por reforço

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

Métodos de pesquisa e Optimização

Pesquisa Operacional Aplicada à Mineração

Extracção de Conhecimento

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

INF 1771 Inteligência Artificial

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

FORECASTING OF EUCALYPTUS WOOD PRICES FOR CELLULOSE AND SAWMILL USING RADIAL BASIS FUNCTION NEURAL NETWORK AND CLUSTERING METHOD

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

3. ALGORITMOS GENÉTICOS

1. Computação Evolutiva

Otimização com Algoritmos Evolutivos

Algoritmos Genéticos e Evolucionários

Aprendizado de Máquinas. Aprendizagem Evolucionária

Algoritmos Genéticos Fernando Lobo

Optimização Não-linear

5 Modelo Kernel PCA Genético para Ajuste de Histórico

CONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA.

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

Otimização por Enxame de Partículas (PSO) e Otimização por Colônias de Formigas (ASO) aplicadas ao Problema do Caixeiro Viajante (TSP)

Transcrição:

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 que utilizam modelos computacionais baseados na teoria da evolução natural Primeiros trabalhos na década de 50 Área começou a crescer na década de 70 2 1

Categorias da CE Algoritmos genéticos (AG): propostos por Holland na década de 70 para o desenvolvimento de soluções/hipóteses para problemas complexos Programação genética: variação dos algoritmos genéticos para desenvolvimento de programas 3 AG Algoritmos Genéticos (AG) são modelos de processamento computacional que simulam os mecanismos de seleção natural, genética e evolução Muito aplicados a problemas de busca e otimização Introduzidos por John Holland em 1975 Quanto melhor um indivíduo se adaptar ao seu meio ambiente, maior será sua chance de sobreviver e gerar descendentes as hipóteses boas se perpetuam 4 2

Seleção Natural Mais aptos maior longevidade mais descendentes maior chance de perpetuar código genético 5 Definições Cada solução/hipótese candidata é considerada como um indivíduo Indivíduo representado univocamente por um cromossomo (cadeia de símbolos/bits) Um gene é a porção de um cromossomo que codifica uma característica específica do indivíduo quantidade de pigmento vermelho 1 Terceiro olho 0 Somente 2 0 1 0 1 1 0 1 Vermelho Genótipo x Fenótipo 6 3

Utilizando AG Geralmente, os AG tem apenas dois componentes dependentes do problema Codificação das soluções em cromossomos Definição da função de aptidão 7 Função de Aptidão Na natureza, a seleção é realizada pela pressão do meio ambiente No contexto computacional, é simulada pela aplicação da função de aptidão 4 9 8 4

Função de Aptidão A função de aptidão tem por objetivo fornecer uma medida de aptidão de cada indivíduo na população corrente Capacidade para sobreviver, se reproduzir e manter seu código genético nas próximas gerações Geralmente é uma expressão matemática que mede o quanto uma solução está próxima da solução desejada Específica de cada problema Depende do desempenho do fenótipo, mas é calculada a partir do genótipo 9 Codificação dos Cromossomos Representação das possíveis soluções do espaço de busca do problema por cromossomos Binária: Ex.: Maximizar f(x) = x 2 + 8x + 3 0 0 0 1 1 X = 3 0 1 0 0 0 X = 8 Cromossomos 10 5

Codificação dos Cromossomos Permutação Ex.: Caixeiro Viajante A B E A B E C D C D A C D B E A B D C E Números reais Ex.: Pesos para redes neurais 11 Características: diferenciais dos AG Trabalham com codificações das soluções (genótipo), e não com as soluções (fenótipo) Buscam a partir de uma população, e não de um único ponto Realizam buscas simultâneas em várias regiões do espaço de busca Utilizam apenas função de avaliação Não utilizam derivadas ou outro conhecimento auxiliar Utilizam regras de transição probabilísticas e não determinísticas Apesar de aleatórios, não se trata de caminhadas aleatórias não direcionadas, pois exploram informações históricas para encontrar novos pontos de busca onde são esperados melhores desempenhos. 12 6

Características Capazes de resolver problemas complexos de maneira elegante e robusta Não são limitados por suposições sobre o espaço de busca Amplamente utilizados em problemas de difícil manipulação pelas técnicas tradicionais Paralelismo implícito 13 Funcionamento Básico O algoritmo é iniciado com uma população inicial (soluções/hipóteses iniciais) A população sofre evolução 1. Seleção de uma porcentagem da população para a nova população 2. Operadores genéticos: cruzamento (crossover) e mutação Cruzamento de elementos não selecionados para comporem a nova população Mutação de alguns elementos da nova população Algoritmo executado ciclicamente até que seu critério de parada seja satisfeito 14 7

Seleção Escolha dos indivíduos da população atual para reprodução: mais aptos têm mais chances Direciona a evolução da população Projetada para escolher preferencialmente indivíduos com maiores notas de aptidão, embora não exclusivamente Manter a diversidade da população 15 Técnicas de Seleção Roleta (mais simples e mais utilizado) Representatividade na roleta proporcional a aptidão Cada vez que a roleta é girada, é escolhido um indivíduo O processo é repetido até preencher a população intermediária 16 8

Exemplo: roleta 17 Técnicas de Seleção Amostragem Universal Estocástica Variação do método da roleta P agulhas igualmente espaçadas P é o número de indivíduos a serem selecionados para a próxima geração Roleta é girada uma única vez 18 9

Técnicas de Seleção Torneio N indivíduos escolhidos aleatoriamente com a mesma probabilidade (comum N=3) Dentre esses N cromossomos, é selecionado o mais apto Repete-se o processo até preencher a população intermediária 19 Exemplo: Torneio Para N = 3 Candidatos Selecionado 2, 4, 6 4 20 24 8 1, 3, 6 3 4 16 8 20 10

Cruzamento Genitores selecionados trocam partes de seus cromossomos entre si Características genéticas dos genitores mantidas Definida uma fração de elementos que sofrerá cruzamento Cópias dos pais se não houver cruzamento Cruzamento de 1 ponto 21 Cruzamento Cruzamento de dois pontos Cruzamento uniforme 22 11

Cruzamento Possibilidade de uso de máscaras de cruzamento 11101001000 00001010101 11101001000 00001010101 11111000000 00111110000 11101010101 00001001000 11001011000 00101000101 11101001000 00001010101 10011010011 10001000100 01101011001 23 Mutação Altera aleatoriamente o código genético de um indivíduo Geralmente utiliza-se uma taxa de mutação pequena: 0,001 taxa 0,1 Antes da mutação 0 1 0 1 1 0 1 Depois da mutação 0 1 0 1 1 1 1 24 12

Mutação Necessária para a introdução e manutenção da diversidade genética da população Resultado positivo: sobrevivência Resultado negativo: extinção Torna possível a exploração de novas áreas do espaço de busca que não poderiam ser alcançadas somente com os cruzamentos aplicados à população inicial Ajuda a evitar máximos locais 25 Estratégia Elitista Durante a evolução dos AG, pode acontecer de o indivíduo mais apto de uma geração não estar presente na geração seguinte, devido à característica não-determinística dos AG Com a estratégia Elitista, o(s) melhor(es) indivíduos são automaticamente colocados na próxima geração Para prevenir que não desapareçam da população pela manipulação dos operadores genéticos O elitismo visa acelerar a busca pela solução ótima com o aumento da pressão seletiva 26 13

Critério de parada Número de gerações Tempo de processamento Estagnação da aptidão média da população Estagnação da aptidão do melhor indivíduo da população Homogeneidade das aptidões dos indivíduos da população 27 Esquema básico de AG 28 14

Parâmetros dos AG O desempenho dos AG é fortemente influenciado pela definição dos seus parâmetros Tamanho da população Populações pequenas: cobrem pouco o espaço de busca Populações grandes: apesar de evitar mínimos locais, requer mais recursos computacionais e tempo Intervalo de geração: porcentagem da população que será substituída Grande (comum): filhos substituem pais Pequena: pais e filhos convivem 29 Parâmetros dos AG Taxa de cruzamento Se for muito baixa: busca pode estagnar Se for muito alta: boas estruturas podem ser perdidas Taxa de mutação Possibilita que qualquer ponto do espaço de busca seja atingido Se for muito alta: busca aleatória 30 15

Restrições Certas configurações genéticas podem ser proibidas em algumas hipóteses Possíveis soluções Eliminar os indivíduos infactíveis a cada geração Aplicação de penalidades no cálculo da função de aptidão Os indivíduos que violarem alguma restrição têm sua aptidão decrescida, em geral em uma quantidade proporcional à gravidade da violação Reparação dos indivíduos infactíveis 31 Seleção Pressão seletiva: controla o grau de privilégio dos indivíduos mais aptos para sobreviver e reproduzir-se, em detrimento dos outros Direciona busca Depende do método de seleção e da função de aptidão Pressão seletiva muito alta Menor diversidade populacional Convergência prematura Máximo global ou local Pressão seletiva muito baixa Todos os cromossomos têm probabilidade de sobreviver muito parecidas, independente da aptidão: busca aleatória 32 16

Exemplo: jogo de tênis Utilizando apenas os atributos aparência e vento para o aprendizado de regras Aparência pode ter os valores sol, chuva ou nublado : codificação de 3 possibilidades (portanto, 3 bits) 100 sol, 010 chuva, 001 nublado, 110 sol ou chuva, etc. Vento pode ter os valores forte e fraco : codificação de 2 possibilidades 10 forte, 01 fraco, 11 forte ou fraco A classe pode ser jogar ou não_jogar tênis: 2 possibilidades 10 jogar tênis, 01 não jogar Uma hipótese inicial (dentre várias) para os dados de treinamento pode ser Se vento=forte então classe=não_jogar 33 Exemplo: jogo de tênis A codificação da hipótese pode ser Todos os atributos da regra devem ser representados Aparência Vento Classe 111 10 01 1111001 Após evolução, pode acontecer da classe ser 11, o que não é permitido Solução: mudança da codificação Classe 0 ou 1 (jogar ou não) 34 17

Exemplo: jogo de tênis Função de aptidão pode ser o erro das hipóteses em um conjunto de dados (teste) Critério de parada pode ser a taxa de acerto desejada sobre o conjunto de dados 35 Porque AG Funcionam? Não há uma teoria geral que explica de forma completa como e por quê a técnica funciona Exploration vs. exploitation 36 18

Exploration vs. Exploitation Exploration: investigar áreas novas e ainda desconhecidas no espaço de busca Busca Aleatória Exploitation: aproveitar informações de pontos do espaço de busca visitados anteriormente Hill Clibing AG combina ambas as estratégias 37 Aprendizado e Evolução Aprendizado Capacidade que possui o indivíduo de fazer mudanças ao longo do tempo, com a intenção de melhorar o desempenho em tarefas definidas por seu ambiente Aprendizado: Adaptação individual (tempo de vida do indivíduo) X Evolução: Adaptação de espécies (tempo de existência da espécie ) 38 19

Aprendizado e Evolução Lamarckismo: o aprendizado modifica o código genético do indivíduo Efeito Baldwin: o aprendizado não modifica o código genético do indivíduo Baldwin considerava que a aprendizagem individual pode explicar fenômenos evolucionários que parecem requerer herança lamarckista Comportamentos aprendidos poderiam ser comportamentos instintivos em gerações subseqüentes Não requer o mapeamento do fenótipo e do ambiente no genótipo, como requer a teoria de Lamarck 39 Exercício: grupos de 2 Monte seu próprio algoritmo genético! Codificação em cromossomos, função de aptidão e critério de parada, etc. Pelo menos 2 rodadas 40 20