Escolar Documentos
Profissional Documentos
Cultura Documentos
SISEE
Algoritmos Genticos
Os Algoritmos Genticos trabalham com populaes de solues que so combinadas para obter novas solues, e assim sucessivamente at obter uma soluo satisfatria.
SISEE
Analogia com a Natureza Evoluo Natural Indivduo Gentipo (cromossomas) Reproduo Sexual Mutao Populao Geraes
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
Algoritmos Genticos Soluo Representao da Soluo Operador de Recombinao (p.ex. cruzamento) Operador Mutao Conjunto de Solues Ciclos
45
SISEE
Algoritmos Genticos
SISEE
Parmetros dos AG
Tamanho da populao Taxa de cruzamento Taxa de mutao Taxa de substituio Critrios de paragem
SISEE
Parmetros dos AG
Tamanho da Populao
Determina
a
da populao estvel
SISEE
Parmetros dos AG
Taxa de Cruzamento
Dene a probabilidade de dois
SISEE
Parmetros dos AG
Taxa de Mutao
Mutao permite gerar indivduos
locais do problema
Valor tpico: 1%
SISEE
Parmetros dos AG
Taxa de Substituio
Dene percentagem da populao a
renovao
Valores baixos -> estagnao
SISEE
Parmetros dos AG
Critrios de Paragem
Encontrar uma soluo com um valor
temporal
Atingir um determinado nmero de
geraes
10
SISEE
Avaliao e Aptido
mrito da soluo.
O seu clculo deve ser simples j que se
11
SISEE
Seleco
reproduo
Mtodos determinsticos seleccionam com
aleatoriedade.
SISEE
Operadores
13
SISEE
Operadores de Cruzamento
operador
escolhe aleatoriamente 1 ou 2 pontos de corte aplica uma mscara das posies a trocar mistura partes resultantes dos 2 progenitores
14
SISEE
Dois Exemplos do operador de cruzamento
Operaes de Cruzamento
47
SISEE
Operadores de Mutao
perdidos na seleco
Fornecem
no
16
SISEE
Operador de Mutao
Exemplo de Mutao
48
SISEE
Populao inicial Gerar P0 Populao de t0 solues iterao potenciais Avalia Pt enquanto ! Condio final Pt faz Avaliar e seleccionar os mais aptos
Pt
Selecciona Pt Pt
Aplica operadores de re-combinao Pt Pt
Aplica operadores de mutao Pt Avaliar a sua aptido Avalia Pt Pt+1
Selecciona Sobreviventes de Pt e de Pt nova iterao tt+1 Fim retorna Melhor Soluo Global
46
SISEE
Problema - Exemplo
de processamento, dj a data de entrega e wj a penalizao (por unidade de tempo) no caso da tarefa j se atrasar. atrasos wjTj. (T - atrasos)
SISEE
Para visualizar uma sequncia muitas vezes utilizado um diagrama de Gantt, onde as linhas esto associadas s tarefas e as colunas aos perodos de tempo. Para a sequncia de tarefas [3,1,2,5,4] Durao obtm-se o calendrio representado a p1=2 seguir.
p2=4 p3=1 p4=3 p5=3
50
SISEE
1. Supondo o seguinte par de indivduos, so seleccionados 2 pontos de cruzamento (4 e 7). 2. Os genes situados entre os dois pontos de cruzamento, inclusive, so copiados para os seus descendentes, sendo as restantes posies preenchidas por um caracter H.
A=123456789 B=452187693
A=HHH4567HH B=HHH1876HH
51
SISEE
A=218456793
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
22
SISEE
6. Eliminando os genes j definidos em B, obtm-se a sequncia: [9 2 3 4 5]. A seguir substitui-se nas lacunas (H) de B a sequncia obtida, comeando no 2 ponto de cruzamento obtendo-se o descendente B.
B=345187692
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
23
SISEE
de ordem (Order Crossover) os genes a substituir de um dos progenitores aparecero na ordem em que esto no outro progenitor. podero produzir sequncias no viveis quando aplicados a este tipo de problemas (tarefas repetidas por exemplo)
24
SISEE
Permite usar mais pontos de corte Gera aleatoriamente as posies dos genes a
trocar, usando uma mscara binria com a dimenso dos cromossomas Na mscara, 1 implica a troca do gene nessa posio e 0 o contrrio.
SISEE
Genetic Algorithms use a set of starting points (the population) and iteratively generates better points from the population. As long as the initial population covers several basins, G.A. can examine several basins.
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
26
SISEE
Exemplos de Aplicao
binrios.
Quadro que nos d os elementos da populao e o valor
27
SISEE
Admita-se que:
o cruzamento se d sempre entre os elementos 1
e 2, originando os elementos 5 e 6, e entre os elementos 3 e 4, originado os elementos 7 e 8. usado um cruzamento uniforme, com mscara 101010. a seleco feita com elitismo puro - os 4 elementos com maiores valores de f(x) so seleccionados e sero os novos elementos 1, 2, 3 e 4 da gerao seguinte. se aparecerem elementos repetidos sero eliminados.
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
28
SISEE
5 6 7 8
37 9 19 12 13 33 25 6
101010
SISEE
30
SISEE
5 6 7 8
37 19 33 25 7 49 9 49
Repetidos
Mscara 101010
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
SISEE
32
SISEE
Concluses:
Aps 2 ciclos de cruzamento o factor de avaliao mdio da populao subiu de 488,75 para 1371. o melhor elemento passou de um factor de aptido de 1369 para 2401 Ser que convergiremos rapidamente para a
soluo ptima? Podemos j garantir que esta no ser encontrada por cruzamento de genes. Porqu?
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
33
SISEE
Concluses:
Bit 5
Por muitas recombinaes que se faam, nunca o bit 5 poder ter o valor 1. A soluo ptima (111111) inatingvel apenas por cruzamento. Mutaes!
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
34
SISEE
Concluses:
Pouca
diversidade estagnao
pode
levar
cromossomas progenitores
iguais
aos
seus
35
SISEE
Considere-se
o sequenciamento de 9 tarefas {1,2,3,4,5,6,7,8,9} numa mquina. uma ferramenta e as tarefas pares so executadas com uma ferramenta fp.
trocas de ferramentas.
36
SISEE
9 dgitos A funo de avaliao procurar minimizar o nmero de trocas de ferramentas (o n de passagens de par para mpar e vice-versa), Escolher-se-o os elementos da populao com menor valor dessa funo. Aconselha-se a utilizao de um operador de cruzamento com manuteno de ordem, pois os outros operadores originariam solues no viveis (com tarefas repetidas e com tarefas ausentes).
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
37
SISEE
Aplique-se o operador de cruzamento com manuteno de ordem e 2 pontos de corte (entre o 2 e 3 genes e entre o 6 e 7 genes).
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
38
SISEE
39
SISEE
melhor da gerao anterior (n3) A mdia das funes de avaliao diminuiu Nunca chegaremos soluo ptima s por cruzamento. Porqu?
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
40
SISEE
MATLAB - A funo ga
41
SISEE
A funo ga
de
trabalho
42
SISEE
Exemplo:
A funo ga
fval = 0.0068
43
SISEE
possvel usar a linha de comando para correr vrias vezes um AG com diferentes opes, usando uma M-le.
options = gaoptimset('Generations',300); strm = RandStream('mt19937ar','Seed',6525); RandStream.setDefaultStream(strm); record=[]; for n=0:.05:1 options = gaoptimset(options,'CrossoverFraction', n); [x fval]=ga(@rastriginsfcn, 10,[],[],[],[],[],[],[],options); record = [record; fval]; end
A taxa de Crossover (Crossover fraction / Reproduction options) especica a % da populao, exceptuando os descendentes de elite, que composta por descendentes de crossover.
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
44
SISEE
45
SISEE
46
SISEE
47
SISEE
a optimizar
A M-le deve aceitar um vector, cujo
48
SISEE
Exemplo
Funo a minimizar:
A M-le dever aceitar um vector x de comprimento 2, correspondendo s variveis x1 e x2.
Passos:
1. Seleccionar File/New 2. Seleccionar M-File 3. Introduzir na M-le o seguinte cdigo:
function z = my_fun(x) z = x(1)^2 - 2*x(1)*x(2) + 6*x(1) + x(2)^2 - 6*x(2);
49
SISEE
50
SISEE
Maximizao e minimizao
51
SISEE
Exemplo
Achar o mnimo da funo de Rastringin
Mnimo global
52
SISEE
Exemplo
Function
introduzir:
53
SISEE
Exemplo
Resultados:
Valores das variveis independentes que corrspondem ao valor nal da funo de tness
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
54
SISEE
Exemplo
Obteno de grcos
55
SISEE
Exerccio 1
1.Criar uma M-le com o seu cdigo 2.Achar o seu mnimo usando AG
56
SISEE
M-le:
Exerccio 1
Resultado:
57
SISEE
No Help do MATLAB abrir as seces
Exerccio 2
> Global Optimization Toolbox > Demos > Genetic Algorithm e > Global Optimization Toolbox > Users Guide > Using the Genetic Algorithm > GA examples
Example - Global versus local minima Selection Population diversity Reproduction options Mutation and Crossover ...
58
SISEE
59