Поскольку мы ожидаем возможного решения из генетического алгоритма, так будет ли генетический алгоритм предоставлять каждый раз каждый выход с одинаковым набором входных данных?Будет ли генетический алгоритм предоставлять разные результаты каждый раз?
ответ
Это зависит.
- GAs пройдут разные маршруты через пространство для решения; и
- ГА не гарантируется сходиться
газы, как правило, используются на сложных задачах с большими пространствами решений с извитыми выигрышами и локальными минимумами. В таких проблемах вы не ожидаете идентичных выходов в конце запуска GA.
С другой стороны, GA могут применяться к большим проблемам, которые имеют один правильный ответ. В таких ситуациях население может сходиться.
Хорошая реализация GA поддержит воспроизводимых результатов. Это относится ко всей метаэвристике (не только к GA). Воспроизводимое означает, что тот же самый запуск даст тот же порядок того же набора новых наилучших решений. В зависимости от фактического времени процессора, заданного для процесса, количество итераций может отличаться, и поэтому они могут не заканчиваться одним и тем же лучшим решением.
Внутренне, воспроизводимые результаты следует, что:
- все использует 1 seeded Random instance.
- даже параллельных реализаций дают воспроизводимые результаты (=> нет работы Stealing)
- ...
В процессе разработки воспроизводимости стоит на вес золота найти, диагностировать, отлаживать и исправлять ошибки.
В производстве несколько компаний отключают его (чтобы воспользоваться преимуществами производительности, например, кражей работы), но большинство предприятий по-прежнему любят его оставлять.
См. Http://stackoverflow.com/questions/1039088/how-should-i-test-a-genetic-algorithm – dnault