Professional Documents
Culture Documents
Luis Mart
LIRA/DEE/PUC-Rio
Algoritmos Genticos
Baseado nas transparncias dos professores:
Teresa B. Ludermir (UFPE)
Ricardo Linden (CEPEL)
Marco Aurlio Pacheco (PUC-Rio)
Algoritmos Genticos
Contedo
!Introduo
!O Algoritmo Gentico Binrio
!Noes de Otimizao
!O Algoritmo Gentico com Parmetros
Contnuos
!Aspectos Prticos e Avanados
!Aplicaes
Algoritmos Genticos
Introduo
Algoritmos Genticos
Algoritmos Genticos
Algoritmos Genticos
Teoria da Evoluo
Algoritmos Genticos
Teoria da Evoluo
n 1865-
Gregor Mendel apresenta
experimentos do cruzamento
gentico de ervilhas.
. wPai da gentica.
Gregor
Mendel n ATeoria da Evoluo comeou
a partir da conceituao
integrada da seleo natural
com a Gentica.
Algoritmos Genticos
Otimizao
n
a busca da melhor soluo para um
dado problema.
wConsiste em tentar vrios solues e usar a
informao obtida para conseguir solues cada
vez melhores.
n Exemplo de otimizao:
wTelespectador atravs de ajuste na antena da
televiso otimiza a imagem buscando vrias
solues at alcanar uma boa imagem.
Algoritmos Genticos
Otimizao
n As
tcnicas de otimizao, geralmente,
apresentam:
Espao de busca: onde esto todas as
possveis solues do problema;
wFuno objetivo: utilizada para avaliar as
solues produzidas, associando a cada
uma delas uma nota.
Algoritmos Genticos
Caractersticas dos
Algoritmos Genticos
Algoritmos Genticos
Caractersticas dos
Algoritmos Genticos (II)
Algoritmos Genticos
Algoritmos Genticos
(Conceitos Bsicos)
Algoritmos Genticos
Algoritmo Gentico Tradicional
n Cromossomo
wEstrutura de dados que representa uma possvel
soluo para o problema.
wOs parmetros do problema de otimizao so
representados por cadeias de valores.
wExemplos:
Vetores de reais, (2.345, 4.3454, 5.1, 3.4)
Cadeias de bits, (111011011)
Vetores de inteiros, (1,4,2,5,2,8)
ou outra estrutura de dados.
Algoritmos Genticos
Individuo (II)
n Aptido
wNota associada ao indviduo que avalia quo
boa a soluo por ele representada.
n Aptido pode ser:
wIgual a funo objetivo (raramente usado na
prtica).
wResultado do escalonamento da funo
objetivo.
wBaseado no ranking do indviduo da
populao.
Algoritmos Genticos
Cromossomo do Problema 1
Algoritmos Genticos
Seleo
n Seleo
wImitao da seleo natural.
wOs melhores indivduos (maior aptido) so
selecionados para gerar filhos atravs de
crossover e mutao.
wDirige o AG para as melhores regies do
espao de busca.
n Tipos mais comuns de seleo
wProporcional a aptido.
wTorneio.
Algoritmos Genticos
Populao Inicial do Problema 1
Probabilidade de seleo f ( xi )
pi = N
proporcional a aptido k =1
f ( xk )
Algoritmos Genticos
Seleo proporcional
a aptido (Roleta)
Pais selecionados
8,7%
A1 = 1 1 0 0 1
A4
17,1% A2 = 0 1 1 1 1
54,5% A3
A1 A2 = 0 1 1 1 1
19,6%
A2 A1 = 1 1 0 0 1
Algoritmos Genticos
Seleo por Torneio
n Escolhe-se
n (tipicamente 2) indivduos
aleatoriamente da populao e o melhor
selecionado.
Algoritmos Genticos
Seleo por Torneio
Algoritmos Genticos
Seleo por Torneio
n Esta tcnica:
w no conduz convergncia prematura (desde que a dimenso dos
torneios seja pequena),
w combate a estagnao da populao,
w simples de implementar
w no requer grande esforo computacional.
n Este talvez o mecanismo de seleo mais utilizado
na resoluo de problemas de otimizao.
Algoritmos Genticos
Crossover e Mutao
Algoritmos Genticos
Operador de Crossover
Pontos de Corte: 1 2 3 4
Algoritmos Genticos - Captulo
Algoritmos 4
Genticos 27
Operador de Crossover
Selecionamos um
ponto de corte
Pai 2 Pai 2
Depois do
operador de
crossover
Filho 1 Filho 1
Depois do
operador de mutao
(d)
Mdulo de Populao
n Crossover de 2-pontos
filho1 010001110101011
filho2 001011000001101
Algoritmos Genticos
Crossover de n-Pontos
filho1 1010011100101011001
fillho2 0010100100011001100
Crossover de 4-pontos
Algoritmos Genticos
Crossover Uniforme
Mscara de
bits aleatria 1 1 0 1 0 1 1 0 1 0
pai1 1 1 1 0 1 1 0 1 1 0
filho1 1 1 1 0 0 1 0 1 1 0
pai2 0 1 1 0 0 0 1 1 0 0
f ( x ) = x seno( 10 x ) + 1,0
Restrita ao intervalo:
1,0 x 2,0
Algoritmos Genticos
Problema 2 (II)
Mximo global
3,0
Mximo local
f(x) = x sen(10 x) + 1
2,0
1,0
0,0
-1,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0
x
Mximo global:
x = 1,85055
f(x) = 2,85027 Algoritmos Genticos
Problema 2 (III)
n Funo
multimodal com vrios pontos
de mximo.
n um problema de otimizao global
(encontrar o mximo global)
n No pode ser resolvido pela grande
maioria dos mtodos de otimizao
convencional.
n H muitos mtodos de otimizao local,
mas para otimizao global so poucos.
Algoritmos Genticos
O Cromossomo Problema 2
n Representar
o nico parmetro deste
problema (a varivel x) na forma de um
cromossomo:
wQuantos bits dever ter o cromossomo?
wQuanto Mais bits melhor preciso nmerica.
wLongos cromossomos so difceis de manipular.
wPara cada decimal necessrio 3,3 bits
wCromossomo com 22 bits
1000101110110101000111
Algoritmos Genticos
O Cromossomo Problema 2 (II)
n Decodificao
wcromossomo = 1000101110110101000111
wb10 = (1000101110110101000111)2 = 2288967
wValor de x precisa estar no intervalo [-1,0; 2,0]
b10
x = min+ (max min) l
2 1
2.288.967
x = 1 + (2 + 1) 22
= 0,637197
2 1
Algoritmos Genticos
As Geraes do Problema 2
3,0
2,5 Populao Inicial
f(x) = x seno(10x) + 1.0
2,0
1,5
1,0
0,5
0,0
-0,5
-1,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0
x
Populao gerada aleatriamente
Algoritmos Genticos
As Geraes do Problema 2 (II)
3,0
2,5 Primeira Gerao
f(x) = x sen(10x) + 1.0
2,0
1,5
1,0
0,5
0,0
-0,5
-1,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0
x
Pouca melhoria Algoritmos Genticos
As Geraes do Problema 2 (III)
3,0
2,5 Gerao 25
f(x) = x sen(10x) + 1.0
2,0
1,5
1,0
0,5
0,0
-0,5
-1,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0
x
A maioria dos indivduos encontraram o mximo global
Algoritmos Genticos
As Geraes do Problema 2 (IV)
3,0 Mdia
Melhor
2,5
Funo objetivo
2,0
1,5
1,0
0,5
0 5 10 15 20 25
Gerao
Algoritmos Genticos
Elitismo no Problema 2
3,0
AG com elitismo
2,8 AG sem elitismo
2,6
Funo objetivo
2,4
2,2
2,0
0 5 10 15 20 25
Gerao
n Nmero de geraes.
n Encontrou a soluo (quando esta
conhecida).
n Perda de diversidade.
n Convergncia
wnas ltimas k geraes no houve melhora da na
aptido
Mdia
Mxima
Algoritmos Genticos
Terminologia
n Indivduo
w Simples membro da populao.
n Cromossomo e Genoma e :
w Coleo de genes
w Estrutura de dados que codifica a soluo de uma
problema.
n Gentipo
Na biologia, representa a composio gentica
contida no Genoma. Nos AGs, representa a
informao contida no cromossomo ou
Algoritmos Genticos
genoma.
Terminologia
n Fentipo:
w Objeto ou estrutura construda a partir das informaes
do gentipo.
w o cromossomo decodificado.
Exemplo: Se o cromossomo codifica as dimenses de um
edifcio, ento o fentipo o edifcio construdo.
n Gene:
w Codifica um simples parmetro do problema
Algoritmos Genticos
Exerccio
Algoritmos Genticos
Principais Tpicos
wPopulao Inicial
wFunes Objetivo de Alto Custo
wCritrios de Parada
wConvergncia Prematura
wDiversidade
wTipos de Substituio
wProblemas na Aptido
Algoritmos Genticos
Populao Inicial (1/3)
n Gerada Aleatoriatoriamente.
n Gerada uniformente em uma grade.
n Gerada com tendenciosidade para
regies promissoras do espao de
busca
Algoritmos Genticos
Populao Inicial (2/3)
n Para
garantir que toda posio da
cadeia tem 0 e 1 na populao:
1) Gera a primeira metade da populao
aleatoriamente.
2) Inverte todos os bits da primeira metade: tem-se
a segunda metade.
1a. metade 2 metade
1011010 0100101
0111011 1000100
0001101 1110010
1100110 0011001
Algoritmos Genticos
Populao Inicial (3/3)
Algoritmos Genticos
Convergncia Prematura (1/2)
Algoritmos Genticos
Convergncia Prematura (2/2)
n Causas:
wExcessivo nmeros de filhos de um mesmo
indivduo (o superindividuo)
wPerda de diversidade.
wGenetic Drift
Desaparecimento de um determinado gene na
populao.
Ocorre principalmente em pequenas populaes.
wAlta presso de seleo
Poder que faz com que os individuos com maior
aptido tenham mais descendentes.
Algoritmos Genticos
Diversidade (1/2)
Algoritmos Genticos
Diversidade (2/2)
Algoritmos Genticos
Tipos de Substituio
n Substituio Geracional
n Substituio Geracional com Elitismo
n Substituio de Estado Uniforme
Algoritmos Genticos
Substituio Geracional
Algoritmos Genticos
Substituio Geracional
com Elitismo
n Os
k < N melhores pais nunca so
substituidos.
n Tipicamente k=1
n Aumentando k aumenta a presso de
seleo (risco de convergncia
prematura).
Algoritmos Genticos
Substituio de
Estado Uniforme (1/2)
n Alternativamente,
k < N filhos so
gerados e substituem os k piores
indivduos.
n Evitar
inserir um filho na populao
quando j existe uma duplicata dele na
populao.
Algoritmos Genticos
Exemplo de Steady State
C19 120 120 121
C18 110 110 120
C17 100 100 110
C16 99 99 ordena 100
C15 95 95 99
C14 81 81 95
C13 76 76 88
C12 67 67 81
C11 58 58 76
C10 44 44 67
C9 42 42 58
C8 36 36 58
C7 22 22 44
C6 20 38 38 42
C5 19 6 6 38
C4 17 121 121 36
C3 10 88 88 22
C2 8 58 58 17
C1 5 17 17 6
avaliaes crie n substitua os n avaliaes
de P(t) novos piores de P(t+1)
Algoritmos Genticos
Steady State sem Duplicados
Algoritmos Genticos
Problemas na Aptido (1/3)
Algoritmos Genticos
Problemas na Aptido (2/3)
n Resoluo
insuficiente para diferenciar
os melhores dos piores individuos.
wA seleo torna-se aleatria (Passeio ao Acaso).
wConvergncia lenta
Algoritmos Genticos
Problemas na Aptido (3/3)
n Solues
wExpandir o intervalo da aptido (usando ranking)
wSeleo por torneio
Algoritmos Genticos
Tcnicas de Aptido
n Aptido a Avaliao
Ai = fi Exemplo: Ai = 999,979
n Windowing
n Normalizao Linear
watribuir valores a Ai baseados no rank do
cromossoma
Algoritmos Genticos
Windowing
Algoritmos Genticos
Normalizao Linear
Algoritmos Genticos
Funes Objetivo
de Alto Custo (1/3)
Algoritmos Genticos
Funes Objetivo
de Alto Custo (2/3)
n Dicas
para reduzir o nmeros de
reavaliaes do indivduo:
wEvitar cromossomos iguais na populao inicial.
wVerificar se o filho j existe nas populaes
passadas e na atual.
wVerificar se filho = pai (e.g. checar se crossover
e mutao foi aplicado).
wManter a populao com cromossomos distintos.
Algoritmos Genticos
Funes Objetivo
de Alto Custo (3/3)
Algoritmos Genticos
Algoritmos Genticos
Parmetros
Algoritmos Genticos
Parmetros
Algoritmos Genticos
Parmetros
Algoritmos Genticos