Что такое дифференциальная эволюция и как она соотносится с генетическим алгоритмом?

Из того, что я читал до сих пор, они кажутся очень похожими. Дифференциальная эволюция использует вместо этого числа с плавающей точкой, а решения называются векторами? Я не совсем уверен, что это значит. Если бы кто-то мог дать обзор немного о преимуществах и недостатках обоих.

2 ответа

Решение

Ну, и генетические алгоритмы, и дифференциальная эволюция являются примерами эволюционных вычислений.

Генетические алгоритмы довольно тесно связаны с метафорой генетического воспроизводства. Даже язык в основном один и тот же - оба говорят о хромосомах, оба говорят о генах, гены - разные алфавиты, оба говорят о кроссовере, и кроссовер довольно близок к низкому уровню понимания генетической репродукции и т. Д.

Дифференциальная эволюция в том же стиле, но соответствия не такие точные. Первое большое изменение заключается в том, что DE использует действительные действительные числа (в строгом математическом смысле - они реализованы как числа с плавающей запятой, или двойные числа, или что-то еще, но в теории они охватывают область действительных чисел.) В результате Идеи мутации и кроссовера существенно различаются. Оператор мутации изменен настолько, что мне трудно даже понять, почему он называется мутацией, как таковой, за исключением того, что он служит той же самой цели - вырвать вещи из локальных минимумов.

С другой стороны, есть несколько результатов, показывающих, что DE часто более эффективны и / или более эффективны, чем генетические алгоритмы. И когда вы работаете с числовой оптимизацией, приятно иметь возможность представлять вещи как реальные числа, вместо того чтобы сначала переходить к хромосомному типу представления. (Примечание: я читал о них, но я не слишком разбирался с ними, поэтому не могу комментировать из первых рук.)

С отрицательной стороны, я не думаю, что было какое-либо доказательство сходимости для DE, пока.

Дифференциальная эволюция на самом деле является специфическим подмножеством более широкого пространства генетических алгоритмов со следующими ограничениями:

  • Генотип представляет собой некоторую форму вещественного вектора
  • Операции мутации / кроссовера используют разницу между двумя или более векторами в совокупности для создания нового вектора (обычно путем добавления некоторой случайной пропорции разности к одному из существующих векторов плюс небольшое количество случайного шума)

DE работает хорошо в определенных ситуациях, потому что векторы можно рассматривать как "облако", которое довольно эффективно исследует области с высокими значениями пространства решений. В некотором смысле это довольно тесно связано с оптимизацией роя частиц.

Однако у него все еще есть обычная проблема GA - застревание в локальных минимумах.

Другие вопросы по тегам