62
Algoritmos Geneticos Material adaptado de http://www.dca.ufrn.br/~estefane/metaheuristicas/

Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Embed Size (px)

Citation preview

Page 1: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Algoritmos GeneticosMaterial adaptado de

http://www.dca.ufrn.br/~estefane/metaheuristicas/

Page 2: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Problemas de Permutação

Em muitos problemas de otimização a meta é encontrar um ordenamento eficiente de ações ou tarefas.

Exemplos:Problema do Caixeiro ViajanteProblemas de AgendamentoColoração de Grafos

Page 3: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Problema do Caixeiro Viajante

Dado N cidades, achar a caminho mais curto passando por todas as cidades uma única vez.

PCV é NP-dificilA

C

E

G

B

D

F

AC

E

G

B

D

F

Page 4: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Representação do PCV

As cidades são representadas diretamente no cromossomo.

Cromossomos

AC

E

G

B

D

F

AC

E

G

B

D

F

A C D F G EBA C D F GEB

Page 5: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Operadores de Permutação

Order-Based MutationPosition-Based MutationScramble MutationOBX (Order-Based Crossover)PBX (Position-Based Crossover)PMX (Partially Matched Crossover)CX (Cycle Crossover)OX (Order Crossover)

Page 6: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Mutação de Permutação

Position-Based Mutation : retira o elemento da posição i e insere na posição j

Order-Based Mutation : troca o elemento da posição i com o elemento na posição j

A C D E F GB A D E F GC B

A C D F GB E A C D F GE B

Page 7: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Mutação de Permutação

Scramble Mutation - Uma sublista, aleatoriamente selecionada, é embalharada.

A F GB E A F GB CC D D E

Page 8: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Order-Based Crossover (OBX)

A E GB FC DC F BE DG A

A E GD BC FC F BA EG D

pai1

pai2

filho1filho2

* * *

Elementos são selecionadas aleatoriamente. É imposta uma ordem nos elementos selecionadas do pai1 igual a ordem dos respectivos elementos em pai2.

Page 9: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Position-Based Crossover (PBX)

Elementos são selecionadas aleatoriamente e a posição dos elementos selecionadas no pai2 é imposto ao pai1.

B

A E GB FC DC F BE DG A

B F GE DC A

C G AFE D

pai1

pai2

filho1filho2

* * *

Page 10: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Partially Matched Crossover (PMX)

Realiza trocas no sentido de pai1 para pai2 e depois no sentido inverso, isto é, de pai2 para pai1, para evitar cromossomos inválidos.

pai1 A F GB EC DC D AF GE Bpai2

E B AF GC DA F GD CE Bfilho1

filho2

Page 11: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

O Problema da Mochila zero-um

𝑧=∑𝑗=1

𝑛

𝑐 𝑗𝑠 𝑗Maximizar

∑𝑗=1

𝑛

𝑤 𝑗 𝑠 𝑗<𝑏Sujeita a

𝑠 𝑗∈ {0,1 }

Uma solução s é um vetor de uns e zeros.Se o objeto j está mochila então sj = 1, caso contráriosj = 0.

(do inglês, 0-1 knapsack problem)

Uma solução s é um vetor de uns e zeros.Se o objeto j está mochila então sj = 1, caso contráriosj = 0.

Page 12: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Algoritmo Genético Cromossomo

A solução s (um vetor de uns e zeros) é naturalmente representada por um cromossomo binário.

Operadores binários padrão Crossover de 1-ponto (ou 2-pontos, etc)

Mutação (invertendo os bits)

Page 13: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Uma Instância do Problema da Mochila

Capacidade da mochila:

11001110 (cromossomo válido)

peso = 5+4+4+4+6 = 23 < 25 função objetivo = 3+3+2+3+5 = 16

11111001 (inválido)

peso = 36 > 25 Função objetivo = ?

b = 25

Page 14: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Como Lidar com Indivíduos Inválidos? Solução 1 – reparar o indivíduo

Solução 2 – penalizar a função objetivo

Page 15: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Reparando o Indivíduo Indivíduo inválido

1 1 1 1 1 0 0 1

peso = 36 > 25

Função objetivo = 16

Indivíduo “reparado” 1 1 1 1 0 0 0 0

Peso = 24 (ok!)

Função objetivo = 12

1 1 1 1 1 0 0 1

desprezar

visitar cada bit da esquerda para a direita e desprezar os bits que invalidam a solução.

Page 16: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Reparando o Indivíduo Por qual ordem dos bits devem ser visitados?

Da esquerda para direita?

No sentido oposto?

Aleatoriamente?

Algoritmo Guloso Visitar primeiro os bits com a maior razão benefício/peso;

Pode produzir melhores resultados.

Page 17: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Penalizando a Função Objetivo

Onde a é um coeficiente de penalidade igual a:

Um exemplo de penalidade é:

Objetos que ultrapassam a capacidade da mochilasão penalizados.

Page 18: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Penalizando a Função Objetivo Exemplo

1 1 1 1 1 0 0 1

peso = 36 > 25

Função original = 16

Função com penalidade = 16 – 14 x (36-25) = -138

Page 19: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Discussão

Page 20: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Principais Tópicos

População Inicial

Funções Objetivo de Alto Custo

Critérios de Parada

Convergência Prematura

Diversidade

Tipos de Substituição

Problemas na Aptidão

Ranking

Seleção por Torneio

Amostragem Estocástica Uniforme

Page 21: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

População Inicial (1/3)

Gerada Aleatoriatoriamente. Gerada uniformente em uma grade. Gerada com tendenciosidade para regiões promissoras do

espaço de busca

Page 22: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

População Inicial (2/3)

Para garantir que toda posição da cadeia tem 0 e 1 na população:

Gera a primeira metade da população aleatoriamente.

Inverte todos os bits da primeira metade: tem-se a segunda metade.

1a. metade

2a. metade

1011010 0100101

0111011 100010

0001101 1110010

1100110 0011001

Page 23: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

População Inicial (3/3)

Seeding: insere a solução obtida por outro método de otimização na população inicial (garante que AG não fará pior do que o outro método)

Iniciar com uma larga população inicial e depois reduzir o tamanho.

Page 24: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Convergência Prematura (1/2)

O AG converge para um mínimo/máximo local.

Page 25: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Convergência Prematura (2/2)

Causas:

Excessivo números de filhos de um mesmo indivíduo (o superindivíduo)

Perda de diversidade.

Deriva Genética (Genetic Drift)

Desaparecimento de genes na população devido puramente ao acaso.

Ocorre principalmente em pequenas populações.

Alta pressão de seleção.

Page 26: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Diversidade (1/2)

Combatendo a perda de diversidade

Aumentar a taxa de mutação.

Evitar cromossomos duplicatas na população.

Diminuir a pressão da seleção.

Page 27: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Diversidade (2/2)

Combatendo a perda de diversidade

Controlar o número de filhos do superdíviduo (indivíduo com alta aptidão, mas não com aptidão ótima) usando:

Ranking.

Escalonamento.

Seleção por torneio.

Page 28: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Tipos de Substituição

Substituição Geracional

Substituição Geracional com Elitismo

Substituição de Regime Permanente (do inglês steady state)

Page 29: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Substituição Geracional

Seja N o tamanho da população:

Os N pais são substituídos pelos N filhos em cada geração.

Os N pais são substituídos por N individuos do conjunto união de pais e filhos.

Comentário: o segundo caso aumenta a pressão de seleção.

Page 30: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Substituição Geracional com Elitismo

Os k < N melhores pais nunca são substituídos.

Tipicamente k = 1

Aumentando k aumenta a pressão de seleção (risco de convergência prematura).

Page 31: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Substituição de Regime Permanente (1/2)

Em cada “geração” apenas 2 (ou 1) filhos são gerados e substituem: Os 2 piores indivíduos da população.

Os pais.

Os 2 indivíduos mais velhos (i.e., que estão a mais tempo da população), pois já transmitiram os seus genes.

Taxa de crossover é geralmente alta (~1).

Page 32: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Substituição de Regime Permanente (2/2)

Alternativamente, k < N filhos são gerados e substituem os k piores indivíduos.

Evitar inserir um filho na população quando já existe uma duplicata dele na população.

Page 33: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Problemas na Aptidão (1/3)

Aptidão negativa não funciona com a roleta.

Aptidão excessivamente alta Poucos individuos ocupando larga fatia da roleta

Muitos individuos ocupando pequena fatia da roleta

Causa convergência prematura

Solução: controlar o número de filhos do superindivíduo.

.

Page 34: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Problemas na Aptidão (2/3)

Resolução insuficiente para diferenciar os melhores dos piores individuos. A seleção torna-se aleatória (Passeio ao Acaso).

Convergência lenta

Page 35: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Problemas na Aptidão (3/3)

Exemplo:

Soluções Expandir o intervalo da aptidão (usando ranking, escalamento

linear)

Seleção por torneio

E 2000,102002

CromossomoFunçãoobjetivo

Probabilidadede seleção

A 2000,999588B 2000,826877C 2000,655533D 2000,400148

20,004%20,002%20,001%19,998%19,995%

Page 36: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Ranking Linear (1/3)

1)(

N

iNMinMaxMinf i

Onde i é o índice do cromossomo na população em ordem decrescente de valor da função objetivo.

Ranking linear requer:

1    Max   2Max + Min = 2

Valores bons para Max: de 1.2 a 1.5

Page 37: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Ranking Linear (2/3)

E 2000,102002 5

CromossomoFunçãoobjetivo aptidãorank

A 2000,999588B 2000,826877C 2000,655533D 2000,400148

1234

2,01,51,00,50,0

probabilidadede seleção

40%30%20%10%0%

Page 38: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Ranking Linear (3/3)

Controlando a pressão da seleção por Ranking linear: maior pressão => mais intensificação;

menos pressão => mais diversificação.

alta pressãode seleção

21 N3

min

max

rank

apti

dão

21 N3

min

max

rank

baixa pressãode seleçãoap

tidã

o

Page 39: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Ranking Exponencial

q [0, 1] e i é o índice do cromossomo na população em ordem decrescente de valor da função objetivo.

Ranking exponencial permite maior pressão de seleção do que o ranking linear.

𝑓 𝑖=𝑞¿

Page 40: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Escalonamento Linear

Escalonamento linear

bagf

onde g é o valor da função objetivo

a e b são determinados tal que o número máximo de filhos do melhor indivíduo seja no máximo igual a C (onde tipicamente C = 2)

f max

f

gmin g gmax

fmin

Page 41: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Seleção por Torneio

Escolhe-se k (tipicamente 2) indivíduos aleatoriamente da população e o melhor é selecionado.

Não é proporcional a aptidão,

Não é necessário roda da roleta, escalamento da aptidão ou ranking.

Page 42: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Seleção por Torneio

Indivíduos AptidãoA1 625A2 225A3 196A4 100

TorneiosA4 x A1A3 x A2A2 x A4A3 x A3

pais selecionadosA1A2A2A3

Os indivíduos são selecionados para os torneios com igual probabilidade.

O torneio é vencido pelo indivíduo com maior aptidão

Page 43: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Seleção por Torneio

Aumentando o tamanho k do torneio acarreta:

Aumento da pressão de seleção.

Risco de convergência prematura.

Por isso, o torneio binário é o mais utilizado.

Page 44: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Seleção por Torneio

Seleção por torneio com probabilidades

(Reduz ainda mais a pressão de seleção)

1)O melhor indivíduo do torneio é selecionado com

probabilidade p > 0,5

2)O segundo melhor é selecionado com probabilidade

p(1-p)

3)O terceiro é selecionado com probabilidade p(1-p)2

4)e assim por diante...

Page 45: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Amostragem Estocástica Uniforme

Pais selecionados

Evita a grande variância de filhos esperados do método da roleta (é tão perfeito quanto possivel)

e

ad

bc

N ponteiros igualmente espaçados.

a a b c d

Page 46: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Critérios de Parada

Atingiu um dado número de gerações ou avaliações. Encontrou a solução (quando esta é conhecida). Perda de diversidade. Convergência: não ocorre melhora significativa na solução

durante um dado número de gerações.

Page 47: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Funções Objetivo de Alto Custo (1/3)

Em muitos problemas do mundo real o custo computacional do AG está concentrado na avalição do individuo.

Exemplo: Simulação completa de um processo.

Um treinamento de uma rede neural.

Page 48: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Funções Objetivo de Alto Custo (2/3)

Dicas para reduzir o números de reavaliações do indivíduo: Evitar cromossomos iguais na população inicial.

Verificar se o filho já existe nas populações passadas e na atual.

Verificar se filho = pai (e.g. checar se crossover e mutação foi aplicado).

Manter a população com cromossomos distintos.

Page 49: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Funções Objetivo de Alto Custo (3/3)

Simplificar a função objetivo (pelo menos nas gerações iniciais) Usar um método de subida de encosta quando o AG já

encontrou as regiões promissoras do espaço de busca (nas gerações finais).

Page 50: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Como os Algoritmos Genéticos Funcionam

Page 51: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Esquemas

Cadeias formadas por três símbolos: 0, 1, e *O simbolo * (um curinga) significa 0 ou 1.

H1

H3

H2

**10*

11001

11011

10101

*0*011****

X

X

X

X X

Em inglês, o simbolo * é chamado de “don't care”.

Page 52: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Esquemas

O número esperado de esquemas H na geração seguinte (sem levar em conta a destruição causada pelo crossover e mutação) é dado por:

mb

am onde:

m é o número de cromossomos da população atual que contém o esquema H

b é a média das aptidões de toda população

a é a média das aptidões dos cromossomos que contém o esquema H

Page 53: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Esquemas

H1 = 1**** está presente em

A1, A2 e A3: m1 = 3

𝑎1=3+2+4

3=3

𝑚 ′1=3 ×35=1,8

É esperado que esquema H1 esteja presente em 1,8 indivíduos

na geração seguinte.

𝑏=3+2+4+11

4=5

Page 54: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Esquemas

H3 = *0*01 está presente em

A3 e A4.

𝑚 ′ 3=2 ×4+112× 5

=3

H3 (acima da aptidão média) aumenta na geração seguinte.

H1 (abaixo da aptidão média) diminui na geração seguinte.

Conclusões:

Na geração seguinte, espera-se ter três indivíduos com H3 na

população.

Page 55: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Tamanho do Esquema

O tamanho do esquema H , denotado por (H), é a diferença entre a última posição ocupada por 1 ou 0 e a primeira posição ocupada por 1 ou 0.

Exemplos,

H1 = 1****, (H1) = 0

H2 = **10*, (H2) = 1

H3 = *0*01, (H3) = 3

(H) representa o número de possíveis pontos de corte quedestroi H.

Page 56: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Ordem do Esquema

A ordem do esquema H , denotado por O(H), é o

número de posições em H que não tem o símbolo *.

Exemplos,

H1 = 1****, O(H1) = 1

H2 = **10*, O(H2) = 2

H3 = *0*01, O(H3) = 3 O(H) representa o número de posições em que a mutação pode destruir H.

Page 57: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

O Efeito Destrutivo do Crossover

Um grande esquema em pai1 (01*|**10)

Um pequeno esquema em pai2 (***|*101)

filho (01*|*101)

O primeiro esquema está presente filho, mas o segundo esquema foi destruído pelo crossover.

Conclusão: pequenos esquemas possuem maior probabilidade de sobrevivência.

Page 58: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

O Efeito Destrutivo da Mutação

Esquemas de baixa ordem possuem maior probabilidade de sobrevivência ao operador de mutação.

Page 59: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Teorema dos Esquemas (Holland)

Mesmo considerando os efeitos destrutivos do crossover e mutação, este teorema afirma que:

Esquemas pequenos e de baixa ordem contidos em bons cromossomos aumentam exponencialmente nas gerações seguintes, ao passo que esquemas contidos em cromossomos ruins tendem a desaparecer nas gerações seguintes.

Page 60: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

A Hipótese dos Blocos de Construção

Blocos de construção são os esquemas pequenos e de baixa ordem.

A hipótese: bons blocos de construção são passados de uma geração para outra e recombinados para formar cromossomos cada vez melhores.

Page 61: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Paralelismo implícito

AG manipula uma população de apenas N cadeias de bits, mas processa em paralelo grande número de esquemas (na ordem de O(N3) esquemas).

Page 62: Algoritmos Geneticos Material adaptado de estefane/metaheuristicas

Problemas Deceptivos

Não obedecem a Hipótese dos Blocos de Construção.

Genes com alta epitasia. São difíceis para os Algoritmos Genéticos resolver (e para

outras técnicas de otimização também). São raros em problemas do mundo real.