Çoklu ifade programlama - Multi expression programming

Çoklu İfade Programlama (MEP), aynı kromozomda birden fazla çözümü kodlayan bir genetik programlama varyantıdır. MEP temsili spesifik değildir (birden çok gösterim test edilmiştir). En basit varyantta, MEP kromozomları doğrusal talimat dizileridir. Bu gösterim, Üç adres kodundan esinlenmiştir . MEP gücü, bir problemin birden fazla çözümünü aynı kromozomda kodlama yeteneğinden oluşur. Bu şekilde arama uzayının daha geniş bölgeleri keşfedilebilir. Sorunların çoğu için bu avantaj , bir kromozomda tek bir çözümü kodlayan genetik programlama varyantlarına kıyasla çalışma süresi cezası olmadan gelir .

MEP programı örneği

İşte basit bir MEP programı:

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

Her satırda bir terminale veya bir fonksiyona sahip olabiliriz. İşlevler söz konusu olduğunda, argümanlarına da işaretçilere ihtiyacımız var.

Kromozomun kodunu çözdüğümüzde çoklu ifadeler elde ederiz:

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

Hangi ifade kromozomu temsil edecek? MEP'de her ifade değerlendirilir ve bunların en iyisi kromozomu temsil eder. Problemlerin çoğu için bu değerlendirme, her bir kromozomda tek bir çözümün kodlanması durumundaki ile aynı karmaşıklığa sahiptir.

Yazılım

MEPX

MEPX, bilgisayar programlarının otomatik olarak oluşturulması için çapraz platformlu (Windows, Mac OSX ve Linux Ubuntu) ücretsiz bir yazılımdır. Özellikle regresyon ve sınıflandırma problemlerini çözmek için veri analizi için kullanılabilir.

Çoklu İfade Programlama X ekran görüntüsü

libmep

Libmep , Çoklu İfade Programlama tekniğini uygulayan ücretsiz ve açık kaynaklı bir kitaplıktır. C++ ile yazılmıştır.

hmep

hmep , Haskell programlama dilinde Çoklu İfade Programlama tekniğini uygulayan yeni bir açık kaynak kitaplıktır.

Ayrıca bakınız

Notlar

  1. ^ Oltean M.; Dumitrescu D.: " Çoklu İfade Programlama ", Teknik rapor, Üniv. Babes-Bolyai, Kaloşvar, 2002
  2. ^ Oltean M.; Grosan C.: " Evolving Evolutionary Algorithms using Multi Expression Programming ", The 7th European Conference on Yapay Yaşam, 14-17 Eylül 2003, Dortmund, Düzenleyen W. Banzhaf (ve diğerleri), 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 Haziran, Seattle, Düzenleyen R. Zebulum (ve diğerleri), sayfa 87-90, IEEE Press, NJ, 2004

Dış bağlantılar