Documente Academic
Documente Profesional
Documente Cultură
Germano Vasconcelos
gcv@cin.ufpe.br
Pgina da Disciplina:
www.cin.ufpe.br/~f684/EC
111
Algoritmos
Genticos
22
Algoritmos Genticos
33
Histria - Pr-darwinianos
T. Malthus (~1800)
Pastor anglicano e
economista
Idia de economia da
natureza
J. Lamarck Milico e
naturalista (1809)
Criou a expresso
biologia
Evoluo, baseada em
uso e desuso e
hereditariedade
44
Histria: Teoria da Evoluo
n 1859 - Charles Darwin publica
o livro A Origem das Espcies:
.
As espcies evoluem pelo
principio da seleo natural e
sobrevivncia do mais apto
Charles
Darwin
55
Histria: Teoria da Evoluo
n 1865- Gregor Mendel apresenta
experimentos do cruzamento
gentico de ervilhas
. w Pai da gentica
Gregor
Mendel
n ATeoria da Evoluo comeou a
partir da conceituao integrada
da seleo natural com a
gentica
66
Conceitos de AG
n Indivduo
w Simples membro da populao
w Nos AGs, uma possvel soluo
n Cromossomo e Genoma
w Coleo de genes
w Estrutura de dados que codifica a soluo
n Gentipo
Em biologia, a composio gentica no
genoma
Nos AGs, a informao no cromossomo ou
genoma
77
Conceitos de AG
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
88
Otimizao
n Busca da melhor soluo para um
problema
w Tentar vrias solues e usar a informao para
conseguir solues cada vez melhores
n Exemplo de otimizao:
w Telespectador ajusta a antena da televiso para
otimizar a imagem buscando vrias solues
at alcanar a melhor
w Empacotador coloca os objetos em uma caixa
de forma a otimizar a ocupao do espao
99
Otimizao
10
10
Caractersticas dos
Algoritmos Genticos
n um algoritmo estocstico ( no
determinstico)
n Trabalha com uma populao de
solues simultaneamente
n Utiliza informaes de custo e
recompensa
11
11
Caractersticas dos
Algoritmos Genticos (II)
n Fceis de implementao em
computadores
n Adaptam-se bem a computadores
paralelos
n Facilmente hibridizados com outras
tcnicas
n Funcionam com parmetros contnuos
ou discretos
12
12
Algoritmos Genticos
(Conceitos Bsicos)
n AG manipula uma populao de
indivduos
n Individuos so possveis solues do
problema
n Indivduos so combinados (crossover)
produzindo filhos que podem sofrer ou
no mutao
n Populaes evoluem em sucessivas
geraes at encontrar a soluo tima
13
13
Aplicaes
n Otimizao de funes numricas em geral
n Otimizao combinatria
w Problema do caixeiro viajante
w Problema de empacotamento
w Alocao de recursos (job shop schedulling)
n Aprendizado de mquina
n Problemas difceis de otimizao quando
no existe tcnica exata para resolver o
problema ou o custo elevado
n Busca de solues em previso de sries
temporais
14
14
Algoritmo Gentico Tradicional
Algoritmo bsico:
Gerar populao inicial
while critrio-de-parada do
Escolher cromossomos reprodutores
Fazer o crossover dos reprodutores
Gerar mutaes
Avaliar aptides e atualizar a populao
end-while
Parmetros importantes:
tamanho da populao
critrio de seleo
funo de aptido
critrio de cruzamento (crossover)
taxa de mutao
critrio de sobrevivncia dos cromossomos
critrio de parada (estabilizao da populao, impossibilidade de melhorar a melhor
soluo, nmero de geraes)
15
15
Algoritmo Gentico Tradicional
Funo de aptido:
utilizada para quantificar a qualidade gentica dos cromossomos,
correspondendo funo de custo em problemas de otimizao
combinatria.
utilizada para selecionar os indivduos reprodutores.
utilizada para decidir se um cromossomo gerado atravs de um
crossover substitui ou no um cromossomo reprodutor.
16
15
Algoritmo Gentico Tradicional
Crossover de um ponto:
reprodutores: 2 cromossomos de n bits
a = (a1,,ak,,an) b = (b1,,bk,,bn)
operao: k {1,,n} aleatrio
filhos:
(a1,,ak,bk+1,,bn) (b1,,bk,ak+1,,an)
17
15
Algoritmo Gentico Tradicional
Mutao: normalmente implementada com a complementao de bits da
populao.
18
15
Indivduo
n Cromossomo
w Estrutura de dados que representa uma
possvel soluo para o problema
w Os parmetros do problema de otimizao
so representados por cadeias de valores
w Exemplos:
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
19
17
Individuo (II)
Aptido
Nota associada que avalia a soluo
representada pelo individuo
Aptido pode ser:
Igual funo objetivo
Resultado do escalonamento da funo
objetivo
20
18
Problema 1
600
400
com x sujeito as seguintes 200
restries:
0
0 5 10 15 20 25 30
x inteiro
21
16
Cromossomo do Problema 1
n Cromossomos binrios com 5 bits:
0 = 00000
31 = 11111
n Aptido
w Neste problema, pode ser a prpria funo
objetivo
w Exemplo:
aptido(00011) = f(3) = 9
22
19
Seleo
Seleo
Imitao da seleo natural
Os melhores indivduos (maior aptido)
so selecionados para gerar filhos atravs
de crossover e mutao
Dirige o AG para as melhores regies do
espao de busca
Tipos mais comuns de seleo
Proporcional aptido (Roleta)
Torneio
23
20
Populao Inicial do Problema 1
aleatria (mas quando possvel, o conhecimento da aplicao
pode ser utilizado para definir populao inicial)
Probabilidade de seleo
proporcional a aptido
24
21
Seleo Proporcional
Aptido (Roleta)
Pais selecionados
A1 = 1 1 0 0 1
A2 = 0 1 1 1 1
A2 = 0 1 1 1 1
A1 = 1 1 0 0 1
25
22
Seleo por Torneio
26
23
Crossover e Mutao
27
24
Crossover de 1 Ponto
O Ponto de corte
O crossover aplicado com escolhido
uma dada probabilidade 1 1 0 0 1 aleatriamente
Pais
denominada taxa de 01111
crossover (60% a 90%)
11011
Filhos
01101
29
26
A primeira gerao
do Problema 1
Pais Filhos
crossover mutao
A1 = 1 1 0 0 1 11011 11011
A2 = 0 1 1 1 1 01101 00101
Nova
pop.
crossover mutao
A2 = 0 1 1 1 1 01111 10111
A1 = 1 1 0 0 1 11001 11001
30
27
A primeira gerao
do Problema 1 (II)
cromossomos
31
28
As demais geraes
do Problema 1
Segunda
Gerao
Terceira
Gerao
32
29
As demais geraes
do Problema 1 (II)
Quarta
Gerao
Quinta
Gerao
33
30
Outros Crossovers
n Crossover de 2-pontos
34
31
Crossover de n-Pontos
Crossover de 4-pontos
35
32
Crossover Uniforme
Mscara de
bits aleatria1 1 0 1 0 1 1 0 1 0
pai 1 1 1 1 0 1 1 0 1 1 0
filho 1 1 1 1 0 0 1 0 1 1 0
pai 2 0 1 1 0 0 0 1 1 0 0
36
33
Elitismo
O crossover ou mutao podem
destruir o melhor indivduo
Por que perder a melhor soluo
encontrada?
Elitismo transfere a cpia do melhor
indviduo para a gerao seguinte
37
43
Critrios de Parada
n Nmero de geraes
n Encontrou a soluo (quando esta
conhecida)
n Perda de diversidade
n Convergncia
w nas ltimas k geraes no houve
melhoria na aptido
38
45
O Problema da Mochila
39
46
Problema da Mochila
40
46
Problema da Mochila
41
46
Problema da Mochila
42
46
Problema da Mochila
43
46
Problema da Mochila - Cromossomos Invlidos
44
46
Problema da Mochila - Reparao
45
46
Problema da Mochila - Reparao
46
46
Problema da Mochila - Penalizao
47
46
Problema da Mochila - Penalizao
48
46
Exerccio -
Mochila
49
46
Exerccio -
Mochila
51
46
Referncias 1
Obitko, Marek, 1998, Ermelindo Pinheiro Manoel (Verso em Portugus)
http://www.obitko.com/tutorials/genetic-algorithms/portuguese/resources.php
52
47
Referncias 2
ENCORE, the EvolutioNary COmputation REpository network
Rede Repositrio de Computao Evolucionria
ftp://alife.santafe.edu/pub/USER-AREA/EC/ (tem tambm alguns outros ns)
FAQ - The Hitch-Hiker's Guide to Evolutionary Computation
O guia Hitch-Hiker sobre Computao Evolucionria
ftp://alife.santafe.edu/pub/USER-AREA/EC/FAQ/www/index.html
FAQ - Genetic programming
Perguntas mais freqentes sobre Programao Gentica
http://www-dept.cs.ucl.ac.uk/research/genprog/gp2faq/
gp2faq.html
The Genetic Algorithms Archive - many links, information about
mailing list, some fun stuff
Arquivo de Algoritmos Genticos - vrios links, informaes sobre
listas, e algum material divertido
http://www.aic.nrl.navy.mil:80/galist/
Artificial Life Online - Vida Artificial Online - links.
Se voc est procurando por material introdutrio, veja aqui
http://alife.santafe.edu/
53
48
Caixeiro Viajante
Dado um conjunto de cidades, encontrar uma rota de menor custo, que
passe por todas as cidades apenas uma vez
3 4
10
2
1 5
7
8
9 6
Caixeiro Viajante
w Cromossoma
Representa uma trajetria
w 9 8 4 5 6 7 1 3 2 10
Funo Objetivo:
3 4
Distncia Total Percorrida
10
2
1 5
7
8
9 6
55
46
Caixeiro Viajante
w Crossover de 2 pontos
w Pais:
w 9 8 4 | 5 6 7 | 1 3 2 10
w 8 7 1 | 2 3 10 | 9 5 4 6
w Filhos:
Cromossomas Invlidos
w 9 8 4 | 2 3 10 | 1 3 2 10
w 871|567 |9546
Cidades Repetidas
56
46
Caixeiro Viajante - Uma Soluo
w Fazer o crossover normalmente entre os dois pontos
w Trocado um vrtice do pai 1 por um vrtice do pai 2 para cada posio
entre os pontos, cada uma destas trocas define um mapeamento. Se o
vrtice i estava na posio k no pai 1, o vrtice j estava na posio k no
pai 2, e a posio k est entre os dois pontos de corte, i est mapeado em
j e viceversa;
w Aps crossover normal, provavelmente sero geradas rotas invlidas;
w Para corrigir substitui-se todos os vrtices repetidos que esto fora dos
pontos de corte pelos vrtices aos quais eles esto mapeados;
w Pais:
w 9 8 4 | 5 6 7 | 1 3 2 10
w 8 7 1 | 2 3 10 | 9 5 4 6
w Operador troca a cadeia de nmeros entre os dois pontos de corte, e repete as cidades dos pais
que no so repetidas:
w 9 8 4 | 2 3 10 | 1 x x x
w 8x1|567 |9x4x
w A troca entre os pontos de crossover define alguns mapeamentos:
w 2 5, 3 6, 10 7
58
46
Problema 2
Restrita ao intervalo:
59
34
Problema 2 (II)
Mximo global
3,0
Mximo local
f(x ) =x sen(10x ) + 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 60
35
Problema 2 (III)
62
37
O Cromossomo Problema 2 (II)
n Decodificao
w cromossomo = 1000101110110101000111
w b10=(1000101110110101000111)2 = 2288967
w Valor de x precisa estar no intervalo [-1,0; 2,0]
63
38
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
64
39
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
65
40
As Geraes do Problema 2 (III)
3,0
2,5
Gerao 25
f (x) = x sen(10 x) + 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
66
41
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
2,6
Funo objetivo
2,4
2,2
2,0
0 5 10 15 20 25
Gerao