Multi -expression programmering - Multi expression programming

Multi Expression Programming (MEP) er en genetisk programmeringsvariant, der koder for flere løsninger i det samme kromosom. MEP -repræsentation er ikke specifik (flere repræsentationer er testet). I den enkleste variant er MEP -kromosomer lineære instruktionsstrenge. Denne repræsentation blev inspireret af Three-address code . MEP -styrke består i evnen til at kode flere løsninger, af et problem, i det samme kromosom. På denne måde kan man udforske større zoner i søgerummet. For de fleste af problemerne kommer denne fordel uden straf i driftstid sammenlignet med genetiske programmeringsvarianter , der koder for en enkelt løsning i et kromosom.

Eksempel på MEP -program

Her er et simpelt MEP -program:

1: a
2: b
3: + 1, 2
4: c
5: d
6: + 4, 5
7: * 3, 5

På hver linje kan vi have en terminal eller en funktion. I tilfælde af funktioner har vi også brug for tip til dens argumenter.

Når vi afkoder kromosomet får vi flere udtryk:

E1 = a,
E2 = b,
E4 = c,
E5 = d,
E3 = a + b.
E6 = c + d.
E7 = (a + b) * d.

Hvilket udtryk vil repræsentere kromosomet? I MEP evalueres hvert udtryk, og det bedste af dem vil repræsentere kromosomet. For de fleste problemer har denne evaluering den samme kompleksitet som ved kodning af en enkelt løsning i hvert kromosom.

Software

MEPX

MEPX er en cross -platform (Windows, Mac OSX og Linux Ubuntu) gratis software til automatisk generering af computerprogrammer. Det kan bruges til dataanalyse, især til løsning af regressions- og klassificeringsproblemer.

Multi Expression Programming X skærmbillede

libmep

Libmep er et gratis og open source bibliotek, der implementerer Multi Expression Programming teknik. Det er skrevet i C ++.

hmep

hmep er et nyt open source bibliotek, der implementerer Multi Expression Programming teknik i Haskell programmeringssprog.

Se også

Noter

  1. ^ Oltean M .; Dumitrescu D .: " Multi Expression Programming ", Teknisk rapport, Univ. Babes-Bolyai, Cluj-Napoca, 2002
  2. ^ Oltean M .; Grosan C .: "Evolving Evolutionary Algorithms using Multi Expression Programming ", Den 7. europæiske konference om kunstigt liv, 14.-17. September 2003, Dortmund, redigeret af W. Banzhaf (et al), LNAI 2801, s. 651-658, Springer-Verlag, Berlin, 2003
  3. ^ Oltean M .; Grosan C .: "Evolving Digital Circuits using Multi Expression Programming ", NASA/DoD Conference on Evolvable Hardware, 24. – 26. Juni, Seattle, redigeret af R. Zebulum (et. Al), siderne 87-90, IEEE Press, NJ, 2004

eksterne links