Programování více výrazů - Multi expression programming
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto problémech na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Programování více výrazů (MEP) je a genetické programování varianta kódující více řešení ve stejném chromozomu. Reprezentace MEP není konkrétní (bylo testováno více reprezentací). V nejjednodušší variantě jsou MEP chromozomy lineárními řetězci instrukcí. Tato reprezentace byla inspirována Kód se třemi adresami. Síla MEP spočívá ve schopnosti kódovat více řešení problému ve stejném chromozomu. Tímto způsobem lze prozkoumat větší zóny vyhledávacího prostoru. U většiny problémů přichází tato výhoda bez penalizace za běh ve srovnání s genetické programování varianty kódující jediné řešení v chromozomu.[1][2][3]
Příklad programu MEP
Zde je jednoduchý program MEP:
1: a2: b3: + 1, 24: c5: d6: + 4, 57: * 3, 5
Na každém řádku můžeme mít terminál nebo funkci. V případě funkcí potřebujeme také ukazatele na jeho argumenty.
Když dekódujeme chromozom, získáme více výrazů:
E1 = a, E2 = b, E4 = c, E5 = d, E3 = a + b. E6 = c + d. E7 = (a + b) * d.
Který výraz bude představovat chromozom? V MEP je každá exprese hodnocena a nejlepší z nich bude představovat chromozom. U většiny problémů má toto vyhodnocení stejnou složitost jako v případě kódování jednoho řešení v každém chromozomu.
Software
MEPX
MEPX je multiplatformní (Windows, Mac OSX a Linux Ubuntu) bezplatný software pro automatické generování počítačových programů. Může být použit pro analýzu dat, zejména pro řešení regresních a klasifikačních problémů.
libmep
Libmep je bezplatná a otevřená knihovna implementující techniku Multi Expression Programming. Je napsán v C ++.
hmep
hmep je nová knihovna s otevřeným zdrojovým kódem implementující techniku Multi Expression Programming v programovacím jazyce Haskell.
Viz také
Poznámky
- ^ Oltean M .; Dumitrescu D .: "Programování více výrazů ", Technická zpráva, Univ. Babes-Bolyai, Cluj-Napoca, 2002
- ^ Oltean M .; Grosan C .: "Vývoj evolučních algoritmů pomocí programování více výrazů „, 7. evropská konference o umělém životě, 14. – 17. Září 2003, Dortmund, editace W. Banzhaf (et al.), LNAI 2801, s. 651-658, Springer-Verlag, Berlín, 2003
- ^ Oltean M .; Grosan C .: "Vývoj digitálních obvodů pomocí programování s více výrazy ", NASA / DoD Conference on Evolvable Hardware, 24–26 June, Seattle, Edited by R. Zebulum (et. Al), strany 87-90, IEEE Press, NJ, 2004
externí odkazy
![]() | Tento umělá inteligence související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |