КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Масштабирование функции приспособленности
Масштабирование функции приспособленности выполняется, чаще всего, по двум причинам. Во-первых (об этом уже говорилось при обсуждении методов селекции), для предотвращения преждевременной сходимости генетического алгоритма. Во-вторых (в конечной фазе выполнения алгоритма), в случае, когда в популяции сохраняется значительная неоднородность, однако среднее значение приспособленности ненамного отличается от максимального значения. Масштабирование функции приспособленности позволяет предупредить возникновение ситуации, в которой средние и наилучшие особи фор- мируют практически одинаковое количество потомков в следующих поколениях, что считается нежелательным явлением. Преждевременная сходимость алгоритма заключается в том, что в популяции начинают доминировать наилучшие, но еще не оптимальные хромосомы. Такая возможность характерна для алгоритмов с селекцией по методу колеса рулетки. Через несколько поколений при селекции, пропорциональной значению функции приспособленности, популяция будет состоять исключительно из копий наилучшей хромосомы исходной популяции. Представляется маловероятным, что именно эта хромосома будет соответствовать оптимальному решению, поскольку исходная популяция - это, как правило, небольшая случайная выборка из всего пространства поиска. Масштабирование функции приспособленности предохраняет популяцию от доминирования неоптимальной хромосомы и тем самым предотвращает преждевременную сходимость генетического алгоритма. Масштабирование заключается в соответствующем преобразовании функции приспособленности. Различают 3 основных метода масштабирования: линейное, сигма-отсечение и степенное [15, 33]. Линейное масштабирование (linear scaling) заключается в преобразовании функции приспособленности F к форме F через линейную зависимость вида F = a-F + Ь, где а и Ь - константы, которые следует подбирать таким образом, чтобы среднее значение функции приспособленности после масштабирования было равно ее среднему значению до масштабирования, а максимальное значение функции приспособленности после масштабирования было кратным ее среднему значению. Коэффициент кратности чаще всего выбирается в пределах от 1,2 до 2. Необходимо следить за тем, чтобы функция F не принимала отрицательные значения. Сигма-отсечение (sigma truncation) - метод масштабирования, основанный на преобразовании функции приспособленности F к форме F согласно выражению F = F + (F-c-cx), где F обозначает среднее значение функции приспособленности по всей популяции, с - малое натуральное число (как правило, от 1 до 5), а с - стандартное отклонение по популяции. Если расчетные значения F' отрицательны, то они принимаются равными нулю. Степенное масштабирование (power law scaling) представляет собой метод масштабирования, при котором функция приспособленности F преобразуется к форме F' согласно выражению F'=Fk, где к - число, близкое 1. Значение к обычно подбирается эмпирически с учетом специфики решаемой задачи. Например, можно использовать к= 1,005. 4.8. Модификации классического генетического алгоритма 4.8.6. Ниши в генетическом алгоритме В различных оптимизационных задачах часто приходится иметь дело с функциями, имеющими несколько оптимальных решений. Основной генетический алгоритм в таких случаях находит только глобальный оптимум, но если имеется несколько оптимумов с одним и тем же значением, то он отыскивает только один из них. В некоторых задачах бывает важным найти не только глобальный оптимум, но и локальные оптимумы (не обязательно все). Концепция реализации в генетических алгоритмах подхода, основанного на известных из биологии понятиях ниш и видов, позволяет находить большую часть оптимумов. Практически применяемый в генетическом алгоритме метод образования ниш и видов основан на так называемой функции соучастия (sharing function). Эта функция определяет уровень близости и степень соучастия для каждой хромосомы в популяции. Функция соучастия обозначается s(cfj), где d-,j- мера расстояния между хромосомами ch,- и ch/. В программе FlexTool [48] это расстояние определяется по формуле ".= £ где р означает размерность задачи, xj< min и xfc max определяют соответственно минимальное и максимальное значение k-vo параметра, xKi и х/у - обозначают соответственно /с-й параметр /-й и у-й особей. Очевидно, что расстояние между хромосомами рассчитывается на основе соответствующих им фенотипов. Функция соучастия s(cf;y) должна обладать следующими свойствами: О < s(djj) < 1 для каждого d/j, s(0)=1, lim s(dj:) = O. de-xo Одна из функций, для которой эти условия выполняются, име- 1~(djjlo-sf, если df<ore,
О в противном случае, где <rs и со - константы В программе FlexTool os = 0,5 * g~1/p> где q обозначает задаваемое пользователем примерное количество пиков оптимизируемой функции. Значение со принимается равным 1, что означает одинаковую степень соучастия соседних особей. В этом случае новое значение функции приспособленности хромосомы сп,- рассчитывается по формуле *
/=(ch,) где N обозначает количество хромосом в популяции. Если хромосома ch/ находится в своей нише в одиночестве, то Fs(ch,) = F(ch,). В противном случае значение функции приспособленности уменьшается пропорционально количеству и степени близости соседствующих хромосом. Из выражения (4.17) следует, что увеличение количества похожих друг на друга (т.е. принадлежащих к одной и той же нише) хромосом ограничено, поскольку такое увеличение приводит к уменьшению значения функции приспособленности. В программе FlexTool при реализации генетического алгоритма с нишами представляемый метод используется на завершающем этапе обработки каждого поколения. Имеются также и различные модификации процедуры образования ниш для генетического алгоритма. Например, можно определить меру расстояния между хромосомами не на уровне фенотипа (т.е. параметров задачи), а на уровне генотипа. В этом случае аргументом функции соучастия будет расстояние Хемминга между кодовыми последовательностями [15]. Известны и другие подходы к модификации функции приспособленности для генетического алгоритма с нишами [33].
Дата добавления: 2015-06-04; Просмотров: 775; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |