1. 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
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 1 2 3
em cada coluna
4 5 6
7 8
Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 2/19
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 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 3/19
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 2 3 4 5 6 7 8
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)
1
Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 4/19
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 1 3 4 5 6 7 8
em cada coluna
Idéia 2: tentar livrar a rainha
1 de ataque 2
Impossível! ER
RO
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
Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 5/19
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
Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 6/19
7. (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
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)
Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 8/19
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
P Conjunto de estados
Seleção Escolha probabilística de alguns estados
Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 9/19
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
Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 10/19
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
(1) Definição de um indivíduo tamanho fixo e um conjunto finito de
gene A A
(2) Geração aleatória 7
Ex: 6
da população Gene={B,C} 5
Tam = 8
Função Objetivo 4
B C C B 3
2
(3)Seleção C C B B
1
(7) Nova
0
População
Ex1:
(4) Pareamento A= 7 5 2 0
Gene={0,..,7}
(6) Mutação 4 6 1 3
Tam=8
Ex2:
A = 111 101 010 000
(5) Crossover Gene={0,1}
100 110 001 011
Tam=8
Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 11/19
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
(2) Geração aleatória apresentação
da população
A= 7 2 0 5 3 1 5 0
Função Objetivo
B= 6 4 1 3 5 7 0 3
(3)Seleção
(7) Nova C= 6 4 0 6 1 7 0 5
População D= 7 5 2 0 4 6 1 3
Cuidado ao gerar uma população que
(4) Pareamento A= 111 010 000 101 011 001 101 000
(6) Mutação
só tenha 0’s ou 1’s B= 110 100 001 011 101 111 000 011
Solução: gerar metade da população e depois
pegar essa metade, inverter os bits para gerar a
C= 110 100 000 110 001 111 000 101
(5) Crossover
segunda metade (processo de diversificação) D= 111 101 010 000 100 110 001 011
Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 12/19
13. (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%
(2) Geração aleatória F(D) = 26 27,7%
da população
(b) Seleção
A
Função Objetivo D
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
22% 26%
Escolhidos:
(5) Crossover A, D, B, A
Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 13/19
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,
(1) Definição de um indivíduo para se reproduzirem
(2) Geração aleatória
A= 111 010 000 101 011 001 101 000
da população
B= 110 100 001 011 101 111 000 011
Função Objetivo
(3)Seleção A= 111 010 000 101 011 001 101 000
(7) Nova
População D= 111 101 010 000 100 110 001 011
(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 14/19
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
(1) Definição de um indivíduo pais
Em geral, um filho tem 50%
dos cromossomos de cada pai
(2) Geração aleatória
da população A= 111 010 000 101 011 001 101 000
Função Objetivo B= 110 100 001 011 101 111 000 011
AB1 = 111 010 000 101 101 111 000 011
(3)Seleção 110 100 001 011 011 001 101 000
(7) Nova AB2 =
População
• Espera-se que os filhos gerados tenham A= 111 010 000 101 011 001 101 000
maior capacidade de adaptação ao
(4) Pareamento D=
111 101 010 000 100 110 001 011
(6) Mutação
ambiente (melhor Função Objetivo)
111 010 000 101 100 110 001 011
AD1 =
111 101 010 000 011 001 101 000
(5) Crossover AD2 =
Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 15/19
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
(1) Definição de um indivíduo invertidos
• Objetivos:
• Acelerar a busca
(2) Geração aleatória • Recuperar parte do código
da população genético perdido
Função Objetivo
AB1 = 111 010 000 101 101 111 000 011
(3)Seleção 110 100 001 011 011 001 101 000
(7) Nova AB2 =
População
AB2= 110 100 001 011 111 001 101 000
(4) Pareamento
(6) Mutação
111 010 000 101 100 110 001 011
AD1 =
111 101 010 000 011 001 101 000
(5) Crossover AD2 =
Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 16/19
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 = 111 010 000 101 101 111 000 011
110 100 001 011 111 001 101 000
(2) Geração aleatória AB2 =
da população 111 010 000 101 100 110 001 011
AD1 =
111 101 010 000 011 001 101 000
Função Objetivo AD2 =
(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 • Caso contrário, continua-se
(6) Mutação
executando o ciclo até um
determinado número de voltas
(5) Crossover
Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 17/19
18. (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
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 D
Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 19/19