Jump to content

Multi expression programming

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by BC108 (talk | contribs) at 19:06, 25 August 2015 (Added {{notability}} and {{technical}} tags to article (TW)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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].

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.

See also

Notes

  1. ^ Oltean M.; Dumitrescu D.: "Multi Expression Programming", Technical report, Univ. Babes-Bolyai, Cluj-Napoca, 2002