Почему дифференциальная эволюция работает так хорошо? - PullRequest
0 голосов
/ 29 ноября 2018

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

Может ли кто-нибудь указать мне какое-то техническое объяснение этого?

1 Ответ

0 голосов
/ 19 декабря 2018

Как и все эволюционные алгоритмы, DE использует эвристику, поэтому мое объяснение будет немного волнистым.Как и все эволюционные алгоритмы, DE пытается сделать случайный поиск, который не является слишком случайным.Оператор мутации DE сначала вычисляет вектор между двумя случайными членами совокупности, затем добавляет этот вектор к третьему случайному члену совокупности.Это хорошо работает, потому что использует текущее население как способ выяснить, какой шаг сделать и в каком направлении.Если население широко рассеяно, разумно сделать большие шаги;если он сильно сконцентрирован, то разумно делать небольшие шаги.

Есть много причин, по которым DE работает лучше, чем GA Голдберга, но, сосредоточив внимание на операторах вариаций, я бы сказал, что самое большое различие заключается в том, что DE использует реальныекодированные переменные и GA использует двоичное кодирование.При оптимизации на непрерывном пространстве двоичное кодирование не является хорошим выбором.Это стало известно с начала 1990-х годов, и одной из первых вещей, которые возникли в результате столкновения между главным образом немецким сообществом по стратегии эволюции и главным образом американским сообществом генетических алгоритмов, был имитированный двоичный кроссовер Деб.Этот оператор действует как оператор кроссовера GA, но для переменных с реальным кодом.

...