Professional Documents
Culture Documents
Algoritmos Genéticos
• Componentes do AG:
– Representação/Codificação dos indivíduos
– População inicial
– Operador de Seleção
3
1. Representação de Indivíduos
Indivíduo 1001010101001
“B” bits
4
2. População Inicial
“B” bits
5
3. Seleção
População=
População
6
Selecionada
4. Operadores Genéticos
– Cruzamento
– Mutação
7
4. Operadores Genéticos
• Cruzamento
– Combina dois indivíduos intercambiando suas informações genéticas
– A probabilidade do cruzamento se denomina taxa de cruzamento que
varia entre 0,5 a 1.
Pais Filhos
8
4. Operadores Genéticos
• Mutação
– Introduze novas combinações genéticas nos indivíduos.
9
Exemplo de Implementação do AG
90
80
70
60
Mínimo
f=x2
50
40
30
20
10
0
-10 -8 -6 -4 -2 0 2 4 6 8 10
x
10
Exemplo de Implementação do AG
11
Usando AG para resolver o problema
Algoritmo genético
Inicio
t=0
inicializar P(t)
avaliar P(t)
while (não cumpre a condição) fazer
t=t+1
selecionar P(t) de P(t-1)
reprodução P(t)
avaliar P(t)
fim
fim
12
AG para Problemas de Optimização
a xb
2. Construir a função de fitness:
max{C f } max{C x 2 }
fitness C x 2
13
AG para Problemas de Optimização
N=Precisão das
Número de Bits
casas decimais
Indivíduo x: 1001010101001
“B” bits
14
AG para Problemas de Optimização
ba
x a decimal (10101...001). Bits
2 1
Representação Representação
Decimal Binaria
15
Representação dos Indivíduos
14.28 Bits
B 15
Indivíduo [101010011100101]
“B=15” bits
16
População Inicial
Individuo1 101010011100101
Individuo 2 001010101010000
P “L” indivíduos
... ...
Individuo L 010101000111101
“B=15” bits
17
População Inicial
• Para uma população inicial de tamanho L=10:
Indivíduos População
Representação Representação
Decimal Binaria
18
Avaliação (fitness)
Individuo 1 fitness 1
Individuo 2 fitness 2
P fitness
... ...
Individuo L fitness L
Função de
Fitness fitness(i ) C xi2
19
Avaliação (fitness)
20
Seleção
Probabilidade de fitness (i )
Prob(i )
Seleção F
L
F fitness (i)
i 1
21
Seleção
F 651,9697 fitness(i)
Prob(i)
F
22
Seleção
Probabilidade
Seleção Probabilidade
Acumulada
23
Seleção
24
Seleção
25
Seleção
26
Seleção
27
Seleção
28
Seleção
29
Seleção
30
Seleção
31
Seleção
32
Seleção
33
Seleção
34
Seleção
Índice dos indivíduos selecionados
Indivíduos Fitness
Selecionados
35
Seleção
36
Operador de Cruzamento
• Se define uma probabilidade de cruzamento Pc=0.7
• Em seguida, se realiza a geração de 10 números aleatórios (r)
• Finalmente, se verifica que posições (índices) atendem a condição
rPc, caso satisfeita a condição o individuo poderá ser usado na
operação de cruzamento (neste caso os índices 2, 3, 4, 5, 6, 9, 10).
Índice
38
Operador de Cruzamento
• Determinar aleatoriamente o ponto de cruzamento. Neste caso deverá ser
gerado um número aleatório interior no intervalo de 1 a 14.
• Para o ponto de cruzamento igual a 5
Ponto de
Cruzamento
aleatório
39
Operador de Cruzamento
• Após o cruzamento as linhas com índices 2 e 3 intercambiaram
informações por meio da troca de bits
1 2 3 4 5
Ponto de
Cruzamento
aleatório
40
Operador de Cruzamento
• Este procedimento será repetido para os pares com linhas (4, 5) e (6, 9)
• Finalmente tem-se uma nova população modificada com o operador de
cruzamento.
41
Operador de Mutação
• Se define uma probabilidade de mutação Pm=0.01
• Em seguida, se realiza a geração uma matriz de 10x15 contendo números
aleatórios (r). Este tamanho corresponde ao tamanho da matriz binaria da
população P.
• Em seguida, para cada número aleatório se verifica se cumpre a condição
rPm, caso satisfeita a condição, o elemento da matriz P é permutado de
0 para 1 ou vice-versa.
Mutação
43
Processo de Evolução para 1 geração
População Seleção Cruzamento Mutação
Inicial
Indivíduos
fitness
44
Comparação do melhor indivíduo na população inicial
com o melhor indivíduo após a mutação
População Seleção Cruzamento Mutação
Inicial
Melhor
solução
Indivíduos
Melhor
solução
Neste passo
não é
fitness necessário
avaliar o
fitness
45
Elitismo: Substituição do melhor pelo pior
População Mutação
Inicial
Melhor
solução
Elitismo
Indivíduos
Pior Melhor
solução solução
fitness
46
Elitismo: Substituição do melhor pelo pior
População Mutação Elitismo
Inicial
Melhor
solução
Elitismo
Indivíduos
Pior Melhor
solução solução
fitness
47
Elitismo: Substituição do melhor pelo pior
Atualização da População
População Mutação com melhores indivíduos
Inicial
Melhor
solução
Elitismo
Indivíduos
fitness
48
Processo de Evolução vs #Gerações
• Para 40 Gerações:
101
100.5
100
Avaliação do fitness
99.5
99
98.5
98
97.5
97
0 5 10 15 20 25 30 35 40
Número de Gerações
• Os AGs são mais robustos, devido a que existe uma direção ótima
no processo de busca da solução.
51
Conclusões e Observações
52