Programação genética linear - Linear genetic programming

A "programação genética linear" não está relacionada à " programação linear ".

A programação genética linear (LGP) é um subconjunto específico de programação genética em que os programas de computador em uma população são representados como uma sequência de instruções de uma linguagem de programação imperativa ou linguagem de máquina . O fluxo de dados baseado em gráfico que resulta de um uso múltiplo de conteúdos de registro e a existência de código estruturalmente ineficaz ( íntrons ) são duas diferenças principais desta representação genética da variante de programação genética baseada em árvore (TGP) mais comum .

Em programação genética (GP), uma árvore linear é um programa composto por um número variável de funções unárias e um único terminal . Observe que a árvore linear GP difere dos algoritmos genéticos de sequência de bits , pois uma população pode conter programas de comprimentos diferentes e pode haver mais de dois tipos de funções ou mais de dois tipos de terminais.

Exemplos de programas LGP

Como os programas LGP são basicamente representados por uma sequência linear de instruções, eles são mais simples de ler e operar do que seus equivalentes baseados em árvore. Por exemplo, um programa simples escrito na linguagem LGP Slash / A parece uma série de instruções separadas por uma barra:

input/   # gets an input from user and saves it to register F
0/       # sets register I = 0
save/    # saves content of F into data vector D[I] (i.e. D[0] := F)
input/   # gets another input, saves to F
add/     # adds to F current data pointed to by I (i.e. F := F + D[0])
output/. # outputs result from F

Ao representar esse código no formato de bytecode , isto é, como um array de bytes, cada um representando uma instrução diferente, pode-se fazer operações de mutação simplesmente mudando um elemento de tal array.

Veja também

Notas

  1. ^ Brameier, M .: " On linear genetic programming Archived 2007-06-29 at the Wayback Machine ", Dortmund, 2003
  2. ^ W. Banzhaf, P. Nordin, R. Keller, F. Francone, "Genetic Programming - An Introduction. On the Automatic Evolution of Computer Programs and its Application", Morgan Kaufmann, Heidelberg / San Francisco, 1998
  3. ^ Poli, R .; Langdon, WB; McPhee, NF (2008). Um guia de campo para programação genética . Lulu.com, disponível gratuitamente na Internet. ISBN   978-1-4092-0073-4 .
  4. ^ Fundações da programação genética .

links externos

  • Slash / A Uma linguagem de programação e biblioteca C ++ projetada especificamente para GP linear
  • DigitalBiology.NET motor de busca vertical para recursos GA / GP
  • Software de programação genética Discipulus
  • Software de programação genética MicroGP (código aberto)
  • [1]