Algoritmos genéticos - DCA

Propaganda
EA 072 Inteligência Artificial
em Aplicações Industriais
7.4 Algoritmos Genéticos
ProfFernandoGomide
DCA-FEEC-Unicamp
7.4.1 Introdução
Computação evolucionária
– Algoritmos genéticos
– Programação genética
– Estratégias de evolução
Motivação
Métodos de otimização discreta
– enumeração
– relaxação
– busca
Maioria dos problemas práticos requer uso de heurísticas
Busca: determinística e estocástica
ProfFernandoGomide
DCA-FEEC-Unicamp
Enumeração
Enumeração total: resolve problemas de otimização discreta comparando
e verificando a factibilidade de todos os valores possíveis
das variáveis de decisão (combinações dos valores
discretos das variáveis de decisão).
max 7 x1 + 4 x 2 + 19 x3
s.a.
x1 + x3 ≤ 1
x 2 + x3 ≤ 1
x1 , x2 , x3 = 0 ou 1
ProfFernandoGomide
solução
(0, 0, 0)
(0, 0, 1)
(0, 1, 0)
(0, 1, 1)
(1, 0, 0)
(1, 0, 1)
(1, 1, 0)
(1, 1, 1)
objetivo
0
19
4
infactível
7
infactível
11
infactível
solução
ótima
DCA-FEEC-Unicamp
7.4.2 Algoritmos genéticos
P(t) : população de soluções candidatas ( x1, x2, ......, xp ) no passo t
algoritmoGenético
t ← 0;
inicializar P(t);
enquanto t ≤ tmax fazer
inicio
avaliar P(t);
selecionar pares de soluções de acordo com função objetivo;
produzir filhos de acordo com operadores genéticos;
atualizar população;
t ← t + 1;
fim;
fim
ProfFernandoGomide
DCA-FEEC-Unicamp
AG: algoritmo de busca bio–inspirado
– mecanismos da seleção natural
– genética
Combina melhores indivíduos de uma população
– mecanismo estruturado
– aleatório
– troca de informações
– fornece novas soluções
Métodos de otimização
– cálculo: diretos e indiretos
– enumeração
– estocásticos
AG: algoritmo de busca estocástico
ProfFernandoGomide
DCA-FEEC-Unicamp
Algoritmos genéticos × métodos clássicos de otimização
– AG usa codificação e não as variáveis de decisão diretamente
– AG realiza busca utilizando população ao invés de um ponto
– AG usa valores da função e não dependem de derivadas
– AG usa regras de transição probabilísticas
ProfFernandoGomide
DCA-FEEC-Unicamp
Genética
Genética
Recombinação
Analogia entre genética natural e AG
ProfFernandoGomide
– cromossomo
cadeias (strings)
– gen
elemento de uma cadeia
– alelo
valor do gen
– locus
posição na cadeia
– genótipo
estrutura cromossômica
– fenótipo
solução
– epistasis
não linearidade
– fitness
função objetivo
DCA-FEEC-Unicamp
Codificação
– binária
– alfanumérica
– real
– Grey
Operadores genéticos
– seleção
– recombinação (crossover))
– mutação
ProfFernandoGomide
DCA-FEEC-Unicamp
Exemplo: problema das 8 rainhas
32752411
24
ProfFernandoGomide
Cromossomo
Fitness
DCA-FEEC-Unicamp
Crossover
32752411
+
24748552
+
Mutação
ProfFernandoGomide
32748552
=
32748552
=
→
32748152
DCA-FEEC-Unicamp
Exemplo: caixeiro viajante
B
C
Menor caminho ???
E
Cromossomo = [ A B C E D ]
A
Comprimento caminho = fitness
D
ProfFernandoGomide
DCA-FEEC-Unicamp
Caixeiro viajante
Operadores Básicos
B
C
Pais
E
Filhos
[ABCDE]
[CBADE]
D
pontos mutação
mutação
indivíduo
[ABCDE]
A
[ABCED]
Caminho
fitness
Menor caminho ???
ProfFernandoGomide
[ABCED]
[CBAED]
x-over
DCA-FEEC-Unicamp
Exemplo
max f (x) = x2
x∈S = {0, 1, 2, …, 31}
1200
1000
800
f (x ) 600
400
200
x
ProfFernandoGomide
31
29
27
25
23
21
19
17
15
13
11
9
7
5
3
1
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
1
4
9
16
25
36
49
64
81
100
121
144
169
196
225
256
289
324
361
400
441
484
529
576
625
676
729
784
841
900
961
DCA-FEEC-Unicamp
Codificação: número binário de 5 bits
Fitness:
f (x) = x2 função objetivo
População inicial:
No
1
2
3
4
Total
Cadeia
01101
11000
01000
10011
f (x )
169
576
64
361
1170
% Total
14
49
6
31
100
1
14%
4
31%
pmutação = 0.001
3
6%
ProfFernandoGomide
2
49%
DCA-FEEC-Unicamp
Crossover
ProfFernandoGomide
Mutação
Pais
Filhos
Antes
Depois
11|000 →
11011
11000 →
10011
10|011
10000
DCA-FEEC-Unicamp
Cadeia
População Inicial
Valor x
f (x )
fi /Sfi
fi /f
Roleta
1
2
3
4
01101
11000
01000
10011
13
24
8
19
169
576
64
361
0.14
0.49
0.06
0.31
0.58
1.97
0.22
1.23
1
2
0
1
11770
293
576
1.00
0.25
0.49
4.00
1.00
1.97
4.00
1.00
2.00
Soma
Média
Max
População
0110|1
1100|0
11|000
10|011
Soma
Média
Max
ProfFernandoGomide
Par
2
1
4
3
Posição x-over Nova População
4
01100
4
11001
2
11011
2
10000
Valor x
12
25
27
16
f (x )
144
625
729
256
1754.00
439.00
729.00
DCA-FEEC-Unicamp
Robô genético
Programação genética
Instruções
(Move)
(Turn right)
(Turn left)
(While wall ahead)
(Do X)
(then Do Y)
(Do X then do Y)
robô (posição, orientação)
(While wall ahead (Turn right), (Do (Move), then Do (Move)))
While wall ahead
Turn right
While wall ahead
Do, then
Move
Turn right
Move
Turn left
Observação
Este material refere-se às notas de aula do curso EA 072 Inteligência
Artificial em Aplicações Industriais da Faculdade de Engenharia
Elétrica e de Computação da Unicamp. Não substitui o livro texto, as
referências recomendadas e nem as aulas expositivas. Este material
não pode ser reproduzido sem autorização prévia dos autores.
Quando autorizado, seu uso é exclusivo para atividades de ensino e
pesquisa em instituições sem fins lucrativos.
ProfFernandoGomide
DCA-FEEC-Unicamp
Download