A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos Genéticos Problema das 8 Rainhas Algoritmo Genético

Apresentações semelhantes


Apresentação em tema: "Algoritmos Genéticos Problema das 8 Rainhas Algoritmo Genético"— Transcrição da apresentação:

1 Algoritmos Genéticos Problema das 8 Rainhas Algoritmo Genético
AG aplicado nas 8 rainhas Exercício: Coloração de Mapas

2 (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

3 (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

4 (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 4 5 6 7 8 1

5 (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 6 7 8 2 ERRO

6 (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

7 (1) Problema das Oito Rainhas
E se cruzássemos os melhores estados? (B e D) B D

8 (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)

9 (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

10 (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

11 (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 (2) Geração aleatória da população 7 6 5 4 3 2 1 Ex: Gene={B,C} Tam = 8 Função Objetivo B C (3)Seleção (7) Nova População A = Ex1: Gene={0,..,7} Tam=8 (4) Pareamento (6) Mutação A = Ex2: Gene={0,1} Tam=8 (5) Crossover

12 (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 = 7 2 5 3 1 Função Objetivo 6 4 1 3 5 7 (3)Seleção (7) Nova População 6 4 1 7 5 7 5 2 4 6 1 3 (4) Pareamento A = B = C = D = 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) (6) Mutação 111 010 000 101 011 001 110 100 001 011 101 111 000 110 100 000 001 111 101 (5) Crossover 111 101 010 000 100 110 001 011

13 (3) Algoritmo Genético: 8 rainhas
Seleção Simulação do Algoritmo Genético (a) Função Objetivo (~%) F(A) = ,4% F(B) = ,5% F(C) = ,3% F(D) = ,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 Duas abordagens: (1) Seleção Probabilística Simples: um ponteiro (2) Amostragem Universal Estocástica: n ponteiros (7) Nova População (4) Pareamento (6) Mutação (5) Crossover Escolhidos: A, D, B, A

14 (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 = D = 111 010 000 101 011 001 110 100 001 011 101 111 000 Função Objetivo (3)Seleção (7) Nova População 111 010 000 101 011 001 111 101 010 000 100 110 001 011 (4) Pareamento (6) Mutação Observe que o indivíduo C não foi escolhido no processo de SELEÇÃO anterior (5) Crossover

15 (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 = D = 111 010 000 101 011 001 Função Objetivo 110 100 001 011 101 111 000 AB1 = AB2 = AD1 = AD2 = 111 010 000 101 011 (3)Seleção Espera-se que os filhos gerados tenham maior capacidade de adaptação ao ambiente (melhor Função Objetivo) (7) Nova População 110 100 001 011 101 000 111 010 000 101 011 001 (4) Pareamento (6) Mutação 111 101 010 000 100 110 001 011 111 010 000 101 100 110 001 011 (5) Crossover 111 101 010 000 011 001

16 (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 = 111 010 000 101 011 (3)Seleção (7) Nova População 110 100 001 011 101 000 AB2= 110 100 001 011 111 101 000 (4) Pareamento (6) Mutação 111 010 000 101 100 110 001 011 (5) Crossover 111 101 010 000 011 001

17 (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 = 111 010 000 101 011 (2) Geração aleatória da população 110 100 001 011 111 101 000 111 010 000 101 100 110 001 011 Função Objetivo 111 101 010 000 011 001 (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

18 (3) Algoritmo Genético: 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

19 (4) Algoritmo Genético: exercício
Modele o problema de Coloração de Mapas, visto nas aulas anteriores, com Algoritmo Genético


Carregar ppt "Algoritmos Genéticos Problema das 8 Rainhas Algoritmo Genético"

Apresentações semelhantes


Anúncios Google