190 likes | 422 Views
Algoritmo Genético. Disciplina : Inteligência Artificial. CONTEÚDO (1) Problema das 8 Rainhas (2) Algoritmo Genético (3) AG aplicado nas 8 rainhas (4) Exercício: Coloração de Mapas. (1) Problema das oito rainhas. Objetivo: colocar 8 rainhas no tabuleiro, de forma que elas não se ataquem.
E N D
Algoritmo Genético Disciplina: Inteligência Artificial CONTEÚDO (1) Problema das 8 Rainhas (2) Algoritmo Genético (3) AG aplicado nas 8 rainhas (4) Exercício: Coloração de Mapas
(1) Problema das oito rainhas • Objetivo: colocar 8 rainhas no tabuleiro, de forma que elas não se ataquem • Idéia 1: colocar uma rainha em cada coluna 1 2 3 4 5 6 7 8
(1) Problema das oito rainhas • Objetivo: colocar 8 rainhas no tabuleiro, de forma que elas não se ataquem • Idéia 1: colocar uma rainha em cada coluna • Idéia 2: tentar livrar a rainha 1 de ataque • Impossível! 1 2 3 4 5 6 7 8
(1) Problema das oito rainhas • Objetivo: colocar 8 rainhas no tabuleiro, de forma que elas não se ataquem • Idéia 1: colocar uma rainha em cada coluna • Idéia 2: tentar livrar a rainha 1 de ataque • Impossível! • Retroceder (estado raiz) • Idéia 3: tentar livrar a rainha 2 do ataque das anteriores • Técnica conhecida como relaxamento do problema (heurística) 2 3 8 4 5 7 6 1
(1) Problema das oito rainhas • Objetivo: colocar 8 rainhas no tabuleiro, de forma que elas não se ataquem • Idéia 1: colocar uma rainha em cada coluna • Idéia 2: tentar livrar a rainha 1 de ataque • Impossível! • Retroceder (estado raiz) • Idéia 3: tentar livrar a rainha 2 do ataque das anteriores • Técnica conhecida como relaxamento do problema (heurística) • Idéia 4: repetir para o resto 1 3 4 5 7 8 6 2 ERRO
(1) Problema das oito rainhas • Espaço de estados muito grande e heurística fraca • Qual desses estados é o melhor? (menor nº de pares de rainhas que não se atacam) A B C D 23 24 21 26 • Função do melhor estado (função fitness): tenta encontrar um estado mais próximo do final F(A) = 23 F(B) = 24 F(C) = 21 F(D) = 26
(1) Problema das oito rainhas • E se cruzássemos os melhores estados? (B e D) B D
(1) Problema das oito rainhas • E se cruzássemos os melhores estados? (B e D) B Filho(BD) D F(Filho(BD)) = 56 (máximo, estado ótimo)
(2) Algoritmo Genético: definição • Publicados inicialmente em 1975 pelo professor Jonh Holland, da Universidade de Michigam • OBJETIVO • São algoritmos de busca e otimização baseados em mecanismos de seleção natural e estruturas genéticas • TERMINOLOGIA
(2) Algoritmo Genético: ciclo evolutivo • Simulação do Algoritmo Genético (1) Definição de um indivíduo (2) Geração aleatória da população Função Objetivo (3)Seleção (7) Nova População (4) Pareamento (6) Mutação (5) Crossover
Ex1: Gene={0,..,7} Tam=8 A =7 5 2 0 4 6 1 3 Ex2: Gene={0,1} Tam=8 A = 111 101 010 000 100 110 001 011 (3) Algoritmo Genético: 8 rainhas (1) Definição de um indivíduo • Simulação do Algoritmo Genético • O indivíduo (ou cromossomo) deve ser codificado em uma string de tamanho fixo e um conjunto finito de gene (1) Definição de um indivíduo A 7 6 5 4 3 2 1 0 (2) Geração aleatória da população Ex: Gene={B,C} Tam = 8 Função Objetivo (3)Seleção (7) Nova População (4) Pareamento (6) Mutação (5) Crossover
Cuidado ao gerar uma população que só tenha 0’s ou 1’s Solução: gerar metade da população e depois pegar essa metade, inverter os bits para gerar a segunda metade (processo de diversificação) (3) Algoritmo Genético: 8 rainhas (2) Geração da População • Simulação do Algoritmo Genético • Devemos produzir um conjunto de indivíduos de forma aleatória (1) Definição de um indivíduo Ex: Por motivos didáticos, essa é a representação dos estados do slide 7 dessa apresentação (2) Geração aleatória da população A = B = C = D = Função Objetivo (3)Seleção (7) Nova População A = B = C = D = (4) Pareamento (6) Mutação (5) Crossover
(3) Algoritmo Genético: 8 rainhas (3) Seleção • Simulação do Algoritmo Genético (a) Função Objetivo (~%) F(A) = 23 24,4% F(B) = 24 25,5% F(C) = 21 22,3% F(D) = 26 27,7% (b) Seleção (1) Definição de um indivíduo (2) Geração aleatória da população Função Objetivo (3)Seleção (7) Nova População Duas abordagens: (1) Seleção Probabilística Simples: um ponteiro (2) Amostragem Universal Estocástica: n ponteiros (4) Pareamento (6) Mutação Escolhidos: A, D, B, A (5) Crossover
(3) Algoritmo Genético: 8 rainhas (4) Pareamento • Simulação do Algoritmo Genético • Os indivíduos escolhidos são dispostos aleatoriamente dois a dois, para se reproduzirem (1) Definição de um indivíduo (2) Geração aleatória da população A = B = A = D = Função Objetivo (3)Seleção (7) Nova População (4) Pareamento (6) Mutação • Observe que o indivíduo C não foi escolhido no processo de SELEÇÃO anterior (5) Crossover
Espera-se que os filhos gerados tenham maior capacidade de adaptação ao ambiente (melhor Função Objetivo) (3) Algoritmo Genético: 8 rainhas (5) Crossover • Simulação do Algoritmo Genético • Processo pelo qual os filhos gerados possuem partes do cromossomo dos pais • Em geral, um filho tem 50% dos cromossomos de cada pai (1) Definição de um indivíduo (2) Geração aleatória da população A = B = A = D = Função Objetivo AB1 = AB2 = AD1 = AD2 = (3)Seleção (7) Nova População (4) Pareamento (6) Mutação (5) Crossover
(3) Algoritmo Genético: 8 rainhas (6) Mutação • Simulação do Algoritmo Genético • Processo pelo qual os bits dos filhos (em pequena probabilidade) são invertidos • Objetivos: • Acelerar a busca • Recuperar parte do código genético perdido (1) Definição de um indivíduo (2) Geração aleatória da população Função Objetivo AB1 = AB2 = AD1 = AD2 = (3)Seleção (7) Nova População AB2= (4) Pareamento (6) Mutação (5) Crossover
(3) Algoritmo Genético: 8 rainhas (7) Nova População • Simulação do Algoritmo Genético • Uma nova população é gerada (1) Definição de um indivíduo AB1 = AB2 = AD1 = AD2 = (2) Geração aleatória da população Função Objetivo (3)Seleção • Verifica-se se o indivíduo de maior adaptabilidade possível se encontra, ou seja, que possua a Função Objetivo máxima • Caso contrário, continua-se executando o ciclo até um determinado número de voltas (7) Nova População (4) Pareamento (6) Mutação (5) Crossover
(3) Algoritmo Genético: conclusões • Conclusões • Outros processos de seleção: Elitismo • Empregado com Redes Neurais, para selecionar a topologia ideal • Útil quando empregado em um problema com um grande espaço de soluções
B A C E F D (4) Exercício • Modele o problema de Coloração de Mapas com Algoritmo Genético • Definição do Problema: Esse problema requer que você pinte a figura com o menor número de cores possível. Blocos adjacentes devem ter cores diferentes