Jump to content

Мультивыраженное программирование

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

Представительство [ править ]

Хромосомы MEP представляют собой массивы инструкций, представленных в формате трехадресного кода .

Каждая инструкция содержит переменную, константу или функцию. Если инструкция является функцией, то аргументы (заданные в виде адресов инструкций) также присутствуют.

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

Вот простая MEP-хромосома (метки слева не являются частью хромосомы):

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

Расчет фитнеса [ править ]

Когда хромосома оценивается, неясно, какая инструкция обеспечит вывод программы. Во многих случаях получается набор программ, некоторые из которых совершенно не связаны друг с другом (не имеют общих инструкций).

Для приведенной выше хромосомы вот список возможных программ, полученных при декодировании:

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

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

Соответствие (или ошибка) вычисляется стандартным способом. Например, в случае символической регрессии пригодность представляет собой сумму разностей (по абсолютному значению) между ожидаемым результатом (называемым целевым) и фактическим результатом.

Процесс назначения на фитнес [ править ]

Какое выражение будет представлять хромосому? Какой из них даст приспособленность хромосомы?

В MEP лучший из них (имеющий наименьшую ошибку) будет представлять хромосому. Это отличается от других методов GP: в линейном генетическом программировании результат выдает последняя инструкция. В декартовом генетическом программировании ген, обеспечивающий результат, развивается, как и все другие гены.

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

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

МЕПХ [ править ]

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

Снимок экрана из программного обеспечения MEPX

libmep [ править ]

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

хмэп [ править ]

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

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

Примечания [ править ]

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

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

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9e1982aac62dfa172d6d92900818fb38__1696609800
URL1:https://arc.ask3.ru/arc/aa/9e/38/9e1982aac62dfa172d6d92900818fb38.html
Заголовок, (Title) документа по адресу, URL1:
Multi expression programming - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)