В чем разница между генетическим и эволюционным алгоритмами?
Есть ли разница между генетическими алгоритмами и эволюционными алгоритмами?
Я прочитал несколько статей, рассказывающих о генетических или эволюционных алгоритмах, и, хотя они очень похожи, я думаю, что они могут не совпадать.
Ответы
Ответ 1
Генетический алгоритм является классом эволюционного алгоритма. Хотя генетические алгоритмы являются наиболее часто встречающимся типом эволюционного алгоритма, существуют другие типы, такие как Стратегия эволюции. Итак, эволюционные алгоритмы охватывают генетические алгоритмы и многое другое.
Ответ 2
Генетические алгоритмы используют кроссовер (отсюда и "ген" от их имени) и мутацию для поиска пространства возможных решений.
Эволюционное программирование использует прежде всего мутацию.
Как уже отмечалось, оба являются типами эволюционных алгоритмов.
Ответ 3
Из Z. Michalewicz 1996 - "Генетические алгоритмы + структуры данных = программы эволюции" [с .289]:
Программы развития в значительной степени заимствуют из генетических алгоритмов. Тем не менее, они включают в себя знания о проблемах, используя "естественные" структуры данных и чувствительные к проблеме "генетические" операторы. Основное различие между ГА и ВП заключается в том, что первые классифицируются как слабые, проблемно-независимые методы, что не относится к последним.
Таким образом, GA должен иметь возможность решать любые проблемы, которые решаются с помощью EP/EA, но EP/EA не сможет решить все проблемы, решаемые GA. Конечно, платят за эффективность для общности ГА.
Кроме того, кажется, что алгоритм не является EA/EP, если подходящие решения не обмениваются информацией друг с другом напрямую (D. Simon 2013 - "Алгоритмы эволюционной оптимизации" [стр. 243]).
PS: D. Simon 2013 - "Алгоритмы эволюционной оптимизации" - УДИВИТЕЛЬНАЯ книга!
Ответ 4
Эволюционные стратегии (Rechenberg 1973) и генетические алгоритмы (Holland 1975) основаны на эволюционных теориях Дарвина. Эволюционные стратегии являются основой эволюционных вычислений и, следовательно, эволюционных алгоритмов. В основном генетические алгоритмы (GA) являются подклассом EA.
В отличие от EA, GA требует использования генетического представления в смысле вычислительного представления (генотип) и его представления в реальном мире (фенотип).