Escolar Documentos
Profissional Documentos
Cultura Documentos
MECANISMOS DE SELEO ............................................................................................................................................................................................ 16 CODIFICAO ................................................................................................................................................................................................................ 19 ABORDAGENS BASEADAS EM POPULAO ..................................................................................................................................................................... 22 DEFINIO DA POPULAO INICIAL .............................................................................................................................................................................. 22 DECISES CRTICAS ....................................................................................................................................................................................................... 23 EXERCCIOS COMPUTACIONAIS ...................................................................................................................................................................................... 24 10.1 OTIMIZAO DE UMA FUNO SIMPLES ............................................................................................................................................................... 24 10.2 PROBLEMA DO DILEMA DO PRISIONEIRO............................................................................................................................................................... 26 10.3 PROBLEMA DO CAIXEIRO VIAJANTE (TRAVELING SALESMAN PROBLEM TSP) .................................................................................................. 27
11 12
TEORIA DOS ESQUEMAS (SCHEMATA THEORY) ................................................................................................................................................................ 30 11.1 DECEPTION PROBLEM ........................................................................................................................................................................................... 38 REFERNCIAS BIBLIOGRFICAS ............................................................................................................................... ...................................................... 39
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
1 Introduo
os algoritmos genticos (AGs) foram desenvolvidos por HOLLAND (1975; 1992), da Universidade de Michigan. metas:
Y Y
abstrair e rigorosamente explicar os processos adaptativos em sistemas naturais desenvolver simulaes em computador que retenham os mecanismos originais encontrados em sistemas naturais
caractersticas principais:
Y Y Y
existncia de 2 espaos de trabalho: espao genotpico e espao fenotpico AGs fazem busca sobre uma populao de pontos e no sobre um nico ponto AGs fazem uso de descries genricas do que se quer ver presente na soluo, atravs de funes de fitness (funes-objetivo)
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
codificao binria reproduo e seleo natural via algoritmo Roulette Wheel crossover simples (crossover de um ponto) mutao
Roullete Wheel : probabilidade de seleo de um cromossomo diretamente proporcional a seu valor de fitness. Exemplo: N 1 2 3 4 Cromossomo 0001100101010 0101001010101 1011110100101 1010010101001 Fitness 6.0 3.0 1.5 1.5 Graus 180 90 45 45
0.25
1 0 0.5 1 4 3 2
0.75
01100101 00101001 10 00
1011111010101 1010100010100
Crossover
001011010010010 110000010111010 010100100100001 011001010101100 010001000101000 001010100101001 011001010111010 001110010100001 101010100010100 001011111010001 PRXIMA GERAO
Mutao
001011010010010 110010010111010 010100100100001 011001010100100 010001000101000 001010100101001 011001010111010 001010010100001 101010100010100 001011111010101
00101 1010010010 11001 0010111010 0101001001 00001 0110010101 00100 010 001 001000101000 010100101001 0111010 0100001
01100101 00101001 10 00
1010100010100 1011111010101
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
poltica de reproduo/seleo permite a perda do melhor indivduo posio dos genes no cromossomo influi na probabilidade de permanecerem no mesmo cromossomo aps crossover
gerao de sub-populaes por meio da aplicao de operadores genticos e outros operadores sobre membros da gerao atual
Y Y
avaliao (clculo do fitness) e ordenao da populao intermediria seleo para nova gerao 5
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
MELHOR INDIVDUO
AVALIAO E ORDENAO
OPERAES
SELEO
PRXIMA GERAO
SUB-POPULAES
POPULAO INTERMEDIRIA
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
entre indivduo aleatrio (Roulette Wheel) e melhor indivduo. Neste caso, os segmentos definem as caractersticas.
Y crossover uniforme (SYSWERDA, 1989) ou baseado em mscara entre indivduos
aleatrios (Roulette Wheel), ou ento entre indivduo aleatrio (Roulette Wheel) e melhor indivduo. Neste caso, os genes definem as caractersticas.
Y mutao de indivduos aleatrios (Roulette Wheel), ou do melhor indivduo, da
gerao atual: mutao aleatria mutao indutiva (somente para codificao usando nmeros reais)
Roulette Wheel, seleciona-se o melhor indivduo da gerao atual, determina-se o(s) ponto(s) de corte e efetua-se o crossover
Y parmetros: ponto de corte, mtodo de seleo de um dos indivduos
4.3 Crossover uniforme ou baseado em mscara entre indivduos aleatrios (Roulette Wheel)
Roulette Wheel, determina-se a percentagem de troca e escolhe-se os genes que vo ser trocados ou ento aplica-se a mscara, efetuando o crossover somente dos genes envolvidos
Y parmetros: percentagem de genes a serem trocados ou ento mscara, mtodo de
ESHELMAN et al. (1989) relata diversos experimentos com vrios operadores de crossover. Os resultados indicam que o operador com pior desempenho mdio o crossover de um ponto; entretanto, no h nenhum operador de crossover que claramente apresente um desempenho superior aos demais. uma concluso a que se pode chegar que cada operador de crossover particularmente eficiente para uma determinada classe de problemas e extremamente ineficiente para outras. os operadores de crossover descritos at aqui tambm podem ser utilizados em cromossomos com codificao em ponto flutuante (valores reais). Entretanto, existem operadores de crossover especialmente desenvolvidos para uso com codificao em ponto flutuante. Um exemplo o chamado crossover aritmtico (MICHALEWICZ, 1996).
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
10
este operador definido como uma combinao linear de dois vetores (cromossomos): sejam x1 e x2 dois indivduos selecionados para crossover, ento os dois filhos resultantes sero x1 = ax1 + (1 a )x 2 e x = (1 a )x1 + ax 2 , onde a 2 um nmero aleatrio pertencente ao intervalo [0, 1]. Este operador particularmente apropriado para problemas de otimizao numrica com restries, onde a regio factvel convexa. Isto porque, se x1 e x2 pertencem regio factvel, combinaes convexas de x1 e x2 sero tambm factveis. Assim, garante-se que o crossover no gera indivduos invlidos para o problema em questo. outros exemplos de crossover especialmente desenvolvidos para utilizao em problemas de otimizao numrica restritos e codificao em ponto flutuante so o crossover geomtrico e o crossover esfrico, descritos em MICHALEWICZ & SCHOENAUER (1996). Veja tambm BCK et al. (2000b).
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
11
mutao aleatria
Y escolhido um indivduo da gerao atual, aleatoriamente ou por meio do
Roulette Wheel, ou ento tomado o melhor indivduo da populao (aquele que apresenta o maior fitness), determina-se a percentagem de genes que vo ser trocados e procede-se a um sorteio de genes na quantidade determinada, ou ento emprega-se uma mscara, e para cada gene sorteado define-se aleatoriamente um dentre os alelos disponveis para troca.
Y parmetros: percentagem de genes a serem trocados ou ento mscara, conjunto
de alelos, mtodo de seleo de indivduos. mutao indutiva (somente para codificao usando nmeros reais)
Y Semelhante mutao aleatria, s que ao invs de sortear um novo valor para
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
12
no caso de problemas com codificao em ponto flutuante, o operador de mutao mais popular a mutao gaussiana (MICHALEWICZ & SCHOENAUER, 1996), que modifica todos os componentes de um cromossomo x = [x1 xn] na forma: x = x + N (0, ), onde N(0, ) um vetor de variveis aleatrias gaussianas independentes, com mdia zero e desvio padro . um outro operador importante para problemas em que os indivduos empregam codificao em ponto flutuante a mutao uniforme (MICHALEWICZ ,1996). Este operador seleciona aleatoriamente um componente k {1, 2, , n} do cromossomo x = [x1 xk xn] e gera um indivduo x = [x1 x k x n ], onde xk um nmero aleatrio (com distribuio de probabilidade uniforme) amostrado no intervalo [LB, UB] e LB e UB so, respectivamente, os limites inferior e superior da varivel xk.
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
13
outro operador de mutao, especialmente desenvolvido para problemas de otimizao com restrio e codificao em ponto flutuante, a chamada mutao no-uniforme (MICHALEWICZ, 1996; MICHALEWICZ & SCHOENAUER, 1996). A mutao no-uniforme um operador dinmico, destinado a melhorar a sintonia fina de uma elemento simples. Podemos defini-lo da seguinte forma: seja xt = [x1 xn] um cromossomo e suponha que o elemento xk foi selecionado para mutao; o cromossomo resultante ser x t +1 = [x1 x k x n ], onde x k + (t ,UB x k ), com 50% de probabilidade xk = x k (t , x k LB ), com 50% de probabilidade onde LB e UB so os limites inferiores e superiores da varivel xk. A funo (t, y) retorna um valor no intervalo [0, y] tal que a probabilidade de (t, y) ser prximo de zero aumenta medida que t aumenta.
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
14
esta propriedade faz com que este operador inicialmente explore o espao globalmente (quando t pequeno) e localmente em geraes avanadas (quando t grande); MICHALEWICZ (1996) prope a seguinte funo: (t , y ) = y 1 r (1t / T )
onde r um nmero aleatrio no intervalo [0, 1], T o nmero mximo de geraes e b um parmetro que determina o grau de dependncia do nmero de iteraes (valor proposto por MICHALEWICZ (1996): b = 5). outros exemplos de operadores de mutao para problemas de otimizao numrica e com codificao em ponto flutuante podem ser encontrados em MICHALEWICZ & SCHOENAUER (1996) e em BCK et al. (2000b).
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
15
5 Mecanismos de Seleo
o algoritmo gentico clssico utiliza um esquema de seleo de indivduos para a prxima gerao chamado roulette wheel (MICHALEWICZ, 1996). o roulette wheel atribui a cada indivduo de uma populao uma probabilidade de passar para a prxima gerao proporcional ao seu fitness medido, em relao somatria do fitness de todos os indivduos da populao. assim, quanto maior o fitness de um indivduo, maior a probabilidade dele passar para a prxima gerao. observe que a seleo de indivduos por roulette wheel pode fazer com que o melhor indivduo da populao seja perdido, ou seja, no passe para a prxima gerao. uma alternativa escolher como soluo o melhor indivduo encontrado em todas as geraes do algoritmo.
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
16
outra opo simplesmente manter sempre o melhor indivduo (ou os P% melhores indivduos) da gerao atual na gerao seguinte, estratgia essa conhecida como seleo elitista (FOGEL, 1994; MICHALEWICZ, 1996). outro exemplo de mecanismo de seleo a seleo baseada em rank (BCK et al., 2000a). Esta estratgia utiliza as posies dos indivduos quando ordenados de acordo com o fitness para determinar a probabilidade de seleo. podem ser usados mapeamentos lineares ou no-lineares para determinar a probabilidade de seleo. Para um exemplo de mapeamento no-linear, veja (MICHALEWICZ, 1996). Uma variao deste mecanismo simplesmente passar os N melhores indivduos para a prxima gerao. a seguir, citamos alguns outros possveis mecanismos de seleo: seleo por diversidade: so selecionados os indivduos mais diversos da populao. Aqui podem ser adotados critrios adicionais relacionados ao fitness.
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
17
seleo bi-classista: so selecionados os P% melhores indivduos e os (100 P)% piores indivduos. seleo aleatria: so selecionados aleatoriamente N indivduos da populao. Podemos subdividir este mecanismo de seleo em:
Y Salvacionista: seleciona-se o melhor indivduo e os outros aleatoriamente. Y No-salvacionista: seleciona-se aleatoriamente todos os indivduos.
seleo por torneio: um dos mais refinados processos de seleo, por permitir ajustar a presso seletiva. A seleo feita em funo do nmero de vitrias de cada indivduo em q competies contra oponentes aleatrios da populao, sendo que vence uma competio aquele que apresentar o maior fitness (comparado ao de seu oponente). Para propsitos prticos, q 10 conduz a uma forte presso seletiva, enquanto valores de q entre 3 e 5 levam a uma fraca presso seletiva. Para q = 1, temos essencialmente random walk e para q temos simplesmente a seleo por ordem de fitness, sem nenhuma aleatoriedade.
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
18
6 Codificao
cada indivduo de uma populao representa um candidato em potencial soluo do problema em questo. No algoritmo gentico clssico, proposto por HOLLAND (1975; 1992), as solues candidatas so codificadas em arranjos binrios de tamanho fixo. a motivao para o uso de codificao binria vem da teoria dos esquemas (schemata theory), que ser apresentada mais adiante. HOLLAND (1975; 1992) argumenta que seria benfico para o desempenho do algoritmo maximizar o paralelismo implcito inerente ao algoritmo gentico, e prova que um alfabeto binrio maximiza o paralelismo implcito. entretanto, em diversas aplicaes prticas a utilizao de codificao binria leva a um desempenho insatisfatrio. Em problemas de otimizao numrica com parmetros reais, algoritmos genticos com representao em ponto flutuante freqentemente apresentam desempenho superior codificao binria.
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
19
MICHALEWICZ (1996)
argumenta
que
representao
binria
apresenta
desempenho pobre quando aplicada a problemas numricos com alta dimensionalidade e onde alta preciso requerida. Suponha por exemplo, que temos um problema com 100 variveis com domnio no intervalo [500, 500] e que precisamos de 6 dgitos de preciso aps a casa decimal. Neste caso precisaramos de um cromossomo de comprimento 3000, e teramos um espao de busca de dimenso aproximadamente 101000. Neste tipo de problema o algoritmo gentico clssico apresenta desempenho pobre. MICHALEWICZ (1996) apresenta tambm simulaes computacionais comparando o desempenho de algoritmos genticos com codificao binria e com ponto flutuante, aplicados a um problema de controle. Os resultados apresentados mostram uma clara superioridade da codificao em ponto flutuante. a argumentao de MICHALEWICZ (1996) de que o desempenho de um algoritmo gentico com codificao binria pobre quando o espao de busca de dimenso
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
20
elevada, no universalmente aceita na literatura referente a algoritmos genticos. FOGEL (1994) argumenta que o espao de busca por si s (sem levar em conta a escolha da representao) no determina a eficincia do algoritmo gentico. espaos de busca de dimenso elevada podem s vezes ser explorados eficientemente, enquanto que espaos de busca de dimenso reduzida podem apresentar dificuldades significativas. FOGEL (1994), entretanto, concorda que a maximizao do paralelismo implcito nem sempre produz um desempenho timo. fica claro, portanto, que a codificao uma das etapas mais crticas na definio de um algoritmo gentico. A definio inadequada da codificao pode levar a superfcies de fitness extremamente acidentadas. em problemas de otimizao restrita, a codificao adotada pode fazer com que indivduos modificados por crossover/mutao sejam invlidos. nestes casos, cuidados especiais devem ser tomados na definio da codificao e/ou dos operadores (BCK et al., 2000b).
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
21
22
9 Decises crticas
tipo de codificao: binria ou real? representar toda ou parte da soluo? s crossover, s mutao, ou ambos? populaes de tamanho fixo ou varivel ? cromossomos de tamanho fixo ou varivel? cromossomos haplides ou diplides? qual critrio de parada? usar controle de diversidade? usar busca local? usar niching? usar co-evoluo? abordagem Michigan ou Pittsburgh? algoritmos genticos ou programao gentica?
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
23
10 Exerccios computacionais
10.1 Otimizao de uma Funo Simples
-0.5
0.5
1.5
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
24
x0 = 0 xi =
x = 1 + x
v = 0000000000000000000000 x = 1 v = 1111111111111111111111 x = 2
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
25
Funo de Avaliao: eval(v) = f(x) Operadores Genticos: Crossover simples, mutao simples Populao Inicial - Aleatria com 50 indivduos Parmetros: probabilidade de crossover pc = 0,25 e probabilidade de mutao pm = 0,01 EC3 - Implementar o algoritmo gentico padro para este caso e test-lo para at 150 geraes. EC4 - Implementar o algoritmo gentico modificado para o mesmo caso, e comparar o desempenho. Arbitrar os parmetros do algoritmo gentico modificado.
10.2 Problema do Dilema do Prisioneiro
EC5 Implementar o algoritmo gentico modificado para o problema do dilema do prisioneiro, testando (a) contra uma populao fixa; (b) contra os prprios indivduos da mesma gerao, incluindo o prprio.
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
26
2 3 8
11 12
10
4 9 15 5
13 14
2 3 8
11 12
10
4 9 15 5
13 14
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
27
Codificao - arranjo de nmeros inteiros: 1,3,4,5,6,8,9,15,14,13,12,11,10,7,2 Funo de fitness - soma dos custos de movimentao entre cada par de cidades. Operadores Crossover OX: 1 2 3 4 5 6 7 8 9 10 11 12
11 4
12 5
10 9
11 12 4
10 9
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
28
Mutao Inversiva 1 2 3 4 5 6 7 8 9 10 11 12
10 11 12
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 11 12 10 11 1
12 2
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
29
EC6 Implementar o algoritmo gentico modificado para o problema do caixeiro viajante. A posio das cidades ser indicada por meio de um arquivo contendo linhas do seguinte tipo: N nmero de cidades no arquivo (x,y) coordenadas da cidade no mapa O custo de deslocamento entre duas cidades dado pela distncia entre as duas cidades. Os operadores e mecanismos de seleo a serem utilizados podem ser quaisquer.
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
30
nesta seo, apresentaremos os principais resultados da teoria dos esquemas: o teorema de crescimento dos esquemas e a hiptese dos blocos construtivos. um esquema uma representao capaz de descrever diversos cromossomos simultaneamente. Um esquema construdo inserindo um caractere dont care () no alfabeto dos genes, indicando que aquele gene representa qualquer alelo. por exemplo, o esquema [1 0 1 0 0 1] representa os cromossomos [1 0 0 1 0 0 1] e [1 1 0 1 0 0 1]. O esquema [1 0 1 1 0] representa quatro cromossomos: [1 0 0 0 1 1 0], [1 0 0 1 1 1 0], [1 1 0 0 1 1 0] e [1 1 0 1 1 1 0]. obviamente, o esquema [1 1 1 0 0 1 0] representa apenas um cromossomo, enquanto que o esquema [ ] representa todos os cromossomos de comprimento 7. observe que cada esquema representa 2r cromossomos, onde r o nmero de caracteres dont care presentes no esquema. Por outro lado, cada cromossomo de comprimento m representado por 2m esquemas.
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
31
por exemplo, considere o cromossomo [0 1 0 0 1 0 0]. Este cromossomo representado pelos seguintes 27 esquemas: [0 1 0 0 1 0 0] [* 1 0 0 1 0 0] [0 * 0 0 1 0 0] [0 1 0 0 1 0 *] [* * 0 0 1 0 0] [* 1 * 0 1 0 0] [0 1 0 0 1 * *] [* * * 0 1 0 0] [* * * * * * *]
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
32
considerando cromossomos de comprimento m, h um total de 3m possveis esquemas. Numa populao de tamanho n, entre 2m e n 2n diferentes esquemas podem ser representados. a ordem de um esquema S, o(S), definida como o nmero de 0s e 1s presentes no esquema, isto , o nmero de posies fixas (caracteres diferentes de dont care) presentes no esquema. A ordem de um esquema define sua especificidade, de modo que quanto maior a ordem, mais especfico o esquema. o comprimento definitrio de um esquema S, denotado por (S), a maior distncia entre posies fixas de um cromossomo. O comprimento definitrio define o nvel de compactao da informao contida no esquema. o fitness de um esquema S na gerao t, eval(S, t), definido como a mdia dos fitness de todos os cromossomos na populao representados pelo esquema S. Assuma que h p cromossomos gerao t. Ento:
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
{x
t t i1 ,, x i p
na
33
eval( S i , t ) =
1 p eval x it j p j =1
( )
onde eval x it j o fitness do indivduo x it j . seja tam_pop o tamanho da populao. O fitness mdio da populao na gerao t, F (t ), dado por F (t ) =
tam _ pop 1 eval x it tam _ pop i =1
( )
( ).
sejam pc e pm as probabilidades de crossover e mutao, respectivamente, e m o comprimento dos cromossomos. Seja (Si, t) o nmero de cromossomos representados pelo esquema Si na gerao t. Pode-se mostrar que
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
a equao acima conhecida como equao de crescimento reprodutivo do esquema. Esta equao deduzida supondo que a funo de fitness f() produz apenas valores positivos. Se a funo a ser otimizada produz valores negativos, um mapeamento entre as funes de otimizao e de fitness necessrio. esta equao de crescimento mostra que a seleo aumenta a amostragem de esquemas cujo fitness est acima da mdia da populao, e este aumento exponencial (MICHALEWICZ, 1996). a seleo, por si s, no introduz nenhum novo esquema (no representado na gerao inicial em t = 0). Esta a razo da introduo do operador de crossover: possibilitar a troca de informao estruturada, ainda que aleatria. Alm disso, o operador de mutao introduz uma variabilidade maior na populao. o efeito (destrutivo) combinado destes operadores no significativo se o esquema curto e de ordem baixa. O resultado final da equao de crescimento pode ser formulado como segue:
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
35
Teorema dos Esquemas: Esquemas com comprimento definitrio curto, de ordem baixa, e com fitness acima da mdia, tm um aumento exponencial de sua participao em geraes consecutivas de um algoritmo gentico. Prova: Veja HOLLAND (1975; 1992). uma conseqncia imediata deste teorema que os algoritmos genticos tendem a explorar o espao por meio de esquemas curtos e de baixa ordem que, subseqentemente, so usados para troca de informao durante o crossover. Hiptese dos Blocos Construtivos: Um algoritmo gentico busca desempenho quase-timo atravs da justaposio de esquemas curtos, de baixa ordem e alto desempenho, chamados de blocos construtivos. em uma populao de tamanho tam_pop, indivduos de comprimento m processam pelo menos 2m e no mximo 2tam_pop esquemas. Alguns deles so processados de forma til: so amostrados a uma taxa crescente exponencial (desejvel); e outros so quebrados por meio de crossover e mutao.
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
36
HOLLAND (1975; 1992) mostrou que, em uma populao de tamanho tam_pop, pelo menos tam_pop3 so processados de forma til. Esta propriedade foi denominada paralelismo implcito, pois obtida sem nenhuma exigncia extra de memria e processamento. Entretanto, BERTONI & DORIGO (1993) mostraram que a estimativa tam_pop3 vlida apenas para o caso particular em que tam_pop proporcional a 2l, onde l = 1 m e a probabilidade de um esquema ser rompido 2 por crossover. note entretanto que, em alguns problemas, alguns blocos construtivos (esquemas curtos, de ordem baixa) podem direcionar erroneamente o algoritmo, levando-o a convergir a pontos sub-timos. Este fenmeno conhecido como decepo. Assim, a hiptese dos blocos construtivos no fornece uma explicao definitiva do porqu os algoritmos genticos funcionam. Ela apenas uma indicao do porqu os algoritmos genticos funcionam para uma certa classe de problemas.
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
37
alguns blocos construtivos podem direcionar erroneamante o GA, levando a uma convergncia a pontos sub-timos: 1 1 1 * * * * * * * * fitness acima da mdia * * * * * * * * * 1 1 fitness acima da mdia 1 1 1 * * * * * * 1 1 fitness muito menor que 0 0 0 * * * * * * 0 0 soluo tima 1 1 1 1 1 1 1 1 1 1 1 tendncia a convergir para pontos como 0 0 0 1 1 1 1 1 1 0 0 algumas alternativas foram propostas para combater o problema da decepo (GOLDBERG, 1989; MICHALEWICZ, 1996). A primeira assume que h algum conhecimento a priori da funo-objetivo para que seja possvel codific-la de forma apropriada (que forme blocos construtivos coesos).
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
38
a segunda a utilizao de um operador de inverso: selecionam-se 2 pontos em um cromossomo e inverte-se a ordem dos bits entre os pontos selecionados (alterando-se a codificao em conjunto com a operao). a terceira opo utilizar algoritmos genticos messy, que diferem do algoritmo gentico clssico de vrias maneiras: codificao, operadores, presena de cromossomos de tamanho distinto e fases evolutivas.
12 Referncias bibliogrficas
BCK, T., FOGEL, D.B. & MICHALEWICZ, Z. (eds.) Evolutionary Computation 1: Basic Algorithms and Operators, Institute of Physics Publishing, 2000a. BCK, T., FOGEL, D.B. & MICHALEWICZ, Z. (eds.) Evolutionary Computation 2: Advanced Algorithms and Operators, Institute of Physics Publishing, 2000b. BERTONI, A. & DORIGO, M. Implicit Parallelism in Genetic Algorithms, Artificial Intelligence, 61(2): 307314, 1993.
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
39
ESHELMAN, L. J., CARUANA, R. A. & SCHAFFER, J. D. Biases in the Crossover Landscape, in Schaffer, J. (ed.), Proceedings of the Third International Conference on Genetic Algorithms, Morgan Kaufmann Publishers, 10-19, 1989. FOGEL, D. B. An Introduction to Simulated Evolutionary Computation, IEEE Transactions on Neural Networks, 5(1): 3-14, 1994. GOLDBERG, D. E. Messy Genetic Algorithms: Motivation, Analysis, and First Results, Complex Systems, 3: 493-530, 1989. HOLLAND, J.H. Adaptation in Natural and Artificial Systems, University of Michigan Press, 1975. HOLLAND, J.H. Adaptation in Natural and Artificial Systems, 2nd edition, The MIT Press, 1992. IYODA, E.M. Inteligncia Computacional no Projeto Automtico de Redes Neurais Hbridas e Redes Neurofuzzy Heterogneas, Tese de Mestrado, Faculdade de Engenharia Eltrica e de Computao (Unicamp), 2000. MICHALEWICZ, Z. Genetic Algorithms + Data Structures = Evolution Programs, 3rd edition, Springer, 1996. MICHALEWICZ, Z. & SCHOENAUER, M. Evolutionary Algorithms for Constrained Parameter Optimization Problems, Evolutionary Computation, 4(1): 1-32, 1996. SYSWERDA, G. Uniform Crossover in Genetic Algorithms, in Schaffer, J.D. (ed.), Proceedings of the Third International Conference on Genetic Algorithms, Morgan Kaufmann Publishers, pp. 2-9, 1989.
Tpico 6 Algoritmos Gentico (AGs) Adaptado de notas de aula produzidas pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp) e de IYODA (2000)
40