1. Problema das 8 Rainhas 2. Algoritmo Genético 3. AG aplicado nas 8 rainhas 4. Exercício: Coloração de Mapas - Aula 8 Sii1 Aula9 AlgoritmosGeneticos

Livre

0
3
18
1 year ago
Preview
Full text

  Algoritmos Genéticos

  Prof. Frederico Brito Fernandes asper@fredbf.com

  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

  1

  2

  3

  em cada coluna

  4

  5

  6

  7

  8 Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes

  

(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

  1

  2

  3

  4

  5

  6

  7

  8

  em cada coluna 

  Idéia 2: tentar livrar a rainha 1 de ataque

   Impossível! Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes

  • Técnica conhecida como relaxamento do problema (heurística)

  Professor: Frederico Brito Fernandes Disciplina: Inteligência Artificial

 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

  6

  5

  4

  3

  2

  1

  7

  8

  

(1) Problema das Oito Rainhas

  

(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

  1

  3

  4

  5

  7

  8

  6

  em cada coluna 

  Idéia 2: tentar livrar a rainha 1 de ataque

  2

   Impossível!  estado raiz Retroceder ( )

   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

  Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes

  

(1) Problema das Oito Rainhas

Espaço de estados muito grande e heurística fraca 

   maior nº de pares de rainhas que Qual desses estados é o melhor? ( não se atacam

  )

A B C D

        

         

       

     

        

  23

  24

  21

  26 função fitness

  Função do melhor estado (  ): tenta encontrar um estado mais próximo do final

  

F(A) = 23 F(B) = 24 F(C) = 21 F(D) = 26

Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes

  Professor: Frederico Brito Fernandes Disciplina: Inteligência Artificial  E se cruzássemos os melhores estados? (B e D)

   

   

    

   

   

   

   

  

  B D

  

(1) Problema das Oito Rainhas

  Professor: Frederico Brito Fernandes Disciplina: Inteligência Artificial  E se cruzássemos os melhores estados? (B e D)

  

D B

F(

  Filho(BD) ) = 56 (máximo, estado ótimo)

  Filho(BD)

  

(1) Problema das Oito Rainhas

  Professor: Frederico Brito Fernandes Disciplina: Inteligência Artificial

 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

  

(2) Algoritmo Genético: definição

  Professor: Frederico Brito Fernandes Disciplina: Inteligência Artificial (1) Definição de um indivíduo (2) Geração aleatória da população

  (3)Seleção (4) Pareamento (5) Crossover (6) Mutação (7) Nova

  População  Simulação do Algoritmo Genético

  Função Objetivo

(2) Algoritmo Genético: ciclo evolutivo

  (1)

  

(3) Algoritmo Genético: 8 rainhas

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

  7

  Ex

  (3)Seleção (4) Pareamento (5) Crossover (6) Mutação (7) Nova População

  : Gene={0,1} Tam=8 B C C B C C B B

  2

  Ex

  A = 111 101 010 000 100 110 001 011

  : Gene={0,..,7} Tam=8

  1

  A = 7 5 2 0 4 6 1 3

  6

  Função Objetivo

  Professor: Frederico Brito Fernandes Disciplina: Inteligência Artificial (1) Definição de um indivíduo (2) Geração aleatória da população

  1 A

  2

  3

  4

  5

  Ex: Gene={B,C} Tam = 8

  

(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 Por motivos didáticos, essa é a

  Ex:

  representação dos estados do slide 7 dessa (2) Geração aleatória apresentação da população

  7

  2

  5

  3

  1

  5 A =

  Função Objetivo

  6

  4

  1

  3

  5

  7

  3 B =

  (3)Seleção

  6

  4

  6

  1

  7

  (7) Nova População

  5 C =

D = 111 010 000 101 011 001 101 000

  7

  5

  2

  4

  6

  1

  3 A =

  (4) Pareamento

  Cuidado ao gerar uma população que

  (6) Mutação 110 100 001 011 101 111 000 011

  B = só tenha 0’s ou 1’s

  Solução: gerar metade da população e depois 110 100 000 110 001 111 000 101

  C = pegar essa metade, inverter os bits para gerar a

  (5) Crossover 111 101 010 000 100 110 001 011

  segunda metade (processo de diversificação) D =

  Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes

  

(3) Algoritmo Genético: 8 rainhas

(3)

  Seleção Simulação do Algoritmo Genético 

  (a) Função Objetivo (~%)

  F(A) = 23 24,4% (1) Definição de um indivíduo

  F(B) = 24 25,5% F(C) = 21 22,3% F(D) = 26 27,7%

  (2) Geração aleatória da população

  (b) Seleção

  A D Função Objetivo

  24% 28% (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 B C 26% 22%

  Escolhidos: (5) Crossover

  A, D, B, A Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes

  

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

  (1) Definição de um indivíduo

  para se reproduzirem

  (2) Geração aleatória 111 010 000 101 011 001 101 000

  A =

  da população 110 100 001 011 101 111 000 011

  B =

  Função Objetivo (3)Seleção 111 010 000 101 011 001 101 000

  A =

  (7) Nova 111 101 010 000 100 110 001 011 População D =

  (4) Pareamento

  • Observe que o indivíduo C não foi

  (6) Mutação

  escolhido no processo de SELEđấO anterior

  (5) Crossover Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes

  • Processo pelo qual os filhos gerados possuem partes do cromossomo dos pais
    • Em geral, um filho tem 50% dos cromossomos de cada pai

  = AB

  = 111 101 010 000 011 001 101 000 111 010 000 101 100 110 001 011

  2

  = AD

  1

  = AD

  2

  1

  AB

  A = B = A = D = 111 010 000 101 011 001 101 000 111 101 010 000 100 110 001 011 110 100 001 011 101 111 000 011 111 010 000 101 011 001 101 000 111 010 000 101 101 111 000 011 110 100 001 011 011 001 101 000

  Crossover (5)

   Simulação do Algoritmo Genético Função Objetivo

  (3)Seleção (4) Pareamento (5) Crossover (6) Mutação (7) Nova População

  • Espera-se que os filhos gerados tenham maior capacidade de adaptação ao ambiente (melhor Função Objetivo)

  Professor: Frederico Brito Fernandes Disciplina: Inteligência Artificial (1) Definição de um indivíduo (2) Geração aleatória da população

  

(3) Algoritmo Genético: 8 rainhas

  • Processo pelo qual os bits dos filhos (em pequena probabilidade) são invertidos
  • Objeti
  • Acelerar a busca
  • Recuperar parte do código genético perdido 111 010 000 101 101 111 000 011

  = AD

  2 =

  AB

  = 111 101 010 000 011 001 101 000 111 010 000 101 100 110 001 011 110 100 001 011 1 11 001 101 000

  2

  = AD

  1

  2

  Professor: Frederico Brito Fernandes Disciplina: Inteligência Artificial (1) Definição de um indivíduo (2) Geração aleatória da população

  = AB

  1

  AB

  110 100 001 011 011 001 101 000

  Mutação (6)

   Simulação do Algoritmo Genético Função Objetivo

  (3)Seleção (4) Pareamento (5) Crossover (6) Mutação (7) Nova População

  

(3) Algoritmo Genético: 8 rainhas

  

(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 111 010 000 101 101 111 000 011

  AB =

  1 110 100 001 011 111 001 101 000

  AB =

  2 (2) Geração aleatória 111 010 000 101 100 110 001 011 da população

  AD =

  1 111 101 010 000 011 001 101 000

  AD =

  Função Objetivo

  2 (3)Seleção

  • Verifica-se se o indivíduo de maior

  (7) Nova

  adaptabilidade possível se encontra,

  População

  ou seja, que possua a Função Objetivo máxima

  (4) Pareamento

  contrário, continua-se

  • Caso

  (6) Mutação

  executando o ciclo até um determinado número de voltas

  (5) Crossover Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes

  

(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

Novo documento