Описание тега genetic-algorithm
Генетический алгоритм - это эвристика оптимизации, основанная на принципах, лежащих в основе биологической эволюции: вариации (в результате мутации и рекомбинации), наследования и отбора. По сравнению с традиционными методами поиска, такими как градиентный спуск и восхождение на холм, генетические алгоритмы обладают способностью выходить из локальных минимумов / максимумов.
Функциональность генетических алгоритмов определяется генетическими операторами и их стратегиями: генерация исходных популяций, кроссовер, мутация, решения-кандидаты, оценка состояния здоровья (функция приспособленности). Существует больше разных подходов к разработке генетических операторов, и они подходят для разных типов задач оптимизации. Это поддерживает высокую гибкость генетических алгоритмов.
Короче говоря, популяция - это набор предлагаемых решений, где решение - это хромосома. После оценки ГА будет отслеживать наиболее эффективные хромосомы. Это означает, что эти кандидаты решений оцениваются с помощью функции пригодности, которая некоторым образом оценивает их способность решать желаемую проблему. Решения с более высокой оценкой имеют "потомство", которое является результатом случайного применения к ним случайных изменений (мутаций). Часто также используется рекомбинация путем смешивания двух или более растворов с высокими показателями.
Мощь ГА также можно увидеть, используя другой тип кодирования населения и представления символьной модели. В модели мы можем легко представить различные значения реальных характеристик характеристик в цифровом представлении. Таким образом, мы можем манипулировать значениями разной природы в рамках одной цели (функции приспособленности).
Генетические алгоритмы - это подмножество категории эволюционных алгоритмов. Традиционно генетические алгоритмы представляют решения проблемы оптимизации в виде последовательности нулей и единиц, хотя в более поздних подходах используются более сложные представления.
Родственный термин генетическое программирование относится к алгоритмам, в которых эволюция применяется к коду, а не к более абстрактному представлению решения.