Professional Documents
Culture Documents
Algoritmo Gentico
Uma variante da busca em feixe estocstica Estado sucessor gerado pela combinao de dois estados pais Analogia com a seleo natural:
Algoritmo Gentico
Comeam com um conjunto de k estados gerados aleatoriamente chamado de populao Um estado chamado de indivduo, ou cromossomo
Normalmente representado por uma cadeia de valores Ex: Um estado das 8 rainhas deve especificar a posio das 8 rainhas, cada uma em uma coluna de 8 quadrados Pode ser representado por 8 dgitos, variando de 1 a 8 Ou por uma cadeia de 24 bits = cada 3 bits = 1 posio
2 4 7 4 8 5 5 2 = 001|011|110|011|111|100|100|001 3 2 7 5 2 4 1 1 = 010|001|110|100|001|011|000|000 * * * * * * * * 8 7 6 5 4 3 2 1 * * * * * * * *
8 7 6 5 4 3 2 1
Algoritmo Gentico
Cada estado (ou indivduo) avaliado pela funo de avaliao chamada de funo de fitness Quanto melhor o estado maior o valor da funo fitness
Algoritmo Gentico
Se o mtodo de seleo dar maior probabilidade de um indivduo com maior valor de fitness ser escolhido... Temos as seguinte probabilidades de escolha:
2 3 2 3
4 2 4 2
7 7 4 5
4 5 1 4
8 2 5 3
5 4 1 2
5 1 2 1
2= 1= 4= 3=
24 23 20 11
Algoritmo Gentico
Vamos supor que aleatoriamente (mas respeitando a probabilidade) foram selecionados os indivduos:
Algoritmo Gentico
Este processo de reproduo faz com que o algoritmo gentico explore estados longe dos estados pais, no comeo da execuo medida em que os melhores indivduos ficam na populao, a probabilidade de gerar um filho longe dos pais, diminui
Algoritmo Gentico
Os indivduos gerados podem sofre mutao com uma pequena probabilidade A idia que quando os pais so muito parecidos, a mutao possa trazer alguma caracterstica que ajude a escapar do timo local
Algoritmo Gentico
Troca informaes entre processos de busca paralelos A principal vantagem vem da operao de crossover:
Combinar grandes blocos de genes que evoluem de forma independente para executar funes teis Ex: a colocao da trs primeiras rainhas nas posies 2, 4 e 6 (em que elas no se atacam as outras) constitui um bloco til Estes blocos podem ser combinados com outros, para formar uma soluo
Algoritmo Gentico
A combinao de blocos teis funciona usando a idia de esquema Um esquema uma sub-cadeia na qual algumas posies podem ser deixadas sem especificao Ex: 246***** Cadeias do tipo 24625176 so chamadas instncias do problema
Questes centrais
Como representar os indivduos? Quem a populao inicial? Como definir a funo objetivo? Quais so os critrios de seleo? Como aplicar/definir o operador de reproduo? Como aplicar/definir o operador de mutao? Como garantir a convergncia e ao mesmo tempo a soluo tima?
Exemplo 1
Problema: Use um AG para 1000 encontrar o ponto mximo 800 da funo:
f ( x) = x 2
com x sujeito as seguintes restries:
0 x 31 x inteiro
Indivduo
Cromossomo
Estrutura de dados que representa uma possvel soluo para o problema de forma no ambgua Os parmetros do problema de otimizao so representados por cadeias de valores. 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.
Indivduo
Na implementao, cada indivduo tem um valor de fitness associado a ele Aptido pode ser:
Cromossomo do Problema 1
0 = 00000
31 = 11111
Aptido
Neste problema, a aptido pode ser a prpria funo objetivo. Exemplo: aptido(00011) = f(3) = 9
x
25 15 14 10
f (x )
625 225 196 100
Prob. de seleo
pi =
f ( xi )
N k=1
f ( xk )
Seleo
Seleo
Tem como objetivo propagar material gentico dos indivduos mais adaptados Os melhores indivduos (maior aptido) so selecionados para gerar filhos Dirige o AG para as melhores regies do espao de busca
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
Seleo
Torneio: escolhe-se n (tipicamente 2) indivduos aleatoriamente da populao e o melhor selecionado. Ranking: seleciona-se os n indivduos mais adaptados
Reproduo - Crossover
Funo:
combinar e/ou perpetuar material gentico dos indivduos mais adaptados Cria novos indivduos misturando caractersticas de dois ou mais indivduos pais (crossover) - variao
Em termos de busca:
Crossover
Os filhos so formados a partir dos bits dos pais Cruzamento em um ponto Pai 1: 1010101011 | 0101010111 Pai 2: 0000100101 | 0101110010 Filho1: 10101010110101110010 Filho2: 00001001010101010111 Cruzamento multi-ponto Pai 1: 101010 | 101101 | 01010111 Pai 2: 000010 | 010101 | 01110010 Filho1: 000010 | 101101 | 01110010 Filho2: 101010 | 010101 | 01010111
Crossover
Os pontos de corte dos cruzamentos em um ponto ou multiponto podem ser estticos ou escolhidos aleatoriamente Quanto mais estruturada for a representao do cromossomo, mais difcil fica de se definir o cruzamento
Mutao
Objetivo:
Tipos:
Obs: Existe uma taxa de mutao (ex. % da populao selecionada) que pode diminuir com o tempo para garantir convergncia
A2 = 0 1 1 1 1 A1 = 1 1 0 0 1
01111 11001
10111 11001
Objetivo: garantir uma convergncia adequada Tipos: simples: a nova gerao substitui a antiga elitista ou steady-state: a nova gerao se mistura com a antiga
, preservando, pelo menos, o melhor indivduo entre a antiga e a nova gerao.
cromossomos
x
27 25 25 23
f (x )
729 625 625 529
1 2 3 4
f (x )
729 576 529 441
x
Terceira Gerao
1 2 3 4 11011 10111 01111 00111 27 23 15 7
f (x )
729 529 225 49
f (x )
961 729 529 529
x
Quinta Gerao
1 2 3 4 11111 11111 11111 10111 31 31 31 23
f (x )
961 961 961 529
Problema 2
Achar o mximo da funo utilizando Algoritmos Genticos
f ( x ) = x seno(10 x ) + 1,0
Restrita ao intervalo:
1,0 x 2,0
Problema 2
3,0 f(x) = x sen(10 x) + 1 Mximo local 2,0 1,0 0,0 -1,0 -1,0 -0,5 0,0 Mximo global
0,5 x
1,0
1,5
2,0
Problema 2
Funo multimodal com vrios pontos de mximo. um problema de otimizao global (encontrar o mximo global) No pode ser resolvido pela grande maioria dos mtodos de otimizao convencional. H muitos mtodos de otimizao local, mas para otimizao global so poucos.
O Cromossomo Problema 2
Quantos bits dever ter o cromossomo? Quanto mais bits melhor preciso numrica Longos cromossomos so difceis de manipular
1000101110110101000111
As Geraes do Problema 2
3,0
2,5 2,0 1,5 1,0 0,5 0,0 -0,5 -1,0 -1,0 -0,5
Populao Inicial
0,0
0,5
1,0
1,5
2,0
As Geraes do Problema 2
3,0
Primeira Gerao
Pouca melhoria
As Geraes do Problema 2
3,0 2,5
Gerao 25
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
As Geraes do Problema 2
3,0
Funo objetivo
Mdia Melhor
15
20
25
Elitismo
A substituio simples da gerao antiga pela nova podem destruir a melhor indivduo Por que perder a melhor soluo encontrada? Elitismo transfere cpias dos melhores indivduos para a gerao seguinte
Elitismo no Problema 2
3,0 2,8 Funo objetivo 2,6 2,4 2,2 2,0 0 5
15 10 Gerao
20
25
Critrios de Parada
Nmero de geraes Encontrou a soluo (quando esta conhecida) Perda de diversidade (estagnao) Convergncia