Você está na página 1de 20

Programao de Expresso Gentica: um Novo Algoritmo Adaptvel para Resolver Problemas

Cndida Ferreira
1. candidaf@gene-expression-programming.com 2. http://www.gene-expression-programming.com 3. Departamento de Cincias Agrrias, Universidade dos Aores, Terra Ch, 9701-851, Angra do Herosmo, Portugal

A programao de expresso gentica, um algoritmo gentico com gentipo/fentipo (linear/nolinear), apresentada aqui pela primeira vez como uma nova tcnica para criao de programas de computador. A programao de expresso gentica usa cromossomas lineares de caracteres compostos por genes organizados estruturalmente numa cabea e numa cauda. Os cromossomas funcionam como genoma e esto sujeitos a modificao por meio de mutao, transposio, transposio para a raiz, transposio gnica, recombinao gnica, recombinao num e dois pontos. Os cromossomas codificam rvores de expresso, sendo estas o objecto da seleco. A criao destas duas entidades distintas (genoma e rvore de expresso) com funes diferentes, permite que o algoritmo tenha um grande desempenho: nos problemas de regresso simblica, induo de sequncias e empilhamento de blocos, o algoritmo supera a programao gentica em mais de duas ordens de grandeza, enquanto que no problema da classificao da densidade ele supera a programao gentica em mais de quatro ordens de grandeza. A galeria de problemas escolhida para ilustrar o poder e a versatilidade da expresso de programao gentica inclui, alm dos problemas mencionados acima, dois problemas de sntese lgica: o multiplexer de 11 bits e o problema da regra PG. 1. Introduo
A programao de expresso gentica (PEG) , semelhana dos algoritmos genticos (AGs) e da programao gentica (PG), um algoritmo gentico pois usa populaes de indivduos, selecciona os indivduos de acordo com a sua aptido e introduz variao gentica usando um ou mais operadores genticos [1]. A diferena fundamental entre os trs algoritmos reside na natureza dos indivduos: nos AGs os indivduos so cadeias lineares de tamanho fixo (cromossomas); na PG os indivduos so entidades no-lineares de diferentes tamanhos e formas (rvores analticas); e na PEG os indivduos so codificados em cadeias lineares de tamanho fixo (o genoma ou cromossoma) que so expressas posteriormente como entidades no-lineares com diferentes tamanhos e formas (representaes esquemticas simples ou rvores de expresso). Se tivermos em conta a histria da vida na Terra [2], podemos ver que a diferena entre os AGs e a PG superficial: ambos os sistemas utilizam somente um tipo de entidade que funciona tanto como genoma como corpo (fenoma). Estes sistemas esto condenados a ter uma de duas limitaes: se so fceis de manipular geneticamente, perdem em complexidade funcional (o caso dos AGs); se possuem um certo grau de complexidade funcional, so extremamente difceis de reproduzir com modificao (o caso da PG). Os GAs, com o seu genoma simples e uma diversidade estrutural e funcional limitadas, assemelham-se a um Mundo de ARN primitivo [2], enquanto que a PG com a sua diversidade estrutural e funcional se assemelha a um Mundo Proteico hipottico. Somente quando molculas capazes de replicao se associaram a molculas com actividade cataltica foi possvel criar sistemas mais complexos e, eventualmente, a primeira clula. Desde essa altura, o genoma e o fenoma presumem-se um ao outro e nenhum pode funcionar sem o outro. Similarmente, os cromossomas e as rvores de expresso da PEG presumemse mutuamente e nenhum existe isoladamente. As vantagens dum sistema como a PEG esto patentes na natureza, no entanto convm salientar as mais importantes: Primeiro, os cromossomas so entidades simples: lineares, compactas, relativamente pequenas, fceis de manipular geneticamente (replicar, mutar, recombinar, transpor, etc.). Segundo, as rvores de expresso (AEs) so exclusivamente a expresso do cromossoma respectivo; elas so as entidades sobre as quais a seleco opera, sendo, de acordo com a sua aptido, seleccionadas para se reproduzirem com modificao. Durante a reproduo so os cromossomas dos indivduos e no as AEs que so reproduzidos com modificao e transmitidos gerao seguinte. A aco conjunta dos cromossomas e das AEs implica a existncia dum sistema de traduo inequvoco para traduzir a linguagem dos cromossomas para a linguagem das AEs. A organizao estrutural dos cromossomas da PEG apresentada neste trabalho permite este tipo de interaco, pois qualquer modificao feita no genoma resulta sempre em AEs ou programas sintacticamente
1

correctos. De facto, o conjunto variado de operadores genticos desenvolvido para introduzir diversidade gentica nas populaes da PEG produz sempre AEs vlidas. Assim, a PEG um sistema de vida artificial muito simples capaz de adaptao e evoluo. Graas a estas caractersticas, a PEG extremamente verstil e supera imensamente as tcnicas evolutivas existentes. De facto, no problema mais complexo apresentado neste trabalho, a evoluo de regras para o problema da classificao da densidade em autmatos celulares , a PEG supera a PG em mais de quatro ordens de grandeza. No trabalho presente apresenta-se a organizao estrutural e funcional dos cromossomas da PEG; mostrase de que forma a linguagem dos cromossomas traduzida para a linguagem das AEs; como os cromossomas funcionam como gentipo e as AEs como fentipo; e como um programa individual criado, amadurecido e reproduzido, deixando descendentes com novas propriedades, logo capazes de adaptao. O trabalho procede com uma descrio detalhada da PEG e uma ilustrao desta tcnica com seis exemplos vindos de campos diferentes, comparando ao mesmo tempo o desempenho da PEG com a PG.

3.1. Grelhas de leitura aberta e genes A organizao estrutural dos genes da PEG mais facilmente compreendida em termos de grelhas de leitura aberta (GLAs). Em biologia, uma GLA ou sequncia

C ria r C ro m o ss o m a s d a P o p u la o In icia l

E x p re ss a r C ro m o sso m a s

E x e cu ta r C a d a P ro g ra m a

C a lcu la r A ptid o

Te rm in a r Ite ra r o u Te rm in a r? F im

2. Algoritmos de expresso gentica: uma resenha


O fluxograma dum algoritmo de expresso gentica (AEG) est representado na Figura 1. O processo comea com a criao aleatria dos cromossomas da populao inicial. Depois os cromossomas so expressos e a aptido de cada indivduo calculada. Os indivduos so posteriormente seleccionados de acordo com a aptido para se reproduzirem com modificao, deixando descendentes com caractersticas novas. Os indivduos desta nova gerao so, por sua vez, sujeitos ao mesmo processo de desenvolvimento: expresso dos genomas, confrontao com o ambiente de seleco e reproduo com modificao. O processo repetido por um nmero determinado de geraes ou at se encontrar uma soluo. Note-se que a reproduo inclui no s a replicao mas tambm a aco dos operadores genticos capazes de criar diversidade. Durante a replicao, o genoma copiado e transmitido gerao seguinte. Obviamente a replicao por si s incapaz de introduzir variao: somente com a aco dos restantes operadores que a variao gentica introduzida na populao. Estes operadores seleccionam aleatoriamente os cromossomas a ser modificados. Assim, um cromossoma pode tanto ser modificado por um ou vrios operadores ao mesmo tempo como no ser sequer modificado. Os detalhes da implementao dos operadores da PEG esto descritos na seco 5.

Ite ra r C o n s e rva r M e lh o r P ro g ra m a

S e le c cio n a r P ro g ra m as

R e p lica o

M u ta o

Tra n sp o si o IS R e p ro d u o

Tra n sp o si o R IS

Tra n sp o si o G n ica

R e co m b in a o P o n tu a l

R e co m b in a o e m 2 P o n to s

R e co m b in a o G n ica

3. O genoma dos indivduos da PEG


P re p a ra r P ro g ra m a s da G e ra o S e g u in te

Na PEG, o genoma ou cromossoma uma cadeia linear simblica de tamanho fixo, composta por um ou mais genes. Veremos que apesar do seu tamanho fixo, os cromossomas da PEG codificam para AEs com diferentes tamanhos e formas.

Figura 1. Fluxograma dum algoritmo de expresso gentica.


2

codificadora dum gene, comea com o codo de iniciao, continua com os codes dos aminocidos, e acaba no codo de terminao. No entanto, um gene mais do que a GLA respectiva, com sequncias a montante do codo de iniciao e sequncias a jusante do codo de terminao. Na PEG, apesar do codo de iniciao ser sempre a primeira posio dum gene, o ponto de terminao nem sempre coincide com a ltima posio do gene. comum os genes da PEG terem regies no-codificadoras a jusante do ponto de terminao. (Por enquanto no vamos considerar estas regies no-codificadoras j que elas no interferem com o produto da expresso.) Considere, por exemplo, a expresso algbrica:

Q *

a a b

Q a

a +b c d

(3.1)

Tambm pode ser representada como um diagrama ou AE:


Q * + a b c d

onde Q representa a funo raiz quadrada. Este tipo de diagramas constituem de facto o fentipo dos indivduos da PEG, sendo o gentipo facilmente inferido a partir do fentipo como se indica: 01234567 Q*+-abcd

(3.2)

isto , a leitura directa da AE da esquerda para a direita e de cima para baixo. A expresso 3.2 uma GLA, comeando em Q (posio 0) e terminando em d (posio 7). Estas GLAs foram designadas expresses K (de Karva, o nome que eu escolhi para a linguagem da PEG). Note-se que este ordenamento difere tanto das expresses postfix como prefix utilizadas em implementaes da PG com filas ou pilhas [3]. O processo inverso, isto , a traduo duma expresso K para uma AE, tambm muito simples. Considere outra GLA, a expresso K seguinte: 01234567890 Q*+*a*Qaaba

Olhando somente para a estrutura das GLAs da PEG, difcil ou mesmo impossvel perceber as vantagens desta representao, com excepo talvez da sua simplicidade e elegncia. No entanto, quando se analisam as GLAs no contexto dum gene, as vantagens desta representao tornam-se bvias. Como j referi, os cromossomas da PEG tm tamanho fixo e so compostos por um ou mais genes de tamanho igual. Portanto o tamanho do gene tambm fixo. Assim, na PEG, o que varia no o tamanho dos genes, mas sim o tamanho das GLAs. De facto, o tamanho duma GLA pode ser igual ou menor que o tamanho do gene. No primeiro caso, o ponto de terminao coincide com o fim do gene e no ltimo caso, o ponto de terminao est algures a montante do fim do gene. Qual ento a funo destas regies no-codificadoras nos genes da PEG? De facto, elas so a essncia da PEG e da evoluo, pois elas permitem a modificao do genoma usando qualquer operador gentico sem restries, produzindo sempre programas sintacticamente correctos sem necessitar de um processo complicado de edio ou de formas extremamente restringentes de implementar os operadores genticos. De facto, esta a diferena crucial entre a PEG e implementaes anteriores da PG, com ou sem genomas lineares (ver [4] para uma reviso sobre PG com genomas lineares). 3.2. Os genes da PEG Os genes da PEG so compostos por uma cabea e uma cauda. A cabea contm smbolos que representam tanto funes como terminais, enquanto que a cauda contm somente terminais. Para cada problema, o tamanho da cabea h escolhido, enquanto que o tamanho da cauda t uma funo de h e do nmero de argumentos da funo com mais argumentos (n), sendo calculada pela equao:

(3.3)

t = h (n - 1) + 1

(3.4)

O ponto de iniciao (posio 0) na GLA corresponde raiz da AE. Depois, por baixo de cada funo so colocados tantos ramos quantos os argumentos da funo. A montagem fica completa quando se forma uma linha de base composta somente por terminais (as variveis ou constantes utilizadas num problema). Neste caso, formase a seguinte AE:

Considere um gene composto de {Q, *, /, -, +, a, b}. Neste caso n = 2. Por exemplo, para um h = 10, t = 11 e o tamanho do gene 10+11=21. Um gene deste tipo est indicado abaixo (a cauda est assinalada a cheio): 012345678901234567890 +Q-/b*aaQbaabaabbaaab

(3.5)

Ele codifica a seguinte AE:

Q b a a Q a * b

Neste caso o ponto de terminao desloca-se vrias posies para a direita (posio 14). Obviamente, tambm acontece o contrrio, sendo a GLA encurtada. Por exemplo, considere o gene 3.5 acima e suponha que uma mutao ocorre na posio 5, modificando o * num a: 012345678901234567890 +Q-/baaaQbaabaabbaaab A sua expresso resulta na AE seguinte:

(3.8)

Neste caso, a GLA termina na posio 10, enquanto que o gene acaba na posio 20. Suponha agora que uma mutao ocorre na posio 9, modificando o b num +. Ento forma-se o gene seguinte: 012345678901234567890 +Q-/b*aaQ+aabaabbaaab E a sua expresso resulta em:

Q b a

(3.6)
a a

Q b a a Q a a b *

Neste caso o ponto de terminao desloca-se duas posies para a direita (posio 12). Suponha agora que ocorre uma modificao mais radical e os smbolos nas posies 6 e 7 no gene 3.5 acima, so substitudos respectivamente por + e *, criando o gene seguinte: 012345678901234567890 +Q-/b*+*Qbaabaabbaaab A sua expresso d:

Neste caso a GLA termina na posio 7, encurtando a AE original em trs ndulos. Apesar do seu tamanho fixo, cada gene tem potencial para codificar para AEs com diferentes tamanhos e formas, sendo a mais simples composta somente por um ndulo (quando o primeiro elemento de um gene um terminal) e a maior composta por tantos ndulos quantas as posies do gene (quando todos os elementos da cabea so funes com o nmero mximo de argumentos n). Os exemplos apresentados acima mostram claramente que qualquer modificao feita no genoma, independentemente do seu radicalismo, resulta sempre numa AE vlida. Obviamente, a organizao estrutural dos genes tem que ser preservada, mantendo sempre as fronteiras entre a cabea e a cauda e no permitindo que smbolos representantes de funes sejam introduzidos na cauda. Na seco 5 mostra-se o modo de funcionamento dos operadores genticos e de que forma eles modificam o genoma dos indivduos da PEG durante a reproduo. 3.3. Cromossomas multignicos

(3.7)

Q b * a a b a Q a * b

Os cromossomas da PEG so normalmente compostos por mais do que um gene de tamanhos iguais. Para cada problema ou corrida, o nmero de genes e o tamanho da cabea tm que ser escolhidos. Cada gene codifica para uma sub-AE e as sub-AEs interagem umas com as outras formando uma AE mais complexa com mltiplas subunidades. Os detalhes destas interaces sero explicados plenamente na seco 3.4. Considere, por exemplo, o cromossoma seguinte com 27 de tamanho e composto por trs genes (as caudas esto assinaladas a cheio): 012345678012345678012345678 -b*b abbab *Qb+ abbba -*Qa bbaba

(3.9)

O cromossoma tem trs GLAs, codificando cada GLA para uma sub-AE (Figura 2). A posio zero marca o incio de cada gene; o fim de cada GLA, no entanto, s se torna evidente depois da construo da sub-AE respectiva. Como se mostra na Figura 2, a primeira GLA acaba na posio 4 (sub-AE1); a segunda GLA acaba na posio 5 (sub-AE2); e a ltima GLA tambm acaba na posio 5 (subAE3). Assim, os cromossomas da PEG codificam para uma ou mais GLAs, cada uma expressando uma sub-AE particular. Dependendo do problema em questo, as sub-AEs podem ser seleccionadas individualmente de acordo com a aptido respectiva (por exemplo, em problemas com sadas mltiplas), ou ento podem formar uma AE mais complexa constituda por vrias subunidades e ser seleccionadas de acordo com a aptido da AE final composta por mltiplas subunidades. Os padres de expresso e os detalhes da seleco sero discutidos ao longo deste trabalho. No entanto, tenha presente que cada sub-AE ao mesmo tempo uma entidade separada e uma parte duma estrutura hierrquica mais complexa e, como em todos os sistemas complexos, o todo mais do que a soma das partes. 3.4. rvores de expresso e o fentipo Na natureza, o fentipo tem diversos nveis de complexidade, sendo o organismo o mais complexo. Mas os ARNs de transporte, as protenas, os ribossomas, as clulas, etc., tambm so produtos de expresso, e todos eles so, em ltima anlise, codificados pelo genoma. Ao contrrio do que acontece na natureza, na PEG a expresso da informao gentica muito simples. Mesmo assim, os cromossomas da PEG so compostos por uma ou mais GLAs e, por conseguinte, os indivduos codificados exibem diferentes nveis de complexidade. Os indivduos mais simples so codificados por um nico gene e, neste caso, o organismo o produto dum s gene uma AE. Noutros casos, o organismo uma AE de mltiplas subunidades, estando as subunidades unidas por uma funo particular. Noutros casos, o organismo emerge da organizao espacial de diferentes sub-AEs (por

exemplo, em problemas de planeamento e problemas com sadas mltiplas). E ainda noutros casos, o organismo emerge das interaces entre sub-AEs convencionais com domnios diferentes (por exemplo, em redes neuronais). Em todos os casos, no entanto, o organismo completo codificado por um genoma linear. 3.4.1. Modificaes ps-traducionais J vimos que a traduo resulta na formao de sub-AEs de diferente complexidade, mas a expresso completa da informao gentica requer que estas sub-AEs interactuem entre si. Uma das interaces mais simples, consiste na ligao das sub-AEs com uma funo particular. Este processo semelhante interaco das diferentes subunidades nas protenas com mltiplas subunidades. Quando as sub-AEs so expresses algbricas ou expresses booleanas, qualquer funo matemtica ou booleana com mais do que um argumento pode ser usada para ligar as sub-AEs numa AE final composta por mltiplas sub-AEs. As funes mais escolhidas so a adio para sub-AEs algbricas e OR ou IF para sub-AEs booleanas. Na verso usada neste trabalho, para cada problema, a funo de ligao escolhida a priori, mas ela pode ser facilmente introduzida no genoma, por exemplo, na ltima posio do cromossoma, e tambm ser sujeita a adaptao. De facto, resultados preliminares sugerem que este sistema funciona muito bem. A Figura 3 ilustra a ligao de duas sub-AEs pela adio. Note-se que a raiz da AE final (+) no codificada pelo genoma. Note-se tambm que a AE final poderia ser facilmente linearizada numa expresso K: 0123456789012 +Q**-bQ+abbba

(3.10)

No entanto, para evoluir solues para problemas complexos, os cromossomas multignicos so mais eficientes, pois eles permitem a construo modular de estruturas complexas e hierrquicas, em que cada gene

a)

-b*babbab*Qb+abbba-*Qabbaba
b)

Sub-AE1

Sub-AE2
*

Sub-AE3

b b

* a a

b a b

* b

Q b

Figura 2. Expresso dos genes da PEG como sub-AEs. a) Um cromossoma tri-gnico com as caudas salientadas a cheio. As setas indicam o ponto de terminao de cada gene. b) As sub-AEs codificadas por cada gene.
5

codifica para um pequeno bloco de construo. Estes pequenos blocos esto separados uns dos outros e, portanto, podem evoluir independentemente. Por exemplo, se tentssemos evoluir uma soluo para o problema da regresso simblica apresentado na seco 6.1 utilizando cromossomas uni-gnicos, a taxa de sucesso cairia significativamente (ver seco 6.1). Neste caso, a descoberta de blocos pequenos est mais limitada pois eles no esto livres para poderem evoluir de forma mais independente. Este tipo de experincias mostra que a PEG de facto um sistema de inveno poderoso e hierrquico capaz de evoluir facilmente blocos simples e us-los posteriormente na formao de estruturas mais complexas. A Figura 4 mostra um outro exemplo de modificao pstraducional, onde trs sub-AEs booleanas esto ligadas pela funo IF. Mais uma vez, a AE com mltiplas subunidades poderia ser linearizada na expresso K seguinte: 01234567890123456789012 IINAIAINu1ca3aa2acAOab2

oportunamente apresentados com os problemas da seco 6. O sucesso dum problema depende consideravelmente da forma como a funo de aptido desenhada: o objectivo deve ser clara e correctamente definido de forma a fazer o sistema evoluir no sentido pretendido. 4.1. Funes de aptido Uma aplicao importante da PEG a regresso simblica, em que o objectivo consiste em descobrir uma funo que tenha um bom desempenho para todos os casos de aptido, isto , devolva um valor que esteja dentro dum certo erro relativamente ao valor alvo. Em algumas aplicaes matemticas til utilizarem-se erros relativos ou absolutos relativamente baixos para se poderem descobrir solues adequadas. Mas se a margem de seleco for demasiado apertada, as populaes evolvem muito devagar e so incapazes de descobrir uma soluo correcta. Por outro lado, se se alargar a margem de seleco, aparecero inmeras solues com aptido mxima que estaro longe de ser solues adequadas. Para resolver este problema, arquitectou-se uma estratgia evolutiva que permite a descoberta de solues muito boas sem, no entanto, impedir a evoluo. Assim, permite-se que o sistema encontre por si s a melhor soluo possvel dentro dum erro mnimo. Para isso atribuise seleco uma margem de manobra bastante ampla, por exemplo, um erro relativo de 20-100%, que permite que o processo evolutivo arranque. De facto, estes indivduos iniciais de pouco servem, mas nas geraes futuras os seus descendentes adaptam-se lindamente, encontrando solues muito boas que progressivamente se aproximam da soluo perfeita. Matematicamente, para um caso de aptido, a aptido de um indivduo determinada pela equao:

(3.11)

Na Figura 5 est indicado um outro exemplo de modificao ps-traducional, onde as sub-AEs so do tipo mais simples (sub-AEs com um s elemento). Neste caso, as sub-AEs so ligadas 3 a 3 pela funo IF, depois estes agrupamentos so por sua vez tambm ligados 3 a 3 com outra funo IF, e estes ltimos agrupamentos tambm so ligados por um IF, formando uma AE final gigantesca composta por mltiplas subunidades. Este tipo de arquitectura cromossmica foi utilizado para evoluir solues para o problema do multiplexer de 11 bits apresentado na seco 6.5.2 e tambm para evoluir regras para o problema da densidade em autmatos celulares (resultados no apresentados). Mais uma vez, o indivduo da Figura 5 poderia ser convertido na expresso K seguinte: IIIIIIIIIIIII131u3ab2ubab23c3ua31a333au3 (3.12) E, por ltimo, a expresso completa de um cromossoma requer a execuo sequencial de planos pequenos, em que a primeira sub-AE faz uma parte do trabalho, a segunda continua a partir daquele ponto, etc. O plano final resulta da aco ordenada de todos os sub-planos (ver o problema do empilhamento de blocos apresentado na seco 6.3). O tipo de funo de ligao, o nmero de genes e o tamanho da cabea, so escolhidos a priori para cada problema. Por isso, pode-se sempre comear por usar um cromossoma de um s gene e aumentar gradualmente o tamanho da cabea; se se tornar excessivamente grande, pode-se aumentar o nmero de genes, escolhendo evidentemente uma funo para os ligar. Pode-se comear com a adio ou OR, mas noutros casos poder ser mais conveniente utilizar outra funo de ligao. O importante encontrar uma soluo boa, e a PEG oferece os meios para o fazer.

f =M E

(4.1)

4. Funes de aptido e seleco


Nesta seco so dados dois exemplos de funes de aptido. Outros exemplos de funes de aptido sero

em que M a margem de seleco e E o erro (relativo ou absoluto) entre o valor gerado pela AE e o valor alvo. Por exemplo, para um conjunto de 10 casos de aptido e um M = 100%, fmax = 1000 se todos os valores tiverem sido calculados exactamente ou se estiverem dentro dum certo valor (a preciso escolhida para o erro), por exemplo, 0,01%. Noutra aplicao importante da PEG, aprendizagem de conceitos booleanos ou sntese lgica, a aptido de um indivduo o nmero de casos de aptido para os quais ele apresenta um desempenho correcto. No entanto, para a maior parte das aplicaes booleanas, importante penalizar os indivduos capazes de resolver cerca de 50% dos casos de aptido, pois isto reflecte, quase pela certa, os 50% de probabilidade de acertar numa funo booleana. Por conseguinte, aconselhvel seleccionarem-se somente indivduos capazes de resolver mais de 50-75% dos casos de aptido. Abaixo deste limite, pode atribuir-se um valor simblico aptido, por exemplo, um ponto de aptido. A maior parte das vezes o processo de evoluo arranca com estes indivduos pouco teis, pois eles so facilmente criados na populao inicial. Mas nas geraes futuras comeam a aparecer indivduos mais adequados, espalhando-se facilmente na populao. Para problemas
6

a)

012345678012345678 Q*Q+bbaaa*-babaabb
b)

Sub-AE1
Q * Q b b a a

Sub-AE2
* b b

c)

AE

Q * Q b b a a

* b b

Figura 3. Expresso dos cromossomas multignicos como rvores de expresso. a) Um cromossoma bi-gnico com as caudas salientadas a cheio. b) As sub-AEs codificadas por cada gene. c) O resultado da ligao ps-traducional com a adio.

a)

IIAIca3aa2acuNNAOab2u3c31cAu12ua3112cac Sub-AE1
I I c a 3 a A a 2 I a c O b 2

b)

Sub-AE2
N N A a

Sub-AE3
A u 1

c)

AE
I I N I a 2 a c O N A a 2 u A 1

I c a 3 a

Figura 4. Expresso dos cromossomas multignicos como rvores de expresso. a) Um cromossoma tri-gnico com as caudas salientadas a cheio (N uma funo de um argumento e representa NOT; A e O so funes de dois argumentos e representam, respectivamente, AND e OR; I uma funo de trs argumentos e representa IF; os smbolos restantes so terminais). b) As sub-AEs codificadas por cada gene. c) O resultado da ligao ps-traducional com IF.

a)

131u3ab2ubab23c3ua31a333au3
b)

AE
I I I I a b 2 u b I a b 2 I 3 c 3 I u a 3 I 1 a 3 I I 3 3 a I u 3

I 1 3 1 u

I 3

Figura 5. Expresso dos cromossomas multignicos como rvores de expresso. a) Um cromossoma 27-gnico composto por genes de um s elemento. b) O resultado da ligao ps-traducional com IF.

simples, como por exemplo funes booleanas de 2-5 argumentos, isto no muito importante, mas para problemas mais complexos conveniente escolher-se um patamar para a seleco. Para esses problemas pode utilizarse a seguinte funo:
Se i
3 4

C , e nt o f = i ; d e c ontrrio f = 1

(4.2)

onde i o nmero de casos de aptido correctamente determinados e C o nmero total de casos de aptido. 4.2. Seleco

particular pode ser escolhido por nenhum ou por vrios operadores genticos capazes de introduzir variao na populao. Esta caracterstica tambm destingue a PEG da PG, onde uma entidade nunca modificada por mais do que um operador ao mesmo tempo [6]. Desta forma, na PEG, as modificaes dos vrios operadores genticos vose acumulando durante a reproduo, produzindo descendentes muito diferentes dos progenitores. A seco procede com a descrio detalhada dos operadores genticos da PEG, comeando obviamente com a replicao. 5.1. Replicao

Na PEG, os indivduos so seleccionados de acordo com a aptido, sendo o sorteamento feito por roleta [5]. Na verdade, ainda no foram testados outros mtodos de seleco, tendo este sido escolhido por simular a natureza mais fielmente. verdade que com este mtodo se perdem frequentemente os melhores indivduos, mas isto at pode trazer algumas vantagens e fazer as populaes saltar para picos de aptido distantes. Claro que isto merece um estudo detalhado, mas o alto desempenho da PEG indica que este algoritmo consegue andar (eu diria at voar) eficientemente pela paisagem da aptido. De todas as formas, foi implementado um tipo de elitismo bastante simples onde o melhor indivduo duma gerao clonado, nunca se perdendo a melhor caracterstica.

Apesar de vital, a replicao o operador menos interessante: por si s ele no contribui com nada para a diversidade gentica. (De facto, a replicao, juntamente com a seleco, s capaz de causar deriva gentica.) De acordo com a aptido e a sorte da roleta, os cromossomas so exactamente copiados para a gerao seguinte. Quanto mais apto o indivduo, maior a probabilidade de deixar mais descendncia. Assim, durante a replicao, os genomas dos indivduos seleccionados so copiados tantas vezes quantas as vezes que foram sorteados na roleta. A roleta gira tantas vezes quantos os indivduos da populao, mantendo sempre o mesmo nmero de indivduos na populao. 5.2. Mutao

5. Reproduo com modificao


De acordo com a aptido e a sorte na roleta, os indivduos so seleccionados para se reproduzirem com modificao, criando a diversidade gentica necessria que permite a adaptao a longo prazo. excepo da replicao, que copia os genomas de todos os indivduos seleccionados, todos os outros operadores escolhem aleatoriamente os cromossomas a ser sujeitos a modificao. No entanto, e excepo da mutao, cada operador s modifica um cromossoma determinado uma s vez. Por exemplo, para uma taxa de transposio de 0,7, sete cromossomas diferentes dum total de 10 so escolhidos aleatoriamente. Acrescente-se, no entanto, que na PEG um cromossoma As mutaes podem ocorrer em qualquer ponto do cromossoma. No entanto, a organizao estrutural do cromossoma tem que ser conservada. Nas cabeas qualquer smbolo pode ser trocado por outro (funo ou terminal); nas caudas os terminais s podem trocar com terminais. Desta forma, a organizao estrutural do cromossoma mantida e todos os indivduos novos produzidos pela mutao so programas estruturalmente correctos. Tipicamente utilizada uma taxa de mutao (pm) equivalente a 2 mutaes pontuais por cromossoma. Considere o cromossoma seguinte, composto por 3 genes: 012345678012345678012345678 -+-+abaaa/bb/ababb*Q*+aaaba
8

Suponha que uma mutao alterou o elemento na posio 0 do gene 1 para Q; o elemento na posio 3 no gene 2 para Q; e o elemento na posio 1 no gene 3 para b, obtendo: 012345678012345678012345678 Q+-+abaaa/bbQababb*b*+aaaba Note-se que se uma funo for trocada por um terminal ou vice versa, ou se uma funo de um argumento for trocada por outra de dois argumentos ou vice versa, a AE modificada drasticamente. Note-se tambm que a mutao no gene 2 um exemplo de uma mutao neutra, pois ocorreu na regio no-codificadora do gene. Convm salientar que na PEG no h qualquer tipo de restrio tanto no tipo de mutao como no nmero de mutaes por cromossoma: em todos os casos os indivduos criados de novo so programas sintacticamente correctos. Na natureza, uma mutao pontual na regio codificadora dum gene, pode modificar ligeiramente a estrutura duma protena, ou ento pode nem sequer alterla, pois as mutaes neutras so bastante frequentes (por exemplo, mutaes em intres, mutaes que resultam no mesmo aminocido devido redundncia do cdigo gentico, etc.). Aqui, apesar de existirem mutaes neutras, uma mutao na sequncia codificadora dum gene tem um efeito muito mais profundo, modificando quase sempre a AE de forma drstica. Ao contrrio do pensamento corrente em computao evolutiva, esta capacidade para transformar profundamente a AE fundamental para a evoluo. Uma anlise exaustiva dos operadores da PEG est aqum do mbito deste trabalho, no entanto, os resultados aqui apresentados mostram claramente que o desejo humanamente compreensvel de no desmantelar os blocos funcionais que aparecem nas AEs e de os recombinar cuidadosamente (como feito na PG) conservador e funciona mal. Num sistema de genotipo/fentipo como a PEG, o sistema capaz de encontrar formas muito mais eficientes de criar e de usar estes blocos funcionais. As formas do sistema, no entanto, s se tornam evidentes quando emergem na rvore de expresso. 5.3. Transposio e sequncias de insero Os elementos de transposio da PEG so fragmentos do genoma que podem ser activados e saltar para outro stio no cromossoma. Na PEG existem trs tipos de elementos de transposio: i) pequenos fragmentos com uma funo ou terminal na primeira posio que saltam para a cabea dos genes, excepo da raiz (elementos IS, do ingls insertion sequence elements); ii) pequenos fragmentos com uma funo na primeira posio que saltam para a raiz (elementos RIS, do ingls root IS elements); e iii) genes inteiros que saltam para o incio dos cromossomas. A existncia de elementos IS e RIS um vestgio do processo de desenvolvimento da PEG, pois o primeiro algoritmo de expresso gentica tinha somente cromossomas uni-gnicos e, naqueles sistemas, um gene com um terminal na raiz de pouco servia. Aps a introduo

de cromossomas multignicos, esta caracterstica foi conservada pois estes operadores so importantes para a compreenso dos mecanismos de variao gentica. De facto, o poder de transformao destes operadores mostra claramente que no faz sentido ser-se conservador em computao evolutiva. Por exemplo, a insero na raiz (o operador com um efeito mais profundo) por si s capaz de encontrar solues criando padres repetitivos (este um dos padres observados, mas outros existem certamente). 5.3.1. Transposio de elementos IS Qualquer sequncia no genoma se pode tornar num elemento IS. Por conseguinte, estes elementos so seleccionados aleatoriamente ao longo de todo o genoma. feita uma cpia do transposo que inserida em qualquer ponto na cabea dum gene, excepo da primeira posio. Usualmente utiliza-se uma taxa de transposio IS (pis) de 0,1 e um conjunto de trs elementos IS de tamanhos diferentes. Este operador escolhe aleatoriamente o cromossoma, o incio do elemento IS, o stio alvo e o tamanho do transposo. Considere o cromossoma abaixo indicado, composto por dois genes:
012345678901234567890012345678901234567890 *-+*a-+a*bbabbaabababQ**+abQbb*aabbaaaabba

Suponha que a sequncia bba no gene 2 (posies 1214) era escolhida para ser um elemento IS e que o stio alvo era a ligao 6 no gene 1 (entre as posies 5 e 6). Ento faz-se um corte na ligao 6 no gene 1 e o bloco bba copiado e inserido neste stio, obtendo-se:
012345678901234567890012345678901234567890 *-+*a-bba+babbaabababQ**+abQbb*aabbaaaabba

Durante a transposio, a sequncia a montante do stio de insero fica inalterada, enquanto que a sequncia a jusante do elemento IS copiado perde, no fim da cabea, tantos smbolos quantas as posies no elemento IS (neste caso a sequncia a*b foi removida). Note-se que, apesar desta insero, a organizao estrutural dos cromossomas foi mantida e portanto todos os indivduos criados por este operador so programas sintacticamente correctos. Note-se tambm que a transposio pode transformar radicalmente a AE e quanto mais acima for a insero mais profunda a transformao. 5.3.2. Transposio para a raiz Todos os elementos RIS comeam com uma funo, sendo por conseguinte escolhidos de entre as sequncias das cabeas. Assim, escolhido aleatoriamente um ponto numa cabea e o gene percorrido para jusante at que se encontre uma funo. Esta funo passa a ser a primeira posio do elemento RIS. Se no encontrar nenhuma posio, no faz nada. Usualmente utiliza-se uma taxa de transposio para a raiz (pris) de 0,1 e um conjunto de trs elementos RIS de tamanhos diferentes. Este operador escolhe aleatoriamente
9

o cromossoma, o gene a ser modificado, o incio do elemento RIS e o seu tamanho. Considere o cromossoma seguinte, composto por dois genes:
012345678901234567890012345678901234567890 -ba*+-+-Q/abababbbaaaQ*b/+bbabbaaaaaaaabbb

Suponha que a sequncia +bb no gene 2 foi escolhida para ser um elemento RIS. Neste caso, feita uma cpia do transposo para a raiz do gene, obtendo:
012345678901234567890012345678901234567890 -ba*+-+-Q/abababbbaaa+bbQ*b/+bbaaaaaaaabbb

situao diferente em aplicaes em que a funo de ligao no comutativa, por exemplo, a funo IF escolhida para ligar as sub-AEs no problema do multiplexer de 11 bits (seco 6.5.2). No entanto, o poder transformador deste operador manifesta-se quando ele conjugado com a recombinao. Por exemplo, se dois cromossomas contendo um gene idntico em posies diferentes recombinarem, o novo indivduo pode ficar com um gene duplicado. Sabe-se que a duplicao de genes desempenha um papel importante em biologia e na evoluo (ver [7] para uma referncia geral). Curiosamente, na PEG, comum o aparecimento de genes duplicados durante a resoluo de problemas. 5.4. Recombinao Existem trs tipos de recombinao na PEG: recombinao num ponto, em dois pontos e recombinao gnica. Em todos os casos, dois cromossomas progenitores so escolhidos aleatoriamente e emparelhados para trocar entre si algum material. 5.4.1. Recombinao pontual Durante a recombinao pontual, os cromossomas cruzamse num ponto escolhido aleatoriamente para formar dois cromossomas novos. Considere os progenitores abaixo indicados: 012345678012345678 -b+Qbbabb/aQbbbaab /-a/ababb-ba-abaaa Suponha que a ligao 3 no gene 1 (entre as posies 2 e 3) foi escolhido aleatoriamente para ponto de recombinao. Ento, os cromossomas emparelhados so cortados por esta ligao, trocando entre si o material a jusante do ponto de recombinao, formando a descendncia seguinte: 012345678012345678 -b+/ababb-ba-abaaa /-aQbbabb/aQbbbaab Com este tipo de recombinao, a maior parte das vezes, a descendncia criada exibe caractersticas diferentes das dos parentes. A recombinao pontual , como os operadores apresentados acima, uma fonte muito importante de variao gentica, sendo, aps a mutao, um dos operadores mais escolhidos na PEG. A taxa de recombinao pontual (p1r) utilizada depende das taxas dos outros operadores. Normalmente utiliza-se uma taxa de recombinao global (a soma das taxas dos trs tipos de recombinao) de 0,7. 5.4.2. Recombinao em dois pontos Na recombinao em dois pontos, os cromossomas so emparelhados, escolhendo-se aleatoriamente dois pontos para recombinao. O material entre os pontos de recombinao trocado posteriormente entre os dois
10

Durante a transposio para a raiz, a cabea inteira deslocada para acomodar o elemento RIS, perdendo, ao mesmo tempo, os ltimos smbolos da cabea (tantos quanto o tamanho do transposo). Tal como acontece com os elementos IS, a cauda do gene modificado e todos os restantes genes ficam inalterados. Repare-se tambm que todos os programas criados por este operador so sintacticamente correctos, pois a organizao estrutural do cromossoma mantida. As modificaes causadas pela transposio RIS so extremamente radicais porque a prpria raiz que modificada. Na natureza, se um transposo for inserido no incio da regio codificadora, causando uma mutao de deslocao de grelha, a protena correspondente modificada radicalmente . semelhana da mutao e da transposio IS, a insero na raiz tem um poder de transformao tremendo e ptima para criar diversidade gentica. Este tipo de operadores impede as populaes de ficarem estagnadas em ptimos locais, permitindo descobrir fcil e rapidamente solues muito boas. 5.3.3. Transposio gnica Na transposio gnica, um gene inteiro funciona como transposo e transferido para o incio do cromossoma. Ao contrrio do que acontece com as outras formas de transposio, na transposio gnica o transposo (o gene) removido na origem. Desta forma, o tamanho do cromossoma conservado. O cromossoma sujeito a transposio gnica escolhido aleatoriamente e um dos seus genes (com excepo de primeiro, obviamente) escolhido aleatoriamente para transpor. Considere o cromossoma seguinte, composto por trs genes: 012345678012345678012345678 *a-*abbab-QQ/aaabbQ+abababb Suponha que o gene 2 foi escolhido como transposo. Ento, obtm-se o seguinte: 012345678012345678012345678 -QQ/aaabb*a-*abbabQ+abababb Note-se que para aplicaes numricas em que a funo de ligao a adio ou a multiplicao, a expresso calculada pelo cromossoma no modificada. Mas a

cromossomas, formando-se dois cromossomas novos. Considere os seguintes cromossomas progenitores: 0123456789001234567890 +*a*bbcccac*baQ*acabab-[1] *cbb+cccbcc++**bacbaab-[2] Suponha que a ligao 7 no gene 1 (entre as posies 6 e 7) e a ligao 3 no gene 2 (entre posies 2 e 3) foram escolhidas como pontos de recombinao. Ento, os cromossomas so cortados por estas ligaes e o material entre os pontos de recombinao trocado, formando a descendncia seguinte: 0123456789001234567890 +*a*bbccbcc++*Q*acabab-[3] *cbb+ccccac*ba*bacbaab-[4] Note-se que o primeiro gene , em ambos os progenitores, cortado a jusante do ponto de terminao. De facto, as regies no-codificadoras dos genes da PEG so regies ideais por onde os cromossomas podem ser cortados para recombinao sem interferir com as GLAs. Note-se tambm que o segundo gene do cromossoma 1 foi igualmente cortado a jusante do ponto de terminao. Mas o gene 2 do cromossoma 2 foi cortado a montante do ponto de terminao, modificando profundamente a sub-AE. Notese ainda que quando estes cromossomas recombinaram, a regio no-codificadora do cromossoma 1 foi activada e integrada no cromossoma 3. O poder transformador da recombinao em dois pontos maior que o da recombinao pontual, sendo bastante til para evoluir solues para problemas mais complexos, especialmente se se usarem cromossomas multignicos compostos por vrios genes. 5.4.3. Recombinao gnica Durante a recombinao gnica trocado um gene inteiro. Os genes trocados so escolhidos aleatoriamente e ocupam a mesma posio nos cromossomas parentais. Considere os progenitores seguintes: 012345678012345678012345678 /aa-abaaa/a*bbaaab/Q*+aaaab /-*/abbabQ+aQbabaa-Q/Qbaaba Suponha que o gene 2 foi escolhido para ser trocado. Neste caso forma-se a descendncia seguinte: 012345678012345678012345678 /aa-abaaaQ+aQbabaa/Q*+aaaab /-*/abbab/a*bbaaab-Q/Qbaaba Os indivduos criados contm genes vindos de ambos os parentes. Note-se que com este tipo de recombinao podem trocar-se genes semelhantes, mas na maior parte dos casos os genes trocados so muito diferentes entre si, introduzindo-se material novo na populao. importante salientar que este operador incapaz de criar genes novos: os indivduos criados so re-arranjos

diferentes de genes existentes. De facto, quando a recombinao gnica utilizada como a nica fonte de variao gentica, s possvel resolver problemas complexos se se utilizarem populaes muito grandes, garantindo, deste modo, a diversidade de genes necessria. No entanto, o poder criador da PEG baseia-se no s no baralhar de genes ou blocos mas tambm na criao permanente de material gentico.

6. A programao de expresso gentica na resoluo de problemas: seis exemplos


O conjunto de problemas escolhido para ilustrar o funcionamento deste algoritmo novo extremamente variado, incluindo no s problemas de reas muito diversas (regresso simblica, planeamento, sntese lgica e autmatos celulares) mas tambm problemas de grande complexidade (regras para o problema da classificao da densidade em autmatos celulares). costume compararem-se diferentes algoritmos evolutivos usando problemas com um grau de complexidade semelhante aos problemas da regresso simblica, da induo de sequncias, do empilhamento de blocos ou do multiplexer de 11 bits [8]. As comparaes so normalmente feitas em termos da probabilidade de sucesso e em termos do nmero mdio de clculos da funo de aptido necessrio para encontrar uma soluo correcta. Apesar das diferenas entre a PEG e a PG, o desempenho destas duas tcnicas pode ser facilmente comparado j que, graas representao em rvore, problemas semelhantes podem ser implementados de forma idntica. As comparaes so feitas em cinco dos problemas e, sempre que possvel, o desempenho da PEG e da PG avaliado em termos do nmero mdio de clculos da funo de aptido (Fz) necessrio para encontrar, com uma probabilidade z, uma soluo perfeita. O Fz calculado pela equao:

F z = G P C R z

(6.1)

onde G o nmero de geraes; P o tamanho da populao; C o nmero de casos de aptido; e Rz o nmero de corridas independentes necessrio para se encontrar um soluo perfeita ao fim de G geraes com z = 0,99 [6]. O Rz calculado pela frmula:

Rz =

lo g 1 z , e Ps 1 lo g ( 1 Ps )

(6.2)

onde Ps a probabilidade de sucesso; se Ps = 1, ento Rz = 1. 6.1. Regresso simblica O objectivo deste problema consiste na descoberta duma expresso que satisfaa um conjunto de casos de aptido. Suponha que nos davam uma amostra de valores numricos da funo y = a4 + a3 + a2 + a (6.3)
11

ao longo de 10 pontos escolhidos e que pretendamos descobrir uma funo que satisfizesse esses valores dentro de 0,01 do valor correcto. Antes de tudo, temos que escolher o conjunto de funes F e o conjunto de terminais T. Neste caso o F = {+, -, *, /} e o T = {a}. Depois escolhe-se a organizao estrutural dos cromossomas, designadamente o tamanho da cabea e o nmero de genes. aconselhvel comear com cromossomas pequenos e de um s gene, aumentando gradualmente a cabea. Na Figura 6 mostra-se uma anlise deste tipo para este problema. Utilizou-se uma p m equivalente a 2 mutaes pontuais por cromossoma e uma p1r = 0,7 em todas as experincias para simplificar a anlise. O conjunto de casos de aptido est indicado na Tabela 1 e a aptido foi calculada pela equao 4.1, sendo M um erro absoluto de 100. Se o E for igual ou menor que 0,01 (a preciso escolhida para este problema), ento E = 0; assim para C = 10, fmax = 1000.
90

Tabela 1. Conjunto de casos de aptido usados no problema da regresso simblica.

a 2,8 1 6 7,0 43 8 10 11,38 12 14 15 20

f(a) 95 2,42 5 15 54 28 66,5 5 46 80 1111 0 18 386 22 620 41 370 54 240 16 842 0

80

70

60

50

40

30

20

que equivalente funo alvo. Note-se tambm que a PEG capaz de evoluir eficientemente solues utilizando sub-AEs grandes e complexas. Como se mostra na Figura 6, para cada problema existe um tamanho de cromossoma que ptimo para evoluir eficientemente solues. Convm salientar que os genomas mais compactos no so os mais eficientes. De onde se conclui que uma certa redundncia fundamental para se evolurem eficientemente bons programas. A relao entre a taxa de sucesso e P tambm foi analisada (Figura 7). Neste caso escolheu-se um h = 24. Estes resultados mostram a supremacia duma representao gentipo/fentipo, j que este sistema unignico, mais prximo da PG, supera consideravelmente esta
100

Taxa de sucesso (%)

10 90 0 0 10 20 30 40 50 60 70 80 90 100 80

Tamanho do cromossoma

Taxa de sucesso (%)

Figura 6. Variao da taxa de sucesso (Ps) com o tamanho do cromossoma. Para esta anlise G = 50 e P = 30. A Ps foi determinada para 100 corridas idnticas.

70

60

Note-se que a PEG pode ser til para se procurar a soluo mais parcimoniosa para um problema. Por exemplo, o cromossoma 0123456789012 *++/**aaaaaaa com h = 6 codifica para a AE:
*

50

40

30

20

10

0 0 20 40 60 80 100 120 140 160 180 200

Tamanho da populao

* a a a a a

* a

Figura 7. Variao da taxa de sucesso (Ps) com o tamanho da populao. Para esta anlise G = 50 e um valor mdio de 49 foi utilizado como tamanho do cromossoma (h = 24). A Ps foi determinada para 100 corridas idnticas.
12

tcnica [6]. No entanto, a PEG muito mais complexa que um sistema uni-gnico, pois os cromossomas da PEG codificam para mais do que um gene. Suponha que aps a anlise apresentada na Figura 6, ainda no se tinha encontrado uma soluo correcta. Ento poderamos aumentar o nmero de genes e escolher uma funo para os ligar. Por exemplo, podamos escolher um h = 6 e aumentar o nmero de genes gradualmente. A Figura 8 mostra a variao da taxa de sucesso com o nmero de genes. Nesta anlise a p m foi equivalente a duas mutaes pontuais por cromossoma, p1r = 0,2, p2r = 0,5, pgr = 0,1, pis = 0,1, pris = 0,1, pgt = 0,1 e foram utilizados trs transposes (tanto elementos IS como RIS) de 1, 2 e 3 de tamanho. Note-se que a PEG lida perfeitamente com um excesso de genes: a taxa de sucesso para o sistema de 10 genes ainda bastante elevada (47%). Na Figura 9 apresenta-se outra relao muito importante: a variao da taxa de sucesso com o tempo evolutivo (G). Ao contrrio do que acontece na PG, em que a norma so 51 geraes pois nada de til se descobre depois disso [4], na PEG, as populaes vo-se adaptando e evoluindo indefinidamente porque est sempre a ser introduzido material novo no reservatrio gentico. Por ltimo, suponha que o sistema multignico com as sub-AEs ligadas pela adio tambm no tinha conseguido evoluir uma soluo satisfatria para o problema. Ento podamos escolher outra funo de ligao, por exemplo, a multiplicao. Este processo continuava at que se encontrasse uma soluo perfeita. Como j referi, os cromossomas da PEG podem ser facilmente modificados de forma a codificar tambm a funo de ligao. Neste caso, a funo de ligao ideal para cada problema seria encontrada durante o processo de adaptao.

100

90

80

70

Taxa de sucesso (%)

60

50

40

30

20

10

0 0 50 100 150 200 250 300 350 400 450 500

Nmero de geraes

Figura 9. Variao da taxa de sucesso (Ps) com o nmero de geraes. Para esta anlise P = 30, tendo sido utilizado um cromossoma com 79 de tamanho (um cromossoma uni-gnico com h = 39). A Ps foi determinada para 100 corridas idnticas.

Considere, por exemplo, um sistema multignico composto por trs genes ligados pela adio. Como se mostra na Figura 8, a taxa de sucesso tem neste caso o valor mximo de 100%. Na Figura 10 mostra-se a progresso da aptido mdia da populao e a aptido do melhor indivduo de cada gerao para a corrida 0 da experincia sumariada na Tabela 2, coluna 1. Nesta corrida, foi encontrada na gerao 11 uma soluo perfeita (as subAEs esto ligadas pela adio):

1000 100 900 90 800 80 700 Melhor Ind Apt mdia

70

Taxa de sucesso (%)

Aptido (max 1000)


0 1 2 3 4 5 6 7 8 9 10

60

600

50

500

40

400

30

300

20 200 10 100 0 0 0 10 20 30 40 50

Nmero de genes

Geraes

Figura 8. Variao da taxa de sucesso (Ps) com o nmero de genes. Para esta anlise G = 50, P = 30 e h = 6 (um gene com 13 de tamanho). A Ps foi determinada para 100 corridas idnticas.

Figura 10. Progresso da aptido mdia da populao e aptido do melhor indivduo da gerao para a corrida 0 da experincia sumariada na Tabela 2, coluna 1 (regresso simblica).
13

Tabela 2. Parmetros usados nos problemas da regresso simblica (RS), induo de sequncias (IS), empilhamento de blocos (EB) e 11-multiplexer (11-M).

N m e ro d e co rrid a s N m e ro d e ge ra e s Tam an h o d a po p ula o N m e ro d e ca so s d e ap tid o Tam an h o d a ca be a N m e ro d e g en e s Tam an h o d o cro m o ss om a Tax a d e m u ta o Tax a d e re c om bin a o p o ntu a l Tax a d e re c om bin a o e m 2 po n to s Tax a d e re c om bin a o g nica Tax a d e tra n sp os i o IS Tam an h o d o s e le m e n tos IS Tax a d e tra n sp os i o R IS Tam an h o d o s e le m e n tos R IS Tax a d e tra n sp os i o g nic a M a rg em de s ele c o E rro a b so luto Tax a d e su ce ss o

RS 1 00 50 30 10 6 3 39 0 ,05 1 0 ,2 0 ,5 0 ,1 0 ,1 1 ,2,3 0 ,1 1 ,2,3 0 ,1 1 00 0 ,01 1

IS 1 00 1 00 50 10 6 7 91 0 ,02 2 0 ,7 0 ,1 0 ,1 0 ,1 1 ,2,3 0 ,1 1 ,2,3 0 ,1 1 00 0 ,0 0 ,79

EB 1 00 1 00 30 10 4 3 27 0 ,07 4 0 ,1 -0 ,7 0 ,1 1 0 ,1 1 ---0 ,7

11-M 1 00 4 00 2 50 1 60 1 27 27 0 ,07 4 0 ,7 ---------0 ,57

012345678901201234567890120123456789012 **-*a+aaaaaaa++**a*aaaaaaa*+-a/aaaaaaaa Matematicamente ela corresponde funo alvo (a contribuio de cada sub-AE est indicada entre parntesis): y = (a4) + (a3 + a2 + a) + (0) = a4 + a3 + a2 + a A anlise detalhada deste programa, mostra que algumas das aces so redundantes para o problema em questo, como por exemplo, a adio de zero ou a multiplicao por um. No entanto, a existncia destes blocos desnecessrios ou mesmo pseudogenes como o gene 3, importante para a evoluo de indivduos mais aptos (comparar, nas Figuras 6 e 8, a taxa de sucesso dum sistema compacto com um nico gene e um h = 6 com outros sistemas menos compactos). A comparao dos valores de Fz obtidos pela PEG e pela PG [6] para este problema (Tabela 3, coluna 1), mostra

que a PEG supera a PG em 374 vezes, portanto, mais de duas ordens de grandeza. 6.2. Induo de sequncias O problema da induo de sequncias um caso particular de regresso simblica em que o domnio da varivel independente consiste nos nmeros naturais. No entanto, a sequncia escolhida para este problema mais complicada que a expresso usada na regresso simblica, devido existncia de coeficientes diferentes. Na sequncia 1, 15, 129, 547, 1593, 3711, 7465, 13539, 22737, 35983, 54321,..., o termo n (N) dado pela expresso:

N = 5 a n4 + 4 a n3 + 3 a n2 + 2 a n +1

(6.4)

onde an consiste nos nmeros naturais 0, 1, 2, 3,.... Para este problema F = {+, -, *, /} e T = {a]. O conjunto dos casos de aptido C est indicado na Tabela 4. A aptido foi calculada pela equao 4.1, sendo M = 100. Assim, se

Tabela 3. Comparao da PEG com a PG nos problemas da regresso simblica, induo de sequncias e empilhamento de blocos.

R egresso sim blica PEG G P C Ps Rz Fz 50 30 10 1 1 1 5 .0 0 0 P G [6 ] 51 500 20 0 ,3 5 11 5 .6 1 0 .0 0 0

Induo de sequncias PEG 100 50 10 0 ,7 9 3 1 5 0 .0 0 0 P G [6 ] 51 500 20 0 ,1 5 29 1 4 .7 9 0 .0 0 0

E m pilham ento de blocos PEG 100 30 10 0 ,7 4 1 2 0 .0 0 0 P G [8 ] 51 500 167 0 ,7 6 7 4 1 7 .0 3 4 .0 0 0


14

Tabela 4. Conjunto de casos de aptido para o problema da induo de sequncias.

y = (0) + (3a2) + (2a4 + 4a3) + (0) + (a) + (1+ a) + (3a4) Como se mostra na coluna 2 da Tabela 2, a probabilidade de sucesso para este problema de 0,79. A comparao dos valores de Fz obtidos para a PEG e para a PG [6] (Tabela 3, coluna 2) mostra que a PEG supera a PG em 98,6 vezes. Deve salientar-se, no entanto, que a PEG no s capaz de resolver este tipo de problemas de forma muito mais eficiente que a PG com tambm o faz sem usar a constante efmera aleatria R, que consiste num conjunto de nmeros escolhidos que limita consideravelmente a utilidade da tcnica. Por exemplo, para este problema o R escolhido cobria os nmeros inteiros 0, 1, 2 e 3 [6]. As vantagens da PEG so bvias porque, primeiro, em aplicaes reais nunca se sabe de antemo que tipo de constantes so necessrias e, segundo, o nmero de terminais muito menor, reduzindo-se a complexidade do problema. 6.3. Empilhamento de blocos No problema do empilhamento de blocos, o objectivo consiste em descobrir um plano que aceita qualquer configurao de blocos distribudos aleatoriamente entre a mesa e a pilha e os coloca na pilha na ordem correcta. Neste caso, os blocos so as letras da palavra universal. (Apesar de ter sido usada a palavra universal como ilustrao, na minha verso do problema os blocos podem ser idnticos, como por exemplo na palavra individual.) As funes e os terminais utilizados neste problema consistem num conjunto de aces e sensores, sendo F = {C, R, N, A} (carregar para a pilha, remover da pilha, NOT, e fazer at verdadeiro, respectivamente), onde as primeiras trs so funes de um argumento e A uma funo de dois argumentos. Nesta verso, os ciclos A so executados logo ao princpio, so processados numa ordem particular (de baixo para cima e da esquerda para a direita), o argumento da aco executado pelo menos uma vez independentemente do estado do predicado e cada fazer at verdadeiro executado uma s vez, terminando ao fim de 20 iteraes. O conjunto de terminais consiste em trs sensores {u, t, p} (ltimo bloco na pilha, bloco do topo correcto e prximo bloco necessrio, respectivamente). Nesta verso, o t refere-se somente ao bloco no topo da pilha e se ele est correcto ou no; se a pilha estiver vazia ou tiver alguns blocos, todos correctamente empilhados, o sensor devolve Verdadeiro, de contrrio devolve Falso; e o p refere-se obviamente ao bloco necessrio logo a seguir ao t. Para este problema foi utilizado um sistema multignico composto por trs genes. A ligao das sub-AEs consiste na execuo sequencial de cada sub-AE ou sub-plano. Por exemplo, se a primeira sub-AE esvaziar todas as pilhas, a segunda pode proceder com o seu preenchimento, etc. A aptido foi determinada contra 10 casos de aptido (configuraes iniciais de blocos). Em cada gerao criada uma pilha vazia, mais nove configuraes iniciais aleatrias contendo entre uma a nove letras na pilha. A pilha vazia foi utilizada para impedir a terminao prematura das corridas (ver abaixo). No entanto, a PEG capaz de resolver este problema eficientemente utilizando
15

a 1 2 3 4 5 6 7 8 9 10

N 15 12 9 54 7 15 93 37 11 74 65 13 539 22 737 35 983 54 321

os 10 casos de aptido forem calculados exactamente, a fmax = 1000. A Figura 11 mostra a progresso da aptido mdia da populao e a aptido do melhor indivduo para a corrida 0 da experincia sumariada na Tabela 2, coluna 2. Nesta corrida foi encontrada uma soluo perfeita na gerao 24 (as subAEs esto ligadas pela adio):
0123456789012012345678901201234567890120123456789012... **++--aaaaaaa*+/+a*aaaaaaa*+*+*+aaaaaaa*-***+aaaaaaa... ...012345678901201234567890120123456789012 ...*a/+a-aaaaaaa-+-/**aaaaaaa**+a*+aaaaaaa

Matematicamente ela corresponde sequncia alvo (a contribuio de cada sub-AE est indicada entre parntesis):
1000

900

800

700

Melhor Ind Apt mdia

Aptido (max 1000)

600

500

400

300

200

100

0 0 20 40 60 80 100

Geraes

Figura 11. Progresso da aptido mdia da populao e aptido do melhor indivduo da gerao para a corrida 0 da experincia sumariada na Tabela 2, coluna 2 (induo de sequncias).

exclusivamente 10 configuraes iniciais aleatrias (resultados no apresentados). A funo de aptido utilizada foi a seguinte: a cada pilha vazia foi atribudo um ponto de aptido; a cada pilha parcial e correctamente empilhada (isto , com 1 a 8 letras no caso da palavra universal) foram atribudos dois pontos de aptido; e por cada pilha completa e correctamente preenchida foram atribudos trs pontos de aptido. Assim, a aptido mxima igual a 30. A ideia era fazer a populao de programas evoluir hierarquicamente solues no sentido duma maior complexidade at chegar a um plano perfeito. E de facto, os primeiros planos teis descobertos normalmente esvaziam todas as pilhas, depois surgem outros programas que j so capazes de preencher parcialmente as pilhas previamente esvaziadas e, por ltimo, descoberto um plano perfeito que preenche as pilhas correcta e completamente (ver a Figura 12). A Figura 12 mostra a progresso da aptido mdia da populao e a aptido do melhor indivduo de cada gerao da corrida 2 da experincia sumariada na Tabela 2, coluna 3. Nesta corrida foi descoberto um plano perfeito na gerao 50: 012345678012345678012345678 ARCuptppuApNCptuutNtpRppptp Note-se que o primeiro sub-plano esvazia todas as pilhas e coloca uma letra correctamente no stio; o segundo sub-plano procede com o empilhamento correcto das restantes letras; e o ltimo plano no faz nada. Convm salientar que todos os planos descobertos com aptido mxima so, de facto, planos perfeitos e universais: em cada gerao eles so testados contra nove configuraes

iniciais completamente aleatrias, o que mais do que suficiente para permitir uma generalizao do problema (como se pode ver na Figura 12, uma vez alcanada, a aptido mxima mantm-se). De facto, com a funo de aptido utilizada e o tipo de casos de aptido usados, todos os planos com aptido mxima so planos universais. Como indicado na terceira coluna da Tabela 2, a probabilidade de sucesso para este problema 0,70. A comparao dos valores de Fz obtidos pela PEG e pela PG para este problema (Tabela 3, coluna 3) mostra que a PEG supera a PG em 142 vezes, portanto mais de duas ordens de grandeza. Convm salientar que a PG usa 167 casos de aptido, extremamente bem arquitectados para cobrir as vrias classes de possveis configuraes iniciais, enquanto que a PEG utiliza 9 (dum total de 10) configuraes totalmente aleatrias. De facto, nas aplicaes reais nem sempre possvel prever o tipo de casos que faro o sistema descobrir uma soluo. Por isso, os algoritmos capazes de generalizar facilmente mediante casos de aptido aleatrios so mais vantajosos. 6.4. Evoluo de regras para o problema da classificao da densidade em autmatos celulares Os autmatos celulares (ACs) tm sido amplamente estudados, pois tratam-se de verses idealizadas de sistemas computacionais maciamente paralelos e descentralizados, capazes de comportamentos emergentes. Estes comportamentos complexos resultam da execuo simultnea de regras simples em mltiplos pontos locais. Na tarefa da classificao da densidade, uma regra simples envolvendo uma vizinhana restrita e operando simultaneamente em todas as clulas dum AC de uma dimenso, tem que ser capaz de fazer o AC convergir para um estado de tudo 1s se a configurao inicial (CI) tiver uma maior densidade de 1s, ou para um estado de tudo 0s se a CI tiver um maior nmero de 0s. A capacidade dos AGs para evolurem regras para o problema da calssificao da densidade em ACs foi intensivamente investigada [9, 10, 11, 12], mas as regras descobertas pelos AGs tm rendimentos muito baixos e esto longe de se aproximar da exactido da regra GKL, uma regra desenhada mo. A PG tambm foi utilizada para evoluir regras para a tarefa da densidade [13], tendo conseguido descobrir uma regra que supera a regra GKL e outras regras desenhadas mo. Nesta seco, mostra-se como a PEG foi aplicada com sucesso a este problema difcil. As regras descobertas pela PEG tm nveis de preciso de 82,513% e 82,550%, portanto so superiores a todas as regras escritas mo e regra descoberta pela PG. 6.4.1. A tarefa da classificao da densidade O AC mais simples uma cadeia circular de N clulas de estado binrio, em que cada clula est ligada a r vizinhas de ambos os lados. O estado de cada clula actualizado por uma regra particular. A regra aplicada simultaneamente em todas as clulas e o processo iterado por t passos. Na verso mais estudada deste problema, N = 149 e a vizinhana 7 (a clula central representada por u; as
16

30

25

Melhor Ind Apt mdia

20

Aptido (max 30)

15

10

0 0 10 20 30 40 50 60 70 80 90 100

Geraes

Figura 12. Progresso da aptido mdia da populao e aptido do melhor indivduo da gerao para a corrida 2 da experincia sumariada na Tabela 2, coluna 3 (empilhamento de blocos).

r = 3 clulas para a esquerda so representadas por c, b e a; as r = 3 clulas para a direita so representadas por 1, 2 e 3). Portanto, a dimenso do universo de regras onde procurar uma soluo para este problema, o nmero astronmico de 2128. A figura 13 mostra um AC com um N = 11 e o estado actualizado para o autmato celular u depois da aplicao duma regra de transio determinada.
c t = 0 t =1 1 1 0 b 1 a 0 u 1 1
1 2 3

Tabela 5. Parmetros usados no problema da classificao da densidade.

Figura 13. Um autmato celular unidimensional, binrio, com r = 3 e N = 11. As setas representam as condies peridicas de ligao. O estado actualizado da clula central est indicado. Os smbolos utilizados para representar a vizinhana tambm esto indicados.

N m e ro d e ge ra e s Ta m an h o d a po p ula o N m e ro d e C Is Ta m an h o d a ca be a N m e ro d e ge n e s Ta m an h o d o cro m o ss o m a Ta x a d e m u ta o Ta x a d e re c om b in a o p o ntu a l Ta x a d e tra n sp o si o IS Ta m an h o d o s e le m en to s IS Ta x a d e tra n sp o si o R IS Ta m an h o d o s e le m en to s R IS

PEG1 50 30 25 17 1 52 0 ,03 8 0 ,5 0 ,2 1 ,2,3 0 ,1 1 ,2,3

PEG2 50 50 1 00 4 3 39 0 ,05 1 0 ,7 -----

A tarefa da classificao da densidade consiste em determinar correctamente se as CIs contm uma maioria de 1s ou uma maioria de 0s, fazendo o sistema convergir, respectivamente, para uma estado de tudo 1s (clulas pretas ou ligadas no diagrama espao-temporal) e para um estado de tudo 0s (clulas brancas ou desligadas). Sendo a densidade duma CI uma funo de N argumentos, as aces de clulas locais com informao e comunicao limitadas tm que estar coordenadas umas com as outras para que possam classificar correctamente as CIs. De facto, a descoberta de regras com um alto desempenho um desafio, tendo sido utilizados vrios algoritmos para descobrir regras cada vez melhores [10, 12, 13, 14]. As melhores regras existentes tm desempenhos de 86,0% (coevoluo 2) e 85,1% (coevoluo 1) e foram descobertas utilizando uma abordagem coevolutiva entre regras evoludas pelos AGs e classes de CIs [14]. No entanto, o objectivo desta seco comparar o desempenho da PEG com os outros algoritmos genticos (AGs e PG) quando aplicados a um problema difcil. E de facto, a PEG conseguiu evoluir regras melhores que a regra descoberta pela PG (regra PG), usando recursos computacionais que so mais de quatro ordens de grandeza inferiores aos utilizados pela PG. 6.4.2. Duas regras descobertas pela PEG Numa experincia F = {A, O, N, I} (A representa a funo booleana AND, O representa OR, N representa NOT e I representa IF) e o T = {c, b, a, u, 1, 2, 3}. Os parmetros utilizados por corrida esto apresentados na Tabela 5, coluna 1. A aptido foi determinada contra 25 CIs imparciais (casos de aptido). Neste caso, a aptido uma funo do nmero de CIs para as quais o sistema estabiliza correctamente numa configurao de tudo 0s ou 1s aps 2x N passos, tendo sido desenhada com o intuito de privilegiar os indivduos capazes de classificar correctamente CIs tanto com uma maioria de 1s como com uma maioria de 0s. Assim, se o sistema convergir indiscriminadamente, em todos os casos, para uma configurao de tudo 1s ou 0s, atribudo somente um ponto de aptido; se, nalguns casos, o sistema convergir correctamente ou para uma configurao de 0s ou para uma configurao de 1s, ento f = 2; alm do

mais, se as regras convergirem para uma configurao alternada de tudo 0s e tudo 1s so eliminadas, pois estas regras so facilmente descobertas e invadem as populaes, impedindo a descoberta de solues boas; e, por ltimo, se um programa particular classificar correctamente CIs tanto com maiorias de 1s como com maiorias de 0s, atribudo um bnus igual ao nmero de CIs, C, sendo neste caso f = i + C. Por exemplo, se um programa classificasse correctamente duas CIs, uma com uma maioria de 1s e outra com uma maioria de 0s, receberia 2+25=27 pontos de aptido. Nesta experincia foram feitas sete corridas. Na gerao 27 da corrida 5, foi descoberto um programa com uma aptido de 44:
0123456789012345678901234567890123456789012345678901 OAIIAucONObAbIANIb1u23u3a12aacb3bc21aa2baabc3bccuc13

Note-se que a GLA termina na posio 28. Este programa tem um desempenho de 0,82513 testado contra 100.000 CIs imparciais num mosaico de 149x298, sendo portanto melhor que os 0,824 da regra PG testada num mosaico de 149x320 [14, 13]. A tabela de verdade desta regra (regra PEG1) est representada na Tabela 6. Na Figura 14 mostramse trs diagramas espao-temporais obtidos com esta regra. Comparativamente, a PG utilizou populaes de 51.200 indivduos e 1000 CIs por 51 geraes [13], portanto foram feitos 51.200x1.000x51 = 2.611.200.000 clculos de aptido, enquanto que a PEG fez somente 30x25x50 = 37.500 clculos de aptido. Portanto, a PEG supera a PG em mais de quatro ordens de grandeza (69.632 vezes). E como John Holland diz no seu livro Emergence: from chaos to order, In the sciences, three orders of magnitude is enough to call for a new science. (Nas cincias, trs ordens de grandeza suficiente para a criao duma nova cincia.) De facto, na natureza, o aparecimento duma entidade nica, consistindo num gentipo e num fentipo levou ao aparecimento da vida. Uma regra ligeiramente superior PEG1 foi descoberta noutra experincia, tendo um desempenho de 0,8255. Como a anterior, o seu desempenho foi determinado usando 100.000 CIs imparciais num mosaico de 149x298. Para esta experincia F = {I, M} (I representa IF e M representa a
17

Tabela 6. Descrio de duas regras novas (PEG1 e PEG2) para o problema da classificao da densidade descobertas pela PEG. A regra PG tambm se indica. Os bits de sada esto assinalados por ordem lexicogrfica, comeando em 0000000 e acabando em 1111111.

PEG 1

00010001 00000000 01010101 00000000 00010001 00001111 01010101 00001111 00010001 11111111 01010101 11111111 00010001 11111111 01010101 11111111 00000000 01010101 00000000 01110111 00000000 01010101 00000000 01110111 00001111 01010101 00001111 01110111 11111111 01010101 11111111 01110111 00000101 00000000 01010101 00000101 00000101 00000000 01010101 00000101 01010101 11111111 01010101 11111111 01010101 11111111 01010101 11111111

PEG 2

R e gra P G

funo maioria com trs argumentos), sendo o T obviamente o mesmo. Neste caso, foram usadas 100 CIs imparciais e cromossomas tri-gnicos com as sub-AEs ligadas pela funo booleana IF. Os parmetros utilizados por corrida esto indicados na segunda coluna da Tabela 5. A funo de aptido foi ligeiramente modificada pela introduo dum sistema hierrquico em que os indivduos capazes de classificar correctamente entre 2 e 3/4 das CIs recebem um bnus igual a C; se classificarem correctamente entre 3/4 e 17/20 das CIs recebem 2 bnus; e se classificarem correctamente mais de 17/20 das CIs recebem 3 bnus. Alm do mais, nesta experincia, os indivduos capazes de classificar correctamente somente um tipo de situao, mas no de forma indiscriminada, so diferenciados e tm uma aptido de i. Na gerao 43 da corrida 10 foi descoberto um indivduo com aptido 393: 012345678901201234567890120123456789012 MIuua1113b21cMIM3au3b2233bM1MIacc1cb1aa A sua tabela de verdade est apresentada na Tabela 6. Na Figura 15 mostram-se trs diagramas espao-temporais obtidos com esta regra (PEG2). Mais uma vez, a comparao com a PG mostra que a PEG supera a PG em 10.444 vezes.
a) 0 = 71
20 20

6.5. Sntese lgica A regra PG e o multiplexer de 11 bits so, respectivamente, funes booleanas de sete e de 11 actividades. Enquanto que a soluo para o 11-multiplexer uma funo booleana bem conhecida, a soluo da regra PG praticamente desconhecida, pois o programa evoludo pela PG [13] to complicado que no possvel perceber o que ele faz. Nesta seco mostra-se que a PEG pode ser eficientemente aplicada para evoluir expresses booleanas de vrios argumentos. Alm do mais, a organizao estrutural dos cromossomas utilizada para evoluir solues para o multiplexer de 11 bits, um exemplo duma organizao muito simples que pode ser utilizada eficientemente para resolver certos problemas. Por exemplo, esta organizao (genes de um elemento ligados por IF) foi aplicada com sucesso na evoluo de regras para o problema da classificao da densidade em ACs, tendo sido descobertas regras melhores que a regra GKL (resultados no apresentados). 6.5.1. O problema da regra PG Para este problema F = {N, A, O, X, D, R, I, M} (representando, respectivamente, NOT, AND, OR, XOR,
c) 0 = 75
20

b) 0 = 79

40

40

40

60

60

60

80

80

80

100

100

100

120

120

120

140

140

140

160

160

160

180

180

180

200

20

40

60

80

100

120

140

200

20

40

60

80

100

120

140

200

20

40

60

80

100

120

140

Figura 14. Trs diagramas espao-temporais da evoluo dos estados dos ACs obtidos com a regra PEG1. O nmero de 1s (0) na CI est indicado sobre cada diagrama. Em a) e b) os ACs convergiram correctamente para um padro uniforme; em c) convergiram incorrectamente para um padro uniforme.
18

a) 0 = 72
20 20

b) 0 = 76
20

c) 0 = 77

40

40

40

60

60

60

80

80

80

100

100

100

120

120

120

140

140

140

160

160

160

180

180

180

200

20

40

60

80

100

120

140

200

20

40

60

80

100

120

140

200

20

40

60

80

100

120

140

Figura 15. Trs diagramas espao-temporais da evoluo dos estados dos ACs obtidos com a regra PEG2. O nmero de 1s (0) na CI est indicado sobre cada diagrama. Em a) e b) os ACs convergiram, respectivamente, para uma configurao correcta de tudo 0s e tudo 1s; em c) no conseguiram convergir para um padro uniforme.

NAND, NOR, IF e Maioria, sendo a primeira uma funo de um argumento, a segunda at quinta funes de dois argumentos e as duas ltimas funes de trs argumentos) e T = {c, b, a, u, 1, 2, 3}. A tabela de verdade (27=128 casos de aptido) est representada na Tabela 6 e a aptido foi calculada pela equao 4.2. Assim, fmax = 128. Numa experincia foram descobertas trs solues:
MA3OOAMOAuOMRa1cc3cubcc2cu11ba2aacb331ua122uu1 X3RRMIMODIAIAAI3cauuc313bub2uc33ca12u233c22bcb MMOIOcXOMa3AXAu3cc112ucbb3331uac3cu3auubuu2ab1

A anlise cuidada destes programas mostra que a regra PG , como a regra GKL, uma funo de cinco argumentos: c, a, u, 1 e 3. 6.5.2. O problema do multiplexer de 11 bits

resolvido correctamente na sua totalidade. Assim, atribudo um total de 200 pontos de aptido por cada endereo correctamente descodificado, sendo a aptido mxima igual a 1600. A ideia era fazer o algoritmo descodificar um endereo de cada vez. E, de facto, os indivduos aprendem primeiro a descodificar primeiro um endereo, depois outro, at ao ltimo (ver Figura 16). Para resolver este problema foram utilizados cromossomas multignicos compostos por 27 genes, consistindo cada gene num terminal. Assim, no foram utilizadas funes nos cromossomas, mas as sub-AEs foram ligadas ps-traducionalmente por IF.
1600

1400

Melhor Ind Apt mdia

A tarefa do 11-multiplexer consiste na descodificao dum endereo binrio de 3 bits (000, 001, 010, 011, 101, 110, 111) e na devoluo do valor do registo correspondente (d0, d1, d2, d3, d4, d5, d6, d7). Assim, o 11-multiplexer uma funo de 11 argumentos: trs (de a0 a a2) determinam o endereo e oito (de d0 a d7) determinam a resposta. Como os cromossomas da PEG so constitudos por smbolos de um s caractere, o T = {a, b, c, 1, 2, 3, 4, 5, 6, 7, 8}, correspondendo, respectivamente a { a0, a1, a2, d0, d1, d2, d3, d4, d5, d6, d7}. Existem 211= 2048 combinaes possveis dos 11 argumentos da funo booleana do 11-multiplexer. Para este problema, em cada gerao, utilizada uma amostra aleatria das 2048 combinaes como casos de aptido. Os casos de aptido foram agrupados por endereo, tendo sido utilizado por cada endereo um sub-conjunto de 20 combinaes aleatrias. Portanto, o ambiente de seleco muda todas as geraes e consiste num total de 160 casos de aptido aleatrios. Neste caso, a aptido de um programa o nmero de casos de aptido para os quais o valor booleano devolvido o correcto, mais um bnus de 180 pontos por cada sub-conjunto de casos de aptido

1200

Aptido (max 1600)

1000

800

600

400

200

0 0 50 100 150 200 250 300 350 400

Geraes

Figura 16. Progresso da aptido mdia da populao e aptido do melhor indivduo da gerao para a corrida 1 da experincia sumariada na Tabela 2, coluna 4 (11-multiplexer).
19

Os parmetros utilizados por corrida esto indicados na coluna 4 da Tabela 2. A primeira soluo correcta foi encontrada na gerao 390 da corrida 1 (os terminais so unidos 3 a 3, formando uma AE com profundidade de 4, composta de 40 ndulos, correspondendo os primeiros 14 ndulos a IFs e os restantes aos caracteres do cromossoma; ver a expresso K 3.12 e a Figura 5): 3652bb5bbba4c87c43bcca62a51 sendo uma soluo universal para o problema do 11-multiplexer. Na Figura 16 mostra-se a progresso da aptido mdia da populao e a aptido do melhor indivduo de cada gerao para a corrida 1 da experincia sumariada na Tabela 2, coluna 4. Como se mostra na quarta coluna da Tabela 2, a PEG resolve o 11-multiplexer com uma taxa de sucesso de 0,57. de salientar que a PG foi incapaz de resolver o 11-multiplexer com populaes de 500 indivduos por 51 geraes [8], tendo s conseguido resolv-lo utilizando populaes de 4.000 indivduos [6].

Bibliografia
1. M. Mitchell, An Introduction to Genetic Algorithms, MIT Press, 1996. 2. J. Maynard Smith and E. Szathmry, The Major Transitions in Evolution, W. H. Freeman, 1995. 3. M. J. Keith and M. C. Martin, Genetic Programming in C++: Implementation Issues. In K. E. Kinnear, ed., Advances in Genetic Programming, MIT Press, 1994. 4. W. Banzhaf, P. Nordin, R. E. Keller, and F. D. Francone, Genetic Programming: An Introduction: On the Automatic Evolution of Computer Programs and its Applications, Morgan Kaufmann, 1998. 5. D. E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley, 1989. 6. J. R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection, Cambridge, MA: MIT Press, 1992. 7. C. K. Mathews, K. E. van Holde, and K. G. Ahern, Biochemistry, 3rd ed., Benjamin/Cummings, 2000. 8. U.-M. OReilly and F. Oppacher, A comparative analysis of genetic programming. In P. J. Angeline and K. E. Kinnear, eds., Advances in Genetic Programming 2, MIT Press, 1996. 9. M. Mitchell, P. T. Hraber, and J. P. Crutchfield, 1993. Revisiting the edge of chaos: Evolving cellular automata to perform computations. Complex Systems 7, 89-130. 10. M. Mitchell, J. P. Crutchfield, and P. T. Hraber, 1994. Evolving cellular automata to perform computations: Mechanisms and impediments. Physica D: 75, 361-391. 11. J. P. Crutchfield, and M. Mitchell, 1995. The evolution of emergent computation. Proceedings of the National Academy of Sciences, USA, 82, 10742-10746. 12. R. Das, M. Mitchell, and J. P. Crutchfield, 1994. A genetic algorithm discovers particle-based computation in cellular automata. In Y. Davidor, H.-P. Schwefel, and R. Mnner, eds., Parallel Problem Solving from Nature PPSN III. Springer-Verlag, 1994. 13. J. R. Koza, F. H. Bennett III, D. Andre, and M. A. Keane, M. A. Genetic Programming III: Darwinian Invention and Problem Solving. San Francisco: Morgan Kaufmann Publishers, 1999. 14. H. Juill, and J. B. Pollack. Coevolving the ideal trainer: Application to the discovery of cellular automata rules. In J. R. Koza, W. Banzhaf, K. Chellapilla, M. Dorigo, D. B. Fogel, M. H. Garzon, D. E. Goldberg, H. Iba, and R. L. Riolo, eds., Genetic Programming 1998: Proceedings of the Third Annual Conference. Morgan Kaufmann, San Francisco, CA, 1998.

7. Concluses
Os detalhes da implementao da PEG foram explicados detalhadamente, permitindo que outros investigadores implementem este novo algoritmo. Alm do mais, os problemas escolhidos para ilustrar o funcionamento da PEG, mostram que este novo paradigma pode ser utilizado para resolver vrios problemas de reas muito diversas com a vantagem de funcionar eficientemente num computador pessoal. O novo conceito por detrs dos cromossomas lineares e das AEs permitiu que a PEG superasse consideravelmente a PG: mais de duas ordens de grandeza nos problemas de regresso simblica, induo de sequncias e empilhamento de blocos, e mais de quatro ordens de grandeza no problema da classificao da densidade. Portanto, a PEG oferece novas possibilidades na resoluo de problemas tecnolgicos e cientficos mais complexos. Igualmente importante e original, a organizao multignica dos cromossomas da PEG, que faz da PEG uma tcnica de descoberta verdadeiramente hierrquica. Por ltimo, os algoritmos de expresso gentica representam a natureza mais fielmente, podendo, por isso, ser usados como modelos computacionais de processos evolutivos naturais.

Agradecimentos
Estou imensamente grata ao Jos Simas por ter ajudado com o hardware, por ter lido e comentado o manuscrito e pelo seu entusiasmo e apoio enquanto eu me debatia com as ideias bsicas e os conceitos da PEG.

20