Каковы реальные различия между генетическими алгоритмами и эволюционными алгоритмами? - PullRequest
6 голосов
/ 07 февраля 2012

Я читаю некоторые статьи о генетических алгоритмах, и часто они упоминают эволюционные алгоритмы очень похожим образом.Согласно Википедии, ГА являются подмножеством советников.Однако, если мы посмотрим поближе, мы можем заметить, что оба являются алгоритмами метаэвристической оптимизации, основанными на естественном отборе (кроссовер, отбор, мутация), и оба не имеют фиксированного представления (это зависит от решаемой проблемы, даже если мы традиционно используем двоичный файл).представления для ГА).Они очень похожи.Итак, мой вопрос: можем ли мы считать каждый эволюционный алгоритм генетическим алгоритмом?и каковы реальные различия между ними?Спасибо

Ответы [ 2 ]

9 голосов
/ 07 февраля 2012

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

В какой-то момент (примерно в конце 90-х или около того) был больший толчок к объединению, так как люди начали рассматривать их как примерыболее общий класс алгоритмов. Главная конференция GA (ICGA) превратилась в GECCO, и объединяющим термином стали «эволюционные вычисления», охватывающие все вышеперечисленное и иногда несколько других (вы можете рассматривать такие вещи, как оптимизация роя частиц, как эволюционныеалгоритмы, если вы немного либеральны с определениями).

Так что в настоящее время мы обычно говорим «эволюционные вычисления» (или «эволюционные алгоритмы») в качестве всеобъемлющего всеобъемлющего термина.определяет свою собственную идентичность как непосредственно развивающиеся строки кода, а стратегии эволюции также сохраняют отдельную идентичность, как имеющую дело с реальными значениями, и часто включают в себя некоторую разновидность самомодификации (например, направления поиска обучения адаптации ковариационной матрицы во время выполнения).Эволюционное программирование все еще существует, но только как гораздо меньшая ниша.Термин «генетические алгоритмы» расширился совсем немного.Первоначально люди думали, что они работают с двоичными строками, работающими с отбором из поколения и т. Д. Со временем строгость одна за другой пошла на убыль.На этом этапе вы можете почти использовать "генетический алгоритм" в качестве синонима "эволюционных вычислений".Вы не должны этого делать, потому что в терминологии есть понятная тонкость, которую вы бы потеряли, но в целом, если вы не выполняете генерацию кода напрямую и не развиваете реальные числа в очень определенном порядке, которыйсоответствует тому, что люди считают стратегиями эволюции, тогда вы вполне можете назвать это «генетическим алгоритмом».

6 голосов
/ 07 февраля 2012

Чтобы завершить отличный ответ Дэна, вот цитата из превосходной книги Введение в эволюционные вычисления , написанной А. Е. Эйбеном и Дж. Э. Смитом.

Удивительно, но эта идея применения дарвиновских принципов к Автоматическое решение проблем восходит к сороковым, задолго до прорыв компьютеров [146]. Еще в 1948 году Тьюринг предложил «генетический или эволюционный поиск», и к 1962 году Брейнермами было фактически проводил компьютерные эксперименты по оптимизации через эволюция и рекомбинация ". В течение 1960-х годов три разных реализации основной идеи были разработаны в разных местах. В США Фогель, Оуэнс и Уолш ввели эволюционный программирование [155, 156], в то время как Голландия назвала свой метод генетическим алгоритм [98, 202, 204]. Между тем, в Германии Рехенберг и Швефель изобрели стратегий эволюции [317, 342]. Вот уже около 15 лет эти участки разрабатываются отдельно; но с начала 1990-х годов они были рассматривается как разные представители («диалекты») одной технологии это стало известно как эволюционные вычисления [22, 27, 28, 120, 271]. В начале 1990-х четвертый поток следовал общим идеям Появилось генетическое программирование , отстаиваемое Козой [38, 229, 230]. современная терминология обозначает целое поле эволюционным вычисления, используемые алгоритмы называются эволюционными алгоритмами, и он рассматривает эволюционное программирование, стратегии эволюции, генетические алгоритмы и генетическое программирование как подрайоны, принадлежащие соответствующие варианты алгоритма.

Развитие научного форумы, посвященные ЕС, дают представление о прошлом и подарок. Первая международная конференция, специализирующаяся на темой была Международная конференция по генетическим алгоритмам (ICGA), впервые проведен в 1985 году [180] и повторяется каждый второй год до 1997 года [182, 333, 43, 158, 137, 241 В 1999 году он объединился с ежегодным Конференция по генетическому программированию [235, 234, 232] станет ежегодной Конференция по генетическим и эволюционным вычислениям (GECCO) [37. 416. 381. 2421. В то же время Ежегодная конференция по эволюционному программированию. проводится с 1992 года. [150. 151. 344. 268. 154. 12. 3071 объединились с Конференцией IEEE по эволюционным вычислениям, проводимой с 1994 года [210. 211. 212. 213. 2141 сформировать Конгресс по эволюционным вычислениям (CEC), который был проводится ежегодно с тех пор [71. 72. 73. 741.

Первое европейское событие (явно настроенный для охвата всех потоков) была проблема Parallel Решение с натуры (PPSN) в 1990 году [3431. который стал раз в два года конференция [259. 90. 410. 116. 337. 1871. Это было в панели обсуждение (заманивая первый PPSN, что имя эволюционное вычисления были предложены как общий термин для всех существующих «диалектов». Эволюционные вычисления (MIT Press). Первый научный журнал посвященный этой области. был запущен в 1993 году. В 1997 году европейский Комиссия решила финансировать европейскую исследовательскую сеть в ЕС под названием EvoNet , средства которого гарантированы до 2003 года. На момент написания статьи (2003), есть три основные конференции ЕС (CEO, GECCO. И PPSN) и много меньших, в том числе посвященный исключительно теоретическому анализу и развитию, Основы генетических алгоритмов (FOGA) проводится два раза в год с 1990 года [316, 420. 425. 44. 39. 261. 3081. К настоящему времени существует три основных научных журнала ЕС ( Evolutionary Вычисления , Транзакции IEEE для эволюционных вычислений , и Генетическое программирование и развивающиеся машины ) и многие с связанный профиль. например, на естественных вычислениях. мягкие вычисления или вычислительный интеллект. Мы оцениваем количество публикаций ЕСв 2003 году где-то более 1500 многие из них в журналах и производство по конкретным областям применения.

...