Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

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

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

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