Algoritmo Genético
Disciplina:
Inteligência Artificial
Prof. Frederico Brito Fernandes
[email protected]
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
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
 Idéia 1: colocar uma rainha
em cada coluna
1
2
3
4
5
6
7
8
 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
 Idéia 1: colocar uma rainha
em cada coluna
2
3
4
5
6
7
8
 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
(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)
1
3
4
5
6
7
8
2
 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
(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
Disciplina: Inteligência Artificial

21
 Função do melhor estado (função
um estado mais próximo do final
F(A) = 23

F(B) = 24
fitness):
F(C) = 21
Professor: Frederico Brito Fernandes

26
tenta encontrar
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:
Gene={B,C}
Tam = 8
Função Objetivo
(3)Seleção
(4) Pareamento
B
C
C
B
C
C
B
B
(7) Nova
População
Ex1:
(6) Mutação
Gene={0,..,7}
Tam=8
Ex2:
(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
100 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
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
(4)
Pareamento
Cuidado
ao gerar uma população
que
(6) Mutação
A=
Solução: gerar metade da população e depois
pegar essa metade, inverter os bits para gerar a
(5) Crossover
segunda metade (processo de diversificação)
só tenha 0’s ou 1’s
Disciplina: Inteligência Artificial
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
111
101
010
000
100
110
001
011
D=
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
D
28%
A
24%
(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
C
22%
Escolhidos:
A, D, B, A
(5) Crossover
Disciplina: Inteligência Artificial
B
26%
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
A=
111
010
000
101
011
001
101
000
110
100
001
011
101
111
000
011
A=
111
010
000
101
011
001
101
000
D=
111
101
010
000
100
110
001
011
B=
Função Objetivo
(3)Seleção
(4) Pareamento
(7) Nova
População
(6) Mutação
• 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)Objetivo)
Mutação
ambiente (melhor Função
(5) Crossover
Disciplina: Inteligência Artificial
Crossover
(5)
111
010
000
101
011
001
101
000
B=
AB1 =
110
100
001
011
101
111
000
011
111
010
000
101
101
111
000
011
AB2 =
110
100
001
011
011
001
101
000
A=
111
010
000
101
011
001
101
000
111
101
010
000
100
110
001
011
111
010
000
101
100
110
001
011
111
101
010
000
011
001
101
000
D=
AD1 =
AD2 =
Professor: Frederico Brito Fernandes
15/19
(3) Algoritmo Genético: 8 rainhas
 Simulação do Algoritmo Genético
Mutação
(6)
• 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
(4) Pareamento
(5) Crossover
Disciplina: Inteligência Artificial
AB1 =
(7) Nova
População
111
010
000
101
101
111
000
011
AB2 =
110
100
001
011
011
001
101
000
AB2=
110
100
001
011
111
001
101
000
AD1 =
111
010
000
101
100
110
001
011
AD2 =
111
101
010
000
011
001
101
000
(6) Mutação
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
AB1 =
(2) Geração aleatória
da população
Função Objetivo
(3)Seleção
(4) Pareamento
(7) Nova
População
(6) Mutação
111
010
000
101
101
111
000
011
AB2 =
110
100
001
011
111
001
101
000
AD1 =
111
010
000
101
100
110
001
011
AD2 =
111
101
010
000
011
001
101
000
• 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
Download

Aula 20 e 21 - AlgoritmoGenetico