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