Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Мультиэкспрессионное программирование (MEP) - это вариант генетического программирования, кодирующий несколько решений в одной хромосоме. Представление MEP не является специфическим (было протестировано несколько представлений). В простейшем варианте хромосомы MEP представляют собой линейные строки инструкций. Это представление было вдохновлено трехадресным кодом . Сила MEP заключается в способности кодировать несколько решений проблемы в одной и той же хромосоме. Таким образом можно исследовать большие зоны поискового пространства. Для большинства задач это преимущество связано с отсутствием потерь времени выполнения по сравнению с вариантами генетического программирования, кодирующими единственное решение в хромосоме. [1] [2] [3]

Пример программы MEP [ править ]

Вот простая программа MEP:

1: а2: b3: + 1, 24: c5: d6: + 4, 57: * 3, 5

В каждой строке может быть терминал или функция. В случае с функциями нам также потребуются указатели на ее аргументы.

Когда мы декодируем хромосому, мы получаем несколько выражений:

E1 = а,E2 = b,E4 = c,E5 = d,Е3 = а + Ь.E6 = c + d.E7 = (а + б) * г.

Какое выражение будет представлять хромосому? В MEP каждое выражение оценивается, и лучшее из них будет представлять хромосому. Для большинства задач эта оценка имеет такую ​​же сложность, как и в случае кодирования одного решения в каждой хромосоме.

Программное обеспечение [ править ]

MEPX [ править ]

MEPX - это кроссплатформенное бесплатное программное обеспечение (Windows, Mac OSX и Linux Ubuntu) для автоматического создания компьютерных программ. Его можно использовать для анализа данных, в частности, для решения задач регрессии и классификации.

libmep [ править ]

Libmep - это бесплатная библиотека с открытым исходным кодом, реализующая технику программирования с несколькими выражениями. Написан на C ++.

hmep [ править ]

hmep - это новая библиотека с открытым исходным кодом, реализующая технику программирования с несколькими выражениями на языке программирования Haskell.

См. Также [ править ]

  • Генетическое программирование
  • Программирование экспрессии генов
  • Грамматическая эволюция
  • Линейное генетическое программирование

Заметки [ править ]

  1. ^ Oltean M .; Думитреску Д .: " Программирование с несколькими выражениями ", Технический отчет, Univ. Babes-Bolyai, Клуж-Напока, 2002 г.
  2. ^ Oltean M .; Гросан Ч .: « Развитие эволюционных алгоритмов с использованием программирования с несколькими выражениями », 7-я Европейская конференция по искусственной жизни, 14–17 сентября 2003 г., Дортмунд, под редакцией У. Банцафа (и др.), LNAI 2801, стр. 651-658, Springer-Verlag, Берлин, 2003 г.
  3. ^ Oltean M .; Гросан Ч .: « Развитие цифровых схем с использованием программирования с множеством выражений », Конференция НАСА / Министерства обороны по эволюционируемому оборудованию, 24–26 июня, Сиэтл, под редакцией Р. Зебулума (и др.), Страницы 87-90, IEEE Press, Нью-Джерси, 2004 г.

Внешние ссылки [ править ]

  • Веб-сайт программирования с несколькими выражениями
  • Исходный код программирования с несколькими выражениями