Jump to content

Грамматическая эволюция

Грамматическая эволюция (GE) — это эволюционные вычисления , а точнее, генетического программирования (GP), впервые предложенный Конором Райаном, Дж. Дж. Коллинзом и Майклом О'Нилом в 1998 году. метод (или подход) [1] в группе BDS в Университете Лимерика .

Как и в любом другом подходе GP, цель состоит в том, чтобы найти исполняемую программу, фрагмент программы или функцию, которая достигнет хорошего значения пригодности для данной целевой функции . В большинстве опубликованных работ по GP LISP непосредственно манипулируют выражениями с древовидной структурой в стиле , тогда как GE применяет генетические операторы к целочисленной строке, которая впоследствии отображается в программу (или аналогичную) с помощью грамматики, которая обычно выражается в виде Форма Бэкуса-Наура . Одним из преимуществ GE является то, что это отображение упрощает применение поиска к различным языкам программирования и другим структурам.

Проблема решена

[ редактировать ]

без типов В обычном GP в стиле Koza набор функций должен соответствовать требованию замыкания: все функции должны быть способны принимать в качестве аргументов выходные данные всех других функций в наборе функций. Обычно это реализуется путем работы с одним типом данных, например с плавающей запятой двойной точности. Хотя современные структуры генетического программирования поддерживают типизацию, такие системы типов имеют ограничения, от которых не страдает грамматическая эволюция.

Решение GE

[ редактировать ]

GE предлагает решение ограничения одного типа путем разработки решений в соответствии с заданной пользователем грамматикой (обычно грамматикой в ​​форме Бэкуса-Наура ). Следовательно, пространство поиска может быть ограничено и могут быть включены знания предметной области проблемы. Вдохновением для такого подхода послужило желание отделить «генотип» от «фенотипа»: в ГП объекты, над которыми работает алгоритм поиска, и то, что интерпретирует функция оценки приспособленности, — одно и то же. Напротив, «генотипы» GE представляют собой упорядоченные списки целых чисел, которые кодируют правила выбора из предоставленной контекстно-свободной грамматики. Фенотип, однако, тот же, что и в GP в стиле Коза: древовидная структура, которая оценивается рекурсивно. Эта модель больше соответствует тому, как работает генетика в природе, где существует разделение между генотипом организма и окончательным выражением фенотипа в белках и т. д.

Разделение генотипа и фенотипа позволяет использовать модульный подход. В частности, поисковая часть парадигмы GE не обязательно должна выполняться каким-то одним конкретным алгоритмом или методом. Обратите внимание, что объекты, на которых GE выполняет поиск, такие же, как те, которые используются в генетических алгоритмах . В принципе это означает, что любой существующий пакет генетических алгоритмов, такой как популярный GAlib , может использоваться для выполнения поиска, и разработчику, реализующему систему GE, нужно только беспокоиться о выполнении сопоставления списка целых чисел с деревом программы. . Также в принципе возможно выполнить поиск, используя какой-либо другой метод, например, оптимизацию роя частиц (см. примечание ниже); Модульная природа GE создает множество возможностей для гибридов, как того требует проблема, которую необходимо решить.

Брабазон и О'Нил успешно применили GE для прогнозирования корпоративного банкротства, прогнозирования фондовых индексов, кредитных рейтингов облигаций и других финансовых приложений. [ нужна ссылка ] GE также использовался с классической моделью хищник-жертва для изучения влияния таких параметров, как эффективность хищника, количество ниш и случайные мутации, на экологическую стабильность . [2]

Можно структурировать GE-грамматику, которая для данного набора функций/терминалов будет эквивалентна генетическому программированию.

Несмотря на свои успехи, GE подверглась некоторой критике. Одна из проблем заключается в том, что в результате операции картирования генетические операторы GE не достигают высокой локальности. [3] [4] это высоко ценимое свойство генетических операторов в эволюционных алгоритмах. [3]

Варианты

[ редактировать ]

Хотя изначально GE описывался с точки зрения использования эволюционного алгоритма, в частности генетического алгоритма, существуют и другие варианты. Например, исследователи GE экспериментировали с использованием оптимизации роя частиц для проведения поиска вместо генетических алгоритмов с результатами, сравнимыми с результатами обычного GE; это называется «грамматическим рой»; Используя только базовую модель PSO, было обнаружено, что PSO, вероятно, в равной степени способен выполнять процесс поиска в GE, как и простые генетические алгоритмы. (Хотя PSO обычно представляет собой парадигму поиска с плавающей запятой, ее можно дискретизировать, например, просто округляя каждый вектор до ближайшего целого числа, для использования с GE.)

Еще один возможный вариант, с которым экспериментировали в литературе, — это попытка закодировать семантическую информацию в грамматике, чтобы еще больше исказить процесс поиска. Другая работа показала, что при наличии предвзятых грамматик, использующих знания предметной области, даже случайный поиск может использоваться для стимулирования GE. [5]

[ редактировать ]

Изначально GE представлял собой комбинацию линейного представления, используемого в Генетическом алгоритме разработки программного обеспечения (GADS). [ нужна ссылка ] и грамматики Бэкуса Наура, которые первоначально использовались Вонгом и Люнгом в древовидных GP. [6] в 1995 году и Уигэм в 1996 году. [7] Другой родственной работой, отмеченной в оригинальной статье GE, была работа Фредерика Груау, [8] который использовал концептуально схожий «эмбриональный» подход, как и подход Келлера и Банцхафа, [9] которые аналогичным образом использовали линейные геномы.

Реализации

[ редактировать ]

Существует несколько реализаций GE. К ним относятся следующие.

Название проекта Язык Год Расположение
ГЛОБАЛЬНЫЙ Матлаб 2018 https://github.com/adilraja/GELAB
ПониGE2 Питон 2017 https://arxiv.org/abs/1703.08535
gramEvol Р 2016 https://cran.r-project.org/web/packages/gramEvol/vignettes/ge-intro.pdf
PyNeurGen Питон 2012 http://pyneurgen.sourceforge.net/
Грамматическая_ эволюция Руби 2011 http://www.cleveralgorithms.com/nature-inspired/evolution/grammatical_evolution.rb
ВОЗРАСТ С, возьми это 2011 http://nohejl.name/age/pdf/AGE-Documentation-1.0.2.pdf
PonyGE Питон 2010 https://code.google.com/archive/p/ponyge/downloads
Он носит Руби 2010 https://github.com/bver/GERET/
ГЕВА Ява 2008 http://ncra.ucd.ie/Site/GEVA.html
Европейский суд Ява 2008 https://cs.gmu.edu/~eclab/projects/ecj/
ЯН С++ 2007 https://ritchielab.org/research/past-research/52-grammatical-evolution-neural-networks
libGE C++, S-Lang, tinycc 2004 http://bds.ul.ie/libGE/

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ «Грамматическая эволюция: развивающиеся программы для произвольного языка» .
  2. ^ Альфонсека, Мануэль; Солер Хиль, Франсиско Хосе (2 января 2015 г.). «Развитие экосистемы математических выражений хищник-жертва с грамматической эволюцией». Сложность . 20 (3): 66–83. Бибкод : 2015Cmplx..20c..66A . дои : 10.1002/cplx.21507 . hdl : 10486/663611 .
  3. ^ Jump up to: а б Ротлауф, Франц; Эцель, Мари (2006). «О локальности грамматической эволюции» . Генетическое программирование . Конспекты лекций по информатике. Том. 3905. С. 320–330. дои : 10.1007/11729976_29 . ISBN  978-3-540-33143-8 .
  4. ^ «Публикация: Позиционный эффект кроссовера и мутации в грамматической эволюции - Школа вычислительной техники - Кентский университет» .
  5. ^ О'Салливан, Джон; Райан, Конор (2002), Фостер, Джеймс А.; Луттон, Эвелин; Миллер, Джулиан; Райан, Конор (ред.), «Исследование использования различных стратегий поиска с грамматической эволюцией» , Genetic Programming , vol. 2278, Берлин, Гейдельберг: Springer Berlin Heidelberg, стр. 268–277, doi : 10.1007/3-540-45984-7_26 , ISBN  978-3-540-43378-1 , получено 8 августа 2022 г.
  6. ^ Вонг, Ман Люн; Люн, Квонг Сак (ноябрь 1995 г.). «Применение логических грамматик для запуска подфункций в генетическом программировании» . Материалы Международной конференции IEEE 1995 года по эволюционным вычислениям . Том. 2. С. 737–740, т. 2. дои : 10.1109/ICEC.1995.487477 . ISBN  0-7803-2759-4 . S2CID   16071918 .
  7. ^ Уигэм, П. (1996). «Предвзятость поиска, языковая предвзятость и генетическое программирование». S2CID   16631215 . {{cite web}}: Отсутствует или пусто |url= ( помощь )
  8. ^ Груо, Фредерик (1994), Синтез нейронных сетей с использованием клеточного кодирования и генетического алгоритма , CiteSeerX   10.1.1.29.5939
  9. ^ Келлер, Роберт Э. (1996). «Генетическое программирование с использованием мутации, репродукции и картирования генотипа-фенотипа из линейных бинарных геномов в линейные фенотипы Lalr (1) Категория статьи: Генетическое программирование (gp)». S2CID   18095204 . {{cite web}}: Отсутствует или пусто |url= ( помощь )
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e50c04301933f31213efd6a758bac90f__1722618120
URL1:https://arc.ask3.ru/arc/aa/e5/0f/e50c04301933f31213efd6a758bac90f.html
Заголовок, (Title) документа по адресу, URL1:
Grammatical evolution - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)