Introdução ●
● ●
●
Segundo Liden (2008), Os algoritmos genéticos (AG) são uma técnica de busca baseada na biologia evolutiva. São algoritmos estocásticos Trabalha com população onde cada indivíduo é uma solução Espaço de Busca Global
Porque Aprender? ●
Dispensa o uso de métodos matemáticos como o gradiente do hill climbing
●
O algoritmo mais usado no SBES é um AG
●
Relativamente fácil de compreender.
●
Fácil interação com outras técnicas
Pseudocódigo 1. Gerar população inicial //Pode-se usar outro algoritmo para gerar 2. Avaliar cada indivíduo 3. While (critério da parada não for satisfeito) do 1. Selecionar os indivíduos mais aptos 2. Criar novos indivíduos aplicando os operadores genéticos crossover e mutação 3. Armazenar os novos indivíduos em uma nova pupulação 4. Avaliar cada indivíduo da nova população
Cromossomo ●
Cada Indivíduo tem um cromossomo
●
Pode ser representado por: –
Vetores de reais (2.54, 3.43, 9,1, 3.1415)
–
Cadeia de bits (11100011011)
–
Vetores de inteiros (1, 4 ,2, 19)
–
Etc...
Seleção ●
Tipos de Seleção mais comuns –
Seleção por Roleta proporcional a aptidão
–
Seleção por torneio
Seleção ●
Seleção Por Roleta –
População inicial → f(x) = x²
A probabilidade da seleção é dada por:
Seleção
Seleção - Torneio Indivíduos
Aptidão
A1
625
A2
225
A3
196
A4
100
TORNEIOS
Pais selecionados
A4 x A1
A1
A3 x A2
A2
A2 x A4
A2
A3 x A3
A3
Crossover ●
Taxa de Crossover: É a probabilidade de acontecer o crossover (Caso não aconteça, os filho serão cópias exatas do pai).
Mutação ●
Taxa de Mutação: É a probabilidade de acontecer a mutação (~ 1%) bit a bit.
Funcionamento ●
Maximize a função f(x) = x². Tal que x pertence aos inteiros && 0 ≤ x ≤ 31.
Funcionamento ●
Cromossomo terá 5 bits, pois o numero máximo que ele conseguirá representar será (11111) = (31) .
Funcionamento
Funcionamento
Funcionamento ●
Geração 1
Funcionamento
Funcionamento
Crossover de 2 pontos
d
Crossover Uniforme
Problema 2 ●
Maximizar a seguinte função
●
Com restrição: -1 ≤ x ≤ 2.
Decodificação do cromossomo ● ●
● ●
Quanto maior o número de bits, maior a precisão Para o exemplo usaremos um cromossomo de 22 bits Exemplo: 1000101110110101000111 O número máximo que L bits pode representar em binário podem representar é dado por:
Decodificação do cromossomo
Gerações do problema 2
Gerações do problema 2
Gerações do problema 2
Comparativo ●
Na 15ª Geração o AG encontrou a melhor solução
Critérios de parada ●
Perca de diversidade
●
Numero de Gerações
●
Encontrou a solução
●
Convergência –
Nas ultimas k gerações não houve melhoria na aptidão