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.
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å
- Kartesisk genetisk programmering
- Genetisk programmering
- Genekspression programmering
- Grammatisk udvikling
- Lineær genetisk programmering
Noter
- ^ Oltean M .; Dumitrescu D .: " Multi Expression Programming ", Teknisk rapport, Univ. Babes-Bolyai, Cluj-Napoca, 2002
- ^ 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
- ^ 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
