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