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

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

Introdução a Algoritmos Genéticos

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

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

Inteligência Artificial

Inteligência Artificial

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

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

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

SOLUÇÕES HEURÍSTICAS PARA O JOGO DE DAMAS

3. ALGORITMOS GENÉTICOS

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

4 Metáforas de Optimização

INF 1771 Inteligência Artificial

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 *

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

Buscas Informadas ou Heurísticas - Parte III

Resumo. Como um agente busca de seqüência de ações para alcançar seus objetivos.

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

3. ALGORITMOS GENÉTICOS

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

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

Introdução ao Algoritmo Genético

Metaheurísticas Populacionais Baseado no livro METAHEURISTICS - From Design to Implementation El-Ghazali Talbi. Gustavo Peixoto Silva

Resolvendo o Problema do Cavalo do Xadrez Utilizando Algoritmo Genético

O USO DE ALGORITMOS GENÉTICOS PARA DETERMINAR ZEROS DE FUNÇÕES NÃO LINEARES

3 Aprendizado por reforço

Busca com informação e exploração. Capítulo 4 Russell & Norvig Seção 4.2 e 4.3

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

Algoritmos Genéticos

Implementação de um Algoritmo Genético

Inteligência Coletiva. Prof. Eduardo R. Hruschka (Slides adaptados dos originais elaborados pelo Prof. André C. P. L. F.

Inteligência Artificial (SI 214) Aula 4 Resolução de Problemas por meio de Busca Heurística

Otimização de funções reais multidimensionais utilizando algoritmo genético contínuo

Inteligência Computacional para Jogos Eletrônicos

Uma Proposta de Algoritmos Genéticos para a Resolução do Problema das 8 Rainhas

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

Modelando microevolução GENÉTICA DE POPULAÇÕES E EVOLUÇÃO

MONOGRAFIA DE CONCLUSÃO DE CURSO: PROBLEMAS DE OTIMIZAÇÃO

ENVOLTÓRIA DE ESFORÇOS INTERNOS DEVIDO A AÇÃO DE TRENS-TIPO EM PONTES USANDO ESTRATÉGIA EVOLUTIVA

Construção de uma Ferramenta para Evoluir Estratégias e Estudar a Agressividade/Cooperação de uma População submetida ao Dilema dos Prisioneiros

Algoritmos Genéticos em Ambientes Paralelos

Universidade Estadual do Rio Grande do Sul Curso Superior de Tecnologia em Gestão Ambiental Biologia Aplicada Aula 7

Algoritmos Genéticos

ALGORITMOS GENÉTICOS SEMINÁRIO APRESENTADO PARA A DISCIPLINA OTIMIZAÇÃO COMBINATÓRIA E

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

Uma Ferramenta Baseada em Algoritmos Genéticos para a Geração de Tabela de Horário Escolar

Sistemas numéricos e a Representação Interna dos Dado no Computador

Pesquisa Operacional

2. MÉTODO DE RECOZIMENTO SIMULADO

Inteligência Artificial. Conceitos Gerais

Exemplo do jogo dos fósforos Terça-feira, 9 de maio. Exemplo para o Problema do Corpo de Bombeiros. Exemplo: Localidade do Corpo de Bombeiros

Inteligência Artificial (Lista 1) Prof. Alex F. V. Machado

Teoria da Evolução. Computação Evolucionária: Um pouco de biologia. Teoria da Evolução. Teoria da Evolução e os Genes. Cromossomos

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso:

PROCURA E PLANEAMENTO

INTELIGÊNCIA COMPUTACIONAL

Otimização do Problema de Alocação de Lotes de Terreno

Plano. Aspectos Relevantes de HMMs. Teoria de HMMs. Introdução aos Modelos Escondidos de Markov

Prof. Leonardo Augusto Casillo

Diagnóstico em Nível de Sistema Baseado em Computação Evolucionária

Algoritmo Genético para um sistema de Cross-Docking

Seleção Natural. Fundamentos de Ecologia e Modelagem Ambiental Aplicados à Conservação da Biodiversidade

Inteligência Artificial

Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial

Complemento IV Introdução aos Algoritmos Genéticos

APLICAÇÃO DE META-HEURÍSTICAS À ENGENHARIA DE PRODUÇÃ O

INTELIGÊNCIA COMPUTACIONAL EM AMBIENTES DE PROCESSAMENTO PARALELO. Lamartine N. F. Guimarães.

UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL UNIJUÍ. DCEEng DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS MARCELO WUTTIG FRISKE

- Computação Evolutiva -

6. QUADRIMESTRE IDEAL 7. NÍVEL Graduação 8. Nº. MÁXIMO DE ALUNOS POR TURMA TEORIA: 60 LABORATÓRIO: 30

INVESTIGANDO O PROBLEMA DA MOCHILA IRRESTRITA EM SUA VERSÃO BIDIMENSIONAL

HARDWARE SISTEMA NUMÉRICO E CODIFICAÇÃO. Wagner de Oliveira

2 Teoria da Informação

Proposta de Algoritmo Genético Seqüencial e Paralelo para o Problema da Mochila

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

2 vertical: 5 letras, plural. 1 vertical: 11 letras

4º 20/10/2003. ÍNDICE

Buscas Informadas ou Heurísticas - Parte II

Parte 1: Introdução a Algoritmos Bio-inspirados (ou Computação Natural)

Inteligência Artificial

CAPÍTULO 2 Visão Geral da Abordagem de Modelagem da Pesquisa Operacional 7

Inteligência Computacional

UNIVERSIDADE NOVE DE JULHO - UNINOVE ELENICE DA CONCEIÇÃO CASTRO LOPES

Algoritmos Evolutivos Aplicados no Aprendizado em Jogos de Estratégia em Tempo Real

Melhoramento de espécies autógamas

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

SÍNTESE DE TEXTURAS UTILIZANDO OS ALGORITMOS GENÉTICOS DA MÍNIMA ENTROPIA MODIFICADO E DOS MODELOS DE TEXTURA MODIFICADO

AULA 02 Distribuição de Probabilidade Normal

UMA COMPARAÇÃO EMPÍRICA DE OPERADORES DE CROSSOVER PARA O PROBLEMA DE JOB SHOP COM DATAS DE ENTREGAS

Inteligência de enxame e o algoritmo das abelhas

IMPLEMENTAÇÃO E RESOLUÇÃO DE MODELOS MATEMÁTICOS UTILIZANDO A PLANILHA EXCEL

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental

C.N.C. Programação Torno

Linguagem de Maquina II. Visão Geral

Fernando Nogueira Simulação 1

Artigo: 379 SENDI 2004 XVI SEMINÁRIO NACIONAL DE DISTRIBUIÇÃO DE ENERGIA ELÉTRICA

serotonina (humor) dopamina (Parkinson) serotonina (humor) dopamina (Parkinson) Prozac inibe a recaptação da serotonina

Roteirização de veículo para realização de coleta utilizando algoritmo evolucionários

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados

Transcrição:

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 meio de busca 3.1. Introdução à busca 3.2. Busca não-informada 3.3. Busca informada 3.4. Além da busca clássica 3.4.1. Introdução à otimização 3.4.2. Técnicas clássicas utilizadas em otimização 3.4.3. Classes de problemas 3.4.4. Algoritmos Genéticos 3.5. Busca competitiva 2

Outro exemplo de técnicas utilizadas em otimização Metaheurísticas 3.4.4. Algoritmos Genéticos Procedimento de alto nível usado para encontrar, gerar ou selecionar uma heurística que pode prover uma solução suficientemente boa em problemas de otimização com informação incompleta ou imperfeita e/ou com limitada capacidade computacional Podem, nestes problemas, encontrar boas soluções mais eficientemente que métodos tradicionais Amostram soluções do espaço de soluções em problemas em que este é muito grande para ser completamente examinado Assim, quando a capacidade de computação é limitada, não garantem necessariamente que o ótimo global será encontrado 3

Metaheurísticas Podem utilizar pouca informação sobre o problema a ser resolvido Podem, portanto, serem utilizadas em uma grande variedade de problemas Muitas metaheurísticas utilizam métodos estocásticos para vasculhar o espaço de soluções Exemplos: Simulated Annealing (Recozimento Simulado) Computação Evolutiva» Metaheurísticas populacionais (Exemplo: Algoritmos Genéticos) 4

Algoritmos Genéticos (AGs) Métodos adaptativos que são utilizados para a resolução de problemas de busca e otimização A inspiração inicial vem da Evolução por Seleção Natural Podem evoluir soluções para problemas do mundo real Problemas devem ser adequadamente codificados Deve haver uma forma de avaliar as soluções apresentadas https://www.youtube.com/watch?v=bbt0imn77zg 5

Exemplos de aplicações de Computação Evolutiva https://www.youtube.com/watch?v=u2t77mqmjiy https://www.youtube.com/watch?v=qv6uvoq0f44&feature=youtu.be 6

Mitchell, M. Complexity: A Guided Tour. Oxford University Press, 2009, p. 130. 7

Algoritmos Genéticos Utilizam uma população de soluções candidatas (indivíduos) Otimização ocorre em várias gerações A cada geração Mecanismos de seleção selecionam os indivíduos mais aptos Operadores de reprodução geram novos indivíduos 8

Em que os AGs são diferentes dos métodos de otimização tradicionais? O conjunto de parâmetros em um AG é codificado Os AGs não trabalham diretamente com os parâmetros AGs utilizam funções de avaliação para guiar o processo de busca, e não suas derivadas ou outras informações adicionais AGs podem utilizar regras de transição probabilísticas AGs podem permitir a mudança dos parâmetros durante o processo de otimização Mudando assim a característica do processo de busca (heurística) AGs buscam os ótimos através de uma população de pontos, e não de um ponto único 9

População inicial População final Avaliação População atual Seleção Reprodução 10

Algoritmo Genético Básico Início inicialize a população avalie a população inicial repita se critério de convergência for satisfeito interrompa fim se selecione indivíduos para a nova população aplique mutação e cruzamento nos indivíduos selecionados avalie os indivíduos da nova população fim repita Fim 11

Elementos População Codificação Função de avaliação Reprodução 12

População 3.4.4. Algoritmos Genéticos Formada por indivíduos» Possíveis soluções para um dado problema» Codificados em cromossomos strings (vetores) Apesar de algumas implementações considerarem indivíduos com mais de um cromossomo, o AG padrão considera que um indivíduo é formado por apenas um cromossomo» Cada elemento do cromossomo do AG é chamado de gene Os genes podem assumir valores ou símbolos ( alelos ) 13

População 3.4.4. Algoritmos Genéticos Existe geralmente um número fixo de indivíduos em uma população Em cada geração, a população velha é substituída por uma população nova (com novos indivíduos) Pop. antiga (ger. i) Pop. nova (ger. i +1) Ind. 1 (ger. i) Ind. 1 (ger. i+1) Ind. 2 (ger. i) Ind. 2 (ger. i+1) Ind. N (ger. i) Ind. N (ger. i+1) 14

Codificação 3.4.4. Algoritmos Genéticos Genes são combinados para formar strings ou vetores Exemplo: x i = [ 2 1 8 0 3 ] T 2 1 8 0 3 15

Codificação Genes podem ser representados por: Números Binários ( 0 ; 1 ) São tradicionalmente usados Exemplo: x i = [ 0 1 0 1 1 1 ] T Podem ser utilizados para codificar outras representações» Inteiros. Exemplo: x i = [ 0 1 0 ] T pode codificar o número inteiro 2» Reais» Caracteres: BCD, ASCII,...» Etc... 16

Codificação 3.4.4. Algoritmos Genéticos Genes podem ser representados por: Números Inteiros (... ; -1 ; 0 ; 1 ; 2 ;...) Exemplo: x i = [ -1 10 2-3 -98 1 ] T Números Reais Exemplo: x i = [ -1,23 10,65 2,99 ] T Caracteres ( A ; B ;... ) Exemplo: x i = [ t e s t e ] T Outros combinação de outras representações números complexos etc... 17

Função de Avaliação 3.4.4. Algoritmos Genéticos Também conhecida como Função de Aptidão (ou Função Custo ou Função de Fitness) Mede o grau de aptidão (fitness) da solução (indivíduo) É aplicada ao fenótipo do indivíduo O genótipo deve ser decodificado para que a aptidão do indivíduo seja calculada. Exemplo» genótipo: x i = [ 0 1 0 1] T» fenótipo: z i = 0x2 3 + 1x2 2 + 0x2 1 + 1x2 0 = 5» aptidão: f (z i ) = 1 / (1 + z i 2 ) = 0,0385 18

Função de Avaliação Cada problema tem sua própria função de avaliação Dada de acordo com os requisitos para a solução do problema Exemplo: projeto de ponte» Menor custo» Menor tempo de construção» Maior capacidade de carga 19

Função de Avaliação 3.4.4. Algoritmos Genéticos Muitas vezes, a função de avaliação não é conhecida (ou é difícil de ser computada com precisão) Deve ser possível, no entanto, obter a aptidão do indivíduo através do seu genótipo A aptidão de um indivíduo é importantíssima no processo de otimização Define quais indivíduos serão selecionados para se reproduzirem, gerando a nova população 20

Seleção Existem diversos métodos para a seleção de indivíduos para a fase de reprodução Exemplos: Elitismo Método da Roleta Torneio 21

Seleção Elitismo Indivíduos com maior aptidão são automaticamente selecionados Utilizado para que os melhores indivíduos não desapareçam do processo de otimização Geralmente, além de selecionar os melhores indivíduos, evita que estes sofram modificações pelos operadores genéticos 22

Seleção Método da Roleta A seleção natural Trabalha com probabilidades» As vezes, um indivíduo muito bom não sobrevive porque algum processo externo o afetou Escolhe preferencialmente, embora não exclusivamente, indivíduos com maior aptidão» Indivíduos mais aptos têm mais chances de serem reproduzidos» As vezes, um indivíduo muito bom pode ser filho do cruzamento de um indivíduo bom com um ruim 23

Seleção Método da Roleta Indivíduos com maior aptidão tem mais chances de serem reproduzidos A probabilidade de um indivíduo ser escolhido para se reproduzir é dada por sua aptidão relativa Aptidão do indivíduo normalizada pela soma das aptidões de todos os indivíduos da população f r z i N f j 1 f z i z j 24

Método da Roleta baseado em Aptidão Relativa x i z i f (z i ) f r (z i ) x 5 x 1 x 1 10110 22 2,23 0,14 x 4 x 2 11000 24 7,27 0,47 x 3 11110 30 1,05 0,07 x 3 x 2 x 4 01001 9 3,35 0,21 x 5 00110 6 1,69 0,11 25

Seleção Método da Roleta Indivíduos são escolhidos pelo método da roleta até que o número máximo de indivíduos permitido em uma população seja alcançado O nível de diversidade da população é maior quando o método da roleta é empregado (em relação ao elitismo) No entanto, mesmo no método da roleta, o nível de diversidade da população decresce no decorrer do processo de otimização 26

Reprodução 3.4.4. Algoritmos Genéticos Aplicado após a seleção de indivíduos Permite a obtenção de novos indivíduos O operadores genéticos de reprodução mais comuns são Crossover (cruzamento ou recombinação) Mutação 27

Reprodução 3.4.4. Algoritmos Genéticos Crossover Recombinação de características dos pais durante a reprodução Permite que as próximas gerações herdem essas características Troca trechos dos cromossomos de dois indivíduos escolhidos durante a seleção Ocorre com uma probabilidade definida pela taxa de crossover p c Para cada par de indivíduos selecionados, gera-se um número aleatório com distribuição uniforme Ocorre crossover no par dado se o valor deste número for menor que p c 28

Reprodução 3.4.4. Algoritmos Genéticos Crossover Permite a exploração rápida do espaço de busca Exemplo Crossover de um ponto» Troca trechos (entre os dois cromossomos) delimitados por um ponto escolhido aleatoriamente 29

Crossover de 1 ponto Ponto de crossover Pai 1 Pai 2 0 1 0 0 0 1 1 Pais 0 0 1 0 1 0 1 Filho A Filho B 0 1 0 0 1 0 1 Filhos 0 0 1 0 0 1 1 30

Reprodução Mutação Gera diversidade genética Altera aleatoriamente um ou mais genes no cromossomo Assegura que a probabilidade de atingir qualquer ponto do espaço de busca nunca será zero 31

Reprodução 3.4.4. Algoritmos Genéticos Mutação» Aplicada a cada gene de cada indivíduo após o crossover com uma taxa de mutação p m Para cada gene de cada indivíduo selecionado, gera-se um número aleatório com distribuição uniforme Ocorre mutação no gene dado se o valor deste número for menor que p m» Taxa de mutação é geralmente pequena Ex.: p m = 0,01 Gene tem probabilidade de 1% de sofrer mutação 32

Reprodução 3.4.4. Algoritmos Genéticos Mutação A alteração depende da representação do gene Binária» O gene mutado recebe a negação de seu antigo valor (ou seja, se era igual a 0 fica igual a 1 e se era igual a 1 fica igual a zero) Inteiro ou Real» O gene pode ser mutado para receber qualquer valor entre os seus limites máximos e mínimos (distribuição uniforme)» O gene pode ser mutado adicionando um valor aleatório com distribuição normal com média zero e desvio padrão σ» O gene pode ser mutado para receber um acréscimo ou decréscimo no ser valor corrente 33

Mutação Binária Antes da mutação 0 1 0 0 0 1 1 Após a mutação 0 1 1 0 0 1 1 34

Convergência Se o AG estiver corretamente implementado, a população deve evoluir em gerações sucessivas Aptidão do melhor indivíduo e da média da população devem aumentar em direção a um ótimo global 35

-0,58-0,72-0,86-1 -0,62-0,44-0,24-0,02-0,16-0,3 0,14 0,12 0,52 0,26 0,9 0,68 0,54 0,4 0,96 0,82 3.4.4. Algoritmos Genéticos f (x,y) 1 0,8 0,6 0,4 0,2 0-0,2-0,4-0,6-0,8-1 Genótipo: x y y x 36

Critérios de Parada Tempo de execução Número de gerações Valor de aptidão mínimo e/ou médio Convergência Nas últimas k iterações não houve melhora nas aptidões 37

População Inicial Geralmente a população inicial é aleatória» Necessidade de executar o algoritmo várias vezes (com diferentes sementes aleatórias) Conhecimento pode ser inserido 38

Algumas áreas de aplicação Otimização de função numérica Otimização combinatória Ex.: Projetos Aprendizado de Máquina Determinação dos parâmetros de Redes Neurais Artificiais Bioinformática Ex.: Determinação de estrutura terciária de proteínas Determinação de Árvores Filogenéticas 39

Algumas áreas de aplicação Artes Ex.: Música Artes Gráficas http://evonet.lri.fr/ http://evonet.lri.fr/ http://evonet.lri.fr/ 40

Exercício 3.14. Considere que deseja-se colocar em um recipiente vários objetos escolhidos entre N objetos cujos pesos e valores são conhecidos. Os objetos no recipiente devem ser escolhidos de tal forma que a soma dos valores seja o máximo, desde que o peso total não ultrapasse o limite C. Suponha, por exemplo, que existam 9 objetos, cujos pesos e valores são dados na tabela, e que C=150 kg. Uma possível solução seria colocar no recipiente os objetos a, b, c, d, e, f, g, o que daria um peso total de 144 kg e um valor total de R$ 147. Objeto Peso (kg) Valor (R$) a 9 11 b 34 32 c 15 18 d 27 27 e 7 5 f 34 36 g 18 18 h 43 42 i 42 43 Projete um Algoritmo Genético para resolver este problema de otimização. a. Defina a codificação a ser utilizada b. Defina os operadores de reprodução que serão utilizados c. Defina o mecanismo de seleção que será utilizado d. Defina a função de avaliação (fitness) a ser utilizada. Justifique todas as suas escolhas. 3.4.4. Algoritmos Genéticos 41

Sugestão de Leitura Capítulo 4, Seção 4.1.4 do livro: RUSSEL, S. J. & NORVIG, P. (2013). Inteligência Artificial, 3ª ed., Campus. 42