1 / 23

Programação Genetica

Programação Genetica. Desafio. Como os computadores podem aprender a resolver problemas sem ser explicitamente programados?? Arthur Samuel (1959). Programação Automatica. Indução de programas, Sintesis de programas

hollis
Download Presentation

Programação Genetica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programação Genetica

  2. Desafio • Como os computadores podem aprender a resolver problemas sem ser explicitamente programados?? • Arthur Samuel (1959)

  3. Programação Automatica • Indução de programas, Sintesis de programas • Descoberta no espaço de possiveis programas, de um programa de computador que produza a saida que satisfaça o objetivo do problema. • Se estamos interessados em que computadores resolvam problemas sem ter sido explicitamente programados para tal, a estrutura deve ser um programa (Koza)

  4. Programa • Parse tree, Program tree • Representação natural, a maoria dos compiladores traduzem o programa para o parse tree. • Funções e terminais: alfabeto do programa a ser inducido. • Conjunto de terminais: variaveis e constantes do programa. • Funções: soma, substração, divisão, ...

  5. + + * + * Exemplo de criação de programa • Terminais: T={A,B,C} • Funções: F={+,*,%,If,Lte} • Começe com + e 2arg • Continue com * e 2arg • Complete com terminais A,B,C • O resultado é um prog. Executavel, Closed C A B

  6. Mutuação • 2 tipos de mutuações são possiveis • Uma função pode substituir uma função ou um terminal pode substituir outro; • Um subtree pode ser substituido o novo subtree é gerado aleatoriamente ao igual que a população inicial.

  7. Programa Saída Entrada Programa Subrotinas Loops Recursão Memória

  8. Funções definidas (ADFs) • Na geração 0, cria-se uma população de programas • Programa principal (RPB) • 1 ou mais funções (ADFs) • Diferentes ingredientes • O conjunto de terminais de ADFs • Argumentos mudos ARG0, ARG1 • O conjunto de funções de RPB contem ADF0,.. • ADFs são privadas e associadas com programas específicos.

  9. ADFs cont. • O programa inteiro é executado e avaliado • Operação de reprodução se mantem • Mutuação • RPB ou ADFs são mudados a partir de um ponto e um novo subtree é gerado. • Crossover • RPB ou ADFs como pais, pais e filhos do mesmo tipo

  10. Obs. Sobre ADFs • ADFs funciona • ADFs produz resultados diferentes que humanos • O tamanho do programa cresce menos • Eforço computacional diminue • Outras abordagens, modulos Angeline, 1992.

  11. Memória • Estruturas de dados (Langdon) • Stacks • Filas • Listas • Aneis

  12. Programação Genetica Fortemente Tipada (STGP) • Limitações de GP: propriedades de closure das funções • STGP: as variaveis, constantes, argumentos e valores retornados podem ser de qq tipo, desde que definidos pelo usuario

  13. STGP • Geração da população inicial: deve concordar com as restrições de tipo • Operador de crossover deve ocorrer entre funções e terminais do mesmo tipo. • Montana, 1995

  14. Grammar based GP • Whigham, 1995 • Gramaticas livres de contexto como estrutura de evolução • Não possue os problemas de “closure” de GP tradicionais • The central role of a function possessing arguments is taken over by a production rule generating new symbols.

  15. G=(S,,N,P) • S simbolo inicial,  conjunto de simbolos terminais e P o conjunto de regras de produção, S  é o conjunto de simbolos não terminais • Uma regra de produção é uma substituição do tipo X Y onde X N e Y  N 

  16. Grammar GP • GP x Grammar GP • S  B, • B  +BB| - BB| * BB|%BB|T, • Tx| 1 • (x – 1)2 + (x – 1)3

  17. Operadores em GGP • Closure é assegurado • Buscando no pai um nó não terminal do tree e na mãe o mesmo nó não terminal. • Mutuação envolve selecionar um nó não-terminal e aplicar uma produção selecionada randomicamente até a profundidade máxima da árvore seja alcançada. • Wong e Leung introduzem context-sensitive grammars.

  18. Bibliografia • http://www.smi.stanford.edu/people/koza • http://www.genetic-programming.org • http://www.genetic-programming.com • koza@stanford.edu, Stanford University • Others GP techniques, tutorial GECCO’2000, Koza.

  19. Trabalho • CD discipulus • Outro programa • Papers ,Programando GP ???

More Related