Algoritmo Gentico Disciplina Inteligncia Artificial Prof Frederico Brito
Algoritmo Genético Disciplina: Inteligência Artificial Prof. Frederico Brito Fernandes unipe@fredbf. com 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 q Idéia 1: colocar uma rainha em cada coluna Disciplina: Inteligência Artificial 1 2 3 4 5 6 7 8 Professor: Frederico Brito Fernandes 2/19
(1) Problema das oito rainhas § Objetivo: colocar 8 rainhas no tabuleiro, de forma que elas não se ataquem q Idéia 1: colocar uma rainha em cada coluna 1 2 3 4 5 6 7 8 q Idéia 2: tentar livrar a rainha 1 de ataque ý Impossível! Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 3/19
(1) Problema das oito rainhas § Objetivo: colocar 8 rainhas no tabuleiro, de forma que elas não se ataquem q Idéia 1: colocar uma rainha em cada coluna 2 3 4 5 6 7 8 q Idéia 2: tentar livrar a rainha 1 de ataque ý Impossível! ý Retroceder (estado raiz) q Idéia 3: tentar livrar a rainha 2 do ataque das anteriores • Técnica conhecida como relaxamento do problema (heurística) 1 Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 4/19
(1) Problema das oito rainhas § Objetivo: colocar 8 rainhas no tabuleiro, de forma que elas não se ataquem q Idéia 1: colocar uma rainha em cada coluna q Idéia 2: tentar livrar a rainha 1 de ataque ý Impossível! ý Retroceder (estado raiz) 1 3 2 4 5 6 7 8 ER RO q Idéia 3: tentar livrar a rainha 2 do ataque das anteriores • Técnica conhecida como relaxamento do problema (heurística) q Idéia 4: repetir para o resto Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 5/19
(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 Disciplina: Inteligência Artificial F(B) = 24 F(C) = 21 Professor: Frederico Brito Fernandes F(D) = 26 6/19
(1) Problema das oito rainhas § E se cruzássemos os melhores estados? (B e D) B D Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 7/19
(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) Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 8/19
(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 Indivíduo ou Cromossomo Estado População Conjunto de estados Seleção Escolha probabilística de alguns estados Pareamento Estados são distribuídos em pares (pais) Crossover Pais são mesclados para gerar filhos Mutação Algum bit do filho é modificado Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 9/19
(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 Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 10/19
(3) Algoritmo Genético: 8 rainhas § Simulação do Algoritmo Genético Definição de um indivíduo (1) • O indivíduo (ou cromossomo) deve ser codificado em uma string de tamanho fixo e um conjunto finito de gene A (1) Definição de um indivíduo (2) Geração aleatória da população Ex: Função Objetivo (3)Seleção (4) Pareamento Gene={B, C} Tam = 8 B C C B B (7) Nova População Ex 1: (6) Mutação Gene={0, . . , 7} Tam=8 Ex 2: (5) Crossover Disciplina: Inteligência Artificial Gene={0, 1} Tam=8 Professor: Frederico Brito Fernandes 7 6 5 4 3 2 1 0 A= 7 4 5 6 2 1 0 3 A = 111 101 010 000 110 001 011 11/19
(3) Algoritmo Genético: 8 rainhas § Simulação do Algoritmo Genético Geração da População (2) • 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 Função Objetivo (3)Seleção (7) Nova População (4) Pareamento Cuidado ao gerar uma população que (6) Mutação 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 Crossover segunda metade(5) (processo de diversificação) Disciplina: Inteligência Artificial A= 7 2 0 5 3 1 5 0 B= 6 4 1 3 5 7 0 3 C= 6 4 0 6 1 7 0 5 D= 7 5 2 0 4 6 1 3 A= 111 010 000 101 011 001 101 000 B= 110 100 001 011 101 111 000 011 C= 110 100 000 110 001 111 000 101 D= 111 101 010 000 110 001 011 Professor: Frederico Brito Fernandes 12/19
(3) Algoritmo Genético: 8 rainhas § Simulação do Algoritmo Genético Seleção (3) (a) Função Objetivo F(A) = 23 F(B) = 24 F(C) = 21 F(D) = 26 (1) Definição de um indivíduo (2) Geração aleatória da população (~%) 24, 4% 25, 5% 22, 3% 27, 7% (b) Seleção Função Objetivo (3)Seleção (7) Nova Duas abordagens: População (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 Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 13/19
(3) Algoritmo Genético: 8 rainhas § Simulação do Algoritmo Genético Pareamento (4) • 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 Função Objetivo (3)Seleção (4) Pareamento (7) Nova População (6) Mutação A= 111 010 000 101 011 001 101 000 B= 110 100 001 011 101 111 000 011 A= 111 010 000 101 011 001 101 000 D= 111 101 010 000 110 001 011 • Observe que o indivíduo C não foi escolhido no processo de SELEÇÃO anterior (5) Crossover Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 14/19
(3) Algoritmo Genético: 8 rainhas § 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= Função Objetivo (3)Seleção (7) Nova População • Espera-se que os filhos gerados tenham maior capacidade de adaptação ao (4) Pareamento (6) Mutação ambiente (melhor Função Objetivo) (5) Crossover Disciplina: Inteligência Artificial Crossover (5) B= AB 1 = AB 2 = A= D= AD 1 = AD 2 = Professor: Frederico Brito Fernandes 111 010 000 101 011 001 101 000 110 100 001 011 101 111 000 011 111 010 000 101 111 000 011 110 100 001 011 001 101 000 111 010 000 101 011 001 101 000 111 101 010 000 110 001 011 111 010 000 101 100 110 001 011 101 010 000 011 001 101 000 15/19
(3) Algoritmo Genético: 8 rainhas § 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 (3)Seleção (7) Nova População AB 1 = AB 2= (4) Pareamento (5) Crossover 111 010 000 101 111 000 011 110 100 001 011 001 101 000 110 100 001 011 111 001 101 000 111 010 000 101 100 110 001 011 101 010 000 011 001 101 000 (6) Mutação AD 1 = Disciplina: Inteligência Artificial Mutação (6) AD 2 = Professor: Frederico Brito Fernandes 16/19
(3) Algoritmo Genético: 8 rainhas § Simulação do Algoritmo Genético Nova População (7) • Uma nova população é gerada (1) Definição de um indivíduo AB 1 = 111 010 000 101 111 000 011 110 100 001 011 111 001 101 000 AD 1 = 111 010 000 101 100 110 001 011 AD 2 = 111 101 010 000 011 001 101 000 AB 2 = (2) Geração aleatória da população Função Objetivo (3)Seleção (4) Pareamento (7) Nova População (6) Mutaçã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 (5) Crossover Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 17/19
(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 Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 18/19
(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 A B C E F Disciplina: Inteligência Artificial D Professor: Frederico Brito Fernandes 19/19
- Slides: 19