Você está na página 1de 4

Introduo Algoritmos Evolucionrios baseados em Gramticas

Computao Natural Gisele L. Pappa Na aula passada, estudamos trs propriedade que devem ser respeitadas ao criar um conjunto de funes de um PG, incluindo fechamento As dificuldades impostas pelo fechamento levaram a criao de uma nova vertente dentro da PG onde gramticas so utilizadas para guarantir essa propriedade

PG baseada em gramtica
Alm de garantir a propriedade de fechamento, permite incorporar ao espao de busca domnio sobre o problema PG baseada em gramtica podem ser divididas em 2 grandes classes de acordo com:
Tipo de representao utilizado Tipo da gramtica utilizada
Livre de contexto, lgica, etc

PG baseada em gramtica
Classificao de acordo com a representao
+

Tipo 1

Grammar
Y

x Y

Program

Fitness

GGP Individual

00111000100111100001 GGP Individual

Tipo 2
Grammar

Mapping Process
Y

x Y

Program

Fitness

Decoded Candidate Solution

Programao Gentica
Terminais No Terminais

PG baseada em Gramticas (Tipo 1)


Terminais Seleo No Terminais Gramtica
Terminais

Populao Inicial
Fitness

Populao Inicial

PG Tradicional

No Critrio de parada satisfeito? Sim

Crossover Nova Populao Reproduo Mutao

pcross

preprod No Terminais Smbolo Inicial

pmut

Regras de Produo

Populao Inicial

PG baseada em Gramticas

Retorna melhor soluo

Diferenas em relao a PG convencional


Indivduos criados atravs de mutao e crossover devem respeitar as regras de produo da gramtica Crossover no tem um poder to destrutivo

Exemplo de Gramtica

PG baseada em Gramticas (Tipo 2)


00111000100111100001 GGP Individual +

Mapeamento inspirado na biologia

Mapping Process
Y

x Y

Program

Fitness

Grammar

Decoded Candidate Solution

Indivduos so normalmente representados por um string binrio Existe um mapeamento do gentipo para o fentipo baseado em processos biolgicos

Cdigo Gentico
Codon

Cdigo Gentico
GE Codon (8 bits) 00000010 00010010 00100010 Regra GE

<line>

Degenerao de cdigo gentico (diferentes codons mapeam o mesmo aminocido

Para uma regra com duas escolhas <code> ::= <line> | (0) <code> <line> (1) O valor do codon de um GE mod 2 determina o nmero da regra

Exemplo de Mapeamento
00101011011101101000101100010001
43 118 144 17 Gramtica A <seq>::= <vowel> (0) |<seq><vowel>(1) B <vowel> ::= a |e |i |o |u (0) (1) (2) (3) (4) Indivduo

Mapeamento
O que acontece se eu termino de ler o gentipo e meu indivduo ainda apresenta no-terminais?
Uso o conceito de wrapping
Reaproveitamento de material gentico (inspirado na sobreposio de genes comum bactrias) 43%2=1 118%2=0 144%5=4 17%5=2

Processo de Decodificao <seq> <seq><vowel> <vowel><vowel> u <vowel> ui

Implicaes da Degenerao de Cdigo Gentico


Aparecimento de mutaes neutras Variaes no gentipo no tem efeito no fentipo

Representao
Trabalha com vetores de bits de tamanho varivel Ao gerar a populao inicial, determina um nmero mximo de codons que cada indivduo pode ter

Operadores Genticos
Mutao de um ponto Crossover de um ponto Duplicao de codons
Selecionados aleatoriamente e inseridos antes do ltimo codon

Principais caractersticas de Evoluo de Gramticas


Separa o gentipo do fentipo Degenerao de cdigo gentico
Ajuda a manter a diversidade da populao Ajuda a preservar a funcionalidade dos programas atravs de mutaes neutras

Operador wrapping
Reusar cdigo gentico

Aplicaes
Amplamente utilizado na rea financeira e de avaliao de negcios Pode ser utilizado para resolver todos os problemas que um EA comum resolve

Leitura Recomendada
O'Neill M., Ryan C. Automatic Generation of Programs with Grammatical Evolution. In Proceedings of AICS 1999, pages 72-78. P. A. Whigham, Grammatically-based Genetic Programming, Proc. of the Workshop on Genetic Programming: From Theory to Real-World Applications, 1995, pages 33-41.

Mais informaes http://www.grammatical-evolution.org/