Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Introduo
Os algoritmos genticos (AGs) foram desenvolvidos por HOLLAND (1975; 1992), da Universidade de Michigan. Metas: o abstrair e rigorosamente explicar os processos adaptativos em sistemas naturais o desenvolver simulaes em computador que retenham os mecanismos originais encontrados em sistemas naturais Caractersticas principais: o existncia de 2 espaos de trabalho: espao genotpico e espao fenotpico o AGs fazem busca sobre uma populao de pontos e no sobre um nico ponto o AGs fazem uso de descries genricas do que se quer ver presente na soluo, atravs de funes de fitness (funes-objetivo) o AGs utilizam regras de transio probabilsticas, e no regras determinsticas
O problema a ser resolvido capturado em uma funo objetivo que indica o fitness (adaptabilidade) de cada candidato a soluo. 2.2 Mecanismo de Seleo A seleo no GA clssico proporcional ao fitness e geralmente implementada utilizando um algoritmo denominado de Roulette Wheel. Exemplo: N 1 2 3 4 Cromossomo 0001100101010 0101001010101 1011110100101 1010010101001 Fitness Graus 6.0 180 3.0 90 1.5 45 1.5 45
0.25
1 0 0.5 1 4 3 2
0.75
Implementao: gerador de nmeros pseudo-aleatrios com distribuio uniforme. Note que este procedimento permite a perda (morte) do melhor indivduo e tambm permite que um indivduo seja selecionado mais do que uma vez.
As probabilidades de reproduo de cada indivduo iro resultar na gerao de uma nova populao composta por indivduos probabilisticamente selecionados a partir da populao atual. Os indivduos selecionados iro gerar probabilisticamente filhos (descendentes) atravs de operadores genticos especficos, particularmente, crossover e mutao. 2.3 Operador de Recombinao (Crossover Simples) Nos sistemas biolgicos o crossover pode ocorrer durante a reproduo sexuada permitindo a troca de material gentico entre dois indivduos. Este processo pode ser abstrado como um operador geral para as estruturas de dados do tipo cadeia binria utilizada no GA clssico (HOLLAND, 1975): o Duas cadeias x = x1x2xl e y = y1y2yl de comprimento l so selecionadas com probabilidade de crossover pc. o Um nmero r {1,2,,l1} indicando o ponto de cruzamento (crossover) selecionado.
Tpico 9 Algoritmos Genticos (AGs)
o Duas novas cadeias so formadas a partir de x e y atravs da troca de um conjunto de atributos direita da posio r, resultando em x = x1xiyi+1yl e y = y1yixi+1xl. Os dois novos cromosomos gerados x e y so os filhos (offspring) de x e y.
Ponto de crossover, (r = 5) 1 0 0 0 0 0 1 1 Cromossomo pai 1 0 Cromossomo pai 2
Crossover de
ponto nico
2.4 Operador de Mutao Em gentica a mutao pontual um processo no qual um alelo de um gene aleatoriamente substitudo (ou modificado) por outro, resultando em um novo cromossomo. Geralmente existe uma baixa probabilidade de mutar cada gene de um cromossomo. Isso significa que cada bit na populao P operado da seguinte forma: o Os nmeros r,,u indicando as posies que iro sofrer mutao so determinadas aleatoriamente de forma que cada posio possui uma pequena probabilidade pm de sofrer mutao independente das outras posies. o Uma nova cadeia x = x1xrxuxl gerada onde xrxu so determinadas aleatoriamente partindo do conjunto de alelos para cada gene. No caso de cadeias binrias, se uma posio possui alelo 0, ento ela se torna 1 e viceversa.
Tpico 9 Algoritmos Genticos (AGs)
0101001001 00100 0110010101 00001 010 010100101001 001 001000101000 01100101 00101001 10 00 0100001 0111010
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 11001
1010010010 0010111010
0101001001 00001 0110010101 00100 010 001000101000 001 010100101001 01100101 00101001 10 00 0111010 0100001
1010100010100 1011111010101
Problemas com o algoritmo clssico: o poltica de reproduo/seleo permite a perda do melhor indivduo o posio dos genes no cromossomo influi na probabilidade de permanecerem no mesmo cromossomo aps crossover o dificuldades na codificao binria de nmeros reais Algumas estratgias de soluo: o mecanismos alternativos de seleo o crossover uniforme o codificao em arranjos de nmeros reais
MELHOR INDIVDUO
AVALIAO E ORDENAO
OPERAES
SELEO
PRXIMA GERAO
SUB-POPULAES
POPULAO INTERMEDIRIA
10
4 Exerccios computacionais
EXERCCIO COMPUTACIONAL 3 (EC3): Dada a funo de uma nica varivel
g ( x) = 2 2(( x0.1) / 0.9 ) sen (5x) 6 , apresentada na Figura 1, tente determinar seu timo
2
global utilizando o algoritmo gentico padro. A varivel x est definida no intervalo [0,1], x [0,1]. (Exerccio 2, Seo 8.2, pg. 37, do Tutorial 1.) Escolha como representao para a varivel x uma cadeia binria m (m = ml,..., m2, m1) de comprimento l = 22, correspondente a uma preciso de seis casas decimais. O mapeamento de uma cadeia binria para um nmero real pode ser feito em dois passos: o Converta a cadeia binria m = ml,..., m2, m1 da base 2 para a base 10:
(ml ,..., m2 , m1 )2 = (li=10 mi .2i )10 = x'
11
o Encontre o correspondente valor real () para x: x = x min + x'. xmin = 0 e xmax = 1, x [xmin, xmax] (domnio da varivel).
1
0.8
0.6
0.4
0.2
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Figura 3: Funo g ( x ) = 2
2 (( x 0.1) / 0.9 ) 2
12
Funo de Avaliao: eval(v) = f(x) Operadores Genticos: Crossover simples, mutao pontual Populao Inicial - Aleatria com 50 indivduos Parmetros: probabilidade de crossover pc = 0,5 e probabilidade de mutao pm = 0,01 EXERCCIO COMPUTACIONAL 4 (EC4): Resolver o Exerccio 3 da Seo 8.4 (pg. 37) do Tutorial 1. O problema do caixeiro viajante (travelling salesman problem TSP) de natureza combinatorial e aparece em diversas aplicaes, do projeto de circuitos integrados entrega de fast food. Em sua forma mais simples, o caixeiro deve visitar cada cidade em um dado territrio somente uma vez, e depois retornar a cidade de origem. Dado o custo da viagem entre cada uma das cidades, qual o itinerrio que resulta no custo mnimo total?
13
y
2 1 4 6 7 9 11 10 12 8 3 5
Figura 4: TSP simples com 12 cidades. Codificao - arranjo de nmeros inteiros: 1,3,4,5,6,8,9,12,11,10,7,2 Funo de fitness - soma dos custos de movimentao entre cada par de cidades.
Tpico 9 Algoritmos Genticos (AGs)
14
11 4 4 5 5
12 5 6 6 7 7
10 9
11 12 4
10 9
Mutao Inversiva 1 1 2 2 3 3 4 8 5 5 6 6 7 7 8 4 9 9 10 11 12 10 11 12
15
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 11 12 10 11 1
12 2
EXERCCIO COMPUTACIONAL 5 (EC5): Verifique o comportamento do algoritmo implementado no exerccio 4 quando as seguintes modificaes so inseridas independentemente e em conjunto: Elitismo na seleo: mantenha sempre o melhor indivduo na populao. Crossover de todos os indivduos com o melhor indivduo.
16
17
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. o 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] [* * * * * * *]
18
Considerando cromossomos de comprimento m, h um total de 3m possveis esquemas. Numa populao de tamanho n, entre 2m e n 2m 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 9 Algoritmos Genticos (AGs)
{x
t t i1 ,, x i p
na
19
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
20
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 9 Algoritmos Genticos (AGs)
21
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 9 Algoritmos Genticos (AGs)
22
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.
23
5.1 Deception Problem 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).
24
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.
6 Referncias
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. MICHALEWICZ, Z. Genetic Algorithms + Data Structures = Evolution Programs, 3rd edition, Springer, 1996.
25