Multi expression programming
It is proposed that this article be deleted because of the following concern:
If you can address this concern by improving, copyediting, sourcing, renaming, or merging the page, please edit this page and do so. You may remove this message if you improve the article or otherwise object to deletion for any reason. Although not required, you are encouraged to explain why you object to the deletion, either in your edit summary or on the talk page. If this template is removed, do not replace it. This message has remained in place for seven days, so the article may be deleted without further notice. Find sources: "Multi expression programming" – news · newspapers · books · scholar · JSTOR Nominator: Please consider notifying the author/project: {{subst:proposed deletion notify|Multi expression programming|concern=Lack of notability, [[WP:COI]]}} ~~~~ Timestamp: 20160820202916 20:29, 20 August 2016 (UTC) Administrators: delete |
![]() | The topic of this article may not meet Wikipedia's general notability guideline. (August 2016) |
This article may rely excessively on sources too closely associated with the subject, potentially preventing the article from being verifiable and neutral. (August 2016) |
![]() | This article may be too technical for most readers to understand.(August 2015) |
![]() | A major contributor to this article appears to have a close connection with its subject. (August 2016) |
Multi Expression Programming (MEP) is a genetic programming variant employing a linear representation of solutions. MEP representation is inspired by Three-address code. MEP introduces a unique feature: the ability to encode multiple solutions, of a problem, in the same chromosome. In this way one can explore larger zones of the search space. For most of the problems this advantage comes with no running-time penalty compared with genetic programming variants encoding a single solution in a chromosome.[1][2][3]
Example of MEP program
Here is a simple MEP program:
1: a
2: b
3: + 1, 2
4: c
5: d
6: + 4, 5
7: * 3, 5
On each line we can have a terminal or a function. In the case of functions we also need pointers to its arguments.
When we decode the chromosome we obtain multiple expressions:
E1 = a,
E2 = b,
E4 = c,
E5 = d,
E3 = a + b.
E6 = c + d.
E7 = (a + b) * d.
Which expression will represent the chromosome? In MEP each expression is evaluated and the best of them will represent the chromosome. For most of the problems, this evaluation has the same complexity as in the case of encoding a single solution in each chromosome.
Software
MEPX
MEPX is a cross platform (Windows, Mac OSX, and Linux Ubuntu) free software for automatic generation of computer programs. It can be used for data analysis, particularly for solving regression and classification problems.
libmep
Libmep is a free and open source library implementing Multi Expression Programming technique. It is written in C++.
See also
Notes
- ^ Oltean M.; Dumitrescu D.: "Multi Expression Programming", Technical report, Univ. Babes-Bolyai, Cluj-Napoca, 2002
- ^ Oltean M.; Grosan C.: "Evolving Evolutionary Algorithms using Multi Expression Programming", The 7th European Conference on Artificial Life, September 14–17, 2003, Dortmund, Edited by W. Banzhaf (et al), LNAI 2801, pp. 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 June, Seattle, Edited by R. Zebulum (et. al), pages 87-90, IEEE Press, NJ, 2004