Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше
Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике
4.8.6. Ниши в генетическом алгоритме
В различных оптимизационных
задачах часто приходится иметь дело с функциями, имеющими несколько оптимальных
решений. Основной генетический алгоритм в таких случаях находит только
глобальный оптимум, но если имеется несколько оптимумов с одним и тем же значением,
то он отыскивает только один из них. В некоторых задачах бывает важным найти не
только глобальный оптимум, но и локальные оптимумы (не обязательно все).
Концепция реализации в генетических алгоритмах подхода, основанного на
известных из биологии понятиях ниш и видов, позволяет находить большую часть
оптимумов. Практически применяемый в генетическом алгоритме метод образования
ниш и видов основан на так называемой функции соучастия (sharing function). Эта
функция определяет уровень близости и степень соучастия для каждой хромосомы в
популяции. Функция соучастия обозначается
, где
- мера расстояния между хромосомами
и
. В программе FlexTool [48] это
расстояние определяется по формуле
,
где
означает
размерность задачи,
и
определяют
соответственно минимальное и максимальное значение
–го параметра,
и
- обозначают соответственно
-й параметр
-й и
-й особей. Очевидно,
что расстояние между хромосомами рассчитывается на основе соответствующих им
фенотипов.
Функция соучастия
должна обладать
следующими свойствами:
для
каждого
,
,
.
Одна из функций, для которой эти
условия выполняются, имеет вид
где
и
- константы.
В программе FlexTool
, где
обозначает задаваемое
пользователем примерное количество пиков оптимизируемой функции. Значение со
принимается равным 1, что означает одинаковую степень соучастия соседних
особей. В этом случае новое значение функции приспособленности хромосомы
рассчитывается по
формуле
, (4.17)
где
обозначает
количество хромосом в популяции.
Если хромосома
находится в своей
нише в одиночестве, то
. В противном случае значение функции
приспособленности уменьшается пропорционально количеству и степени близости
соседствующих хромосом. Из выражения (4.17) следует, что увеличение количества
похожих друг на друга (т.е. принадлежащих к одной и той же нише) хромосом
ограничено, поскольку такое увеличение приводит к уменьшению значения функции
приспособленности. В программе FlexTool при реализации генетического алгоритма
с нишами представляемый метод используется на завершающем этапе обработки
каждого поколения.
Имеются также и различные
модификации процедуры образования ниш для генетического алгоритма. Например,
можно определить меру расстояния между хромосомами не на уровне фенотипа (т.е.
параметров задачи), а на уровне генотипа. В этом случае аргументом функции
соучастия будет расстояние Хемминга между кодовыми последовательностями [15].
Известны и другие подходы к модификации функции приспособленности для
генетического алгоритма с нишами [33].