Арифметический кроссовер (arithmetical crossover): создаются два потомка
, , где , , , w либо константа (равномерный арифметический кроссовер) из интервала , либо изменяется с увеличением эпох (неравномерный арифметический кроссовер).Геометрический кроссовер (geometrical crossover): создаются два потомка
, , где , , w – случайное число из интервала .Смешанный кроссовер (blend, BLX-alpha crossover): генерируется один потомок
, где – случайное число из интервала , , , . BLX-0.0 кроссовер превращается в плоский.Линейный кроссовер (linear crossover): создаются три потомка
, , где , , . На этапе селекции в этом кроссовере отбираются два наиболее сильных потомка.Дискретный кроссовер (discrete crossover): каждый ген
выбирается случайно по равномерному закону из конечного множества .Расширенный линейчатый кроссовер (extended line crossover): ген
, w – случайное число из интервала .Эвристический кроссовер (Wright’s heuristic crossover). Пусть
– один из двух родителей с лучшей приспособленностью. Тогда , w – случайное число из интервала .Нечеткий кроссовер (fuzzy recombination, FR-d crossover): создаются два потомка
, . Вероятность того, что в i-том гене появится число , задается распределением , где – распределения вероятностей треугольной формы (треугольные нечеткие функции принадлежности) со следующими свойствами ( и ):Распределение вероятностей | Минимум | Центр | Максимум |
Параметр d определяет степень перекрытия треугольных функций принадлежности, по умолчанию
.В качестве оператора мутации наибольшее распространение получили: случайная и неравномерная мутация (random and non-uniform mutation).
При случайной мутации ген, подлежащий изменению, принимает случайное значение из интервала своего изменения. В неравномерной мутации значение гена после оператора мутации рассчитывается по формуле:
Сложно сказать, что более эффективно в каждом конкретном случае, но многочисленные исследования доказывают, что непрерывные генетические алгоритмы не менее эффективно, а часто гораздо эффективнее справляются с задачами оптимизации в многомерных пространствах, при этом более просты в реализации из-за отсутствия процедур кодирования и декодирования хромосом.
Рассмотренные кроссоверы исторически были предложены первыми, однако во многих задачах их эффективность оказывается невысокой. Исключение составляет BLX-кроссовер с параметром
– он превосходит по эффективности большинство простых кроссоверов. Позднее были разработаны улучшенные операторы скрещивания, аналитическая формула которых и эффективность обоснованы теоретически. Рассмотрим подробнее один из таких кроссоверов – SBX.SBX (англ.: Simulated Binary Crossover) – кроссовер, имитирующий двоичный. Был разработан в 1995 году исследовательской группой под руководством K. Deb’а. Как следует из его названия, этот кроссовер моделирует принципы работы двоичного оператора скрещивания.
SBX кроссовер был получен следующим способом. У двоичного кроссовера было обнаружено важное свойство – среднее значение функции приспособленности оставалось неизменным у родителей и их потомков, полученных путем скрещивания. Затем автором было введено понятие силы поиска кроссовера (search power). Это количественная величина, характеризующая распределение вероятностей появления любого потомка от двух произвольных родителей. Первоначально была рассчитана сила поиска для одноточечного двоичного кроссовера, а затем был разработан вещественный SBX кроссовер с такой же силой поиска. В нем сила поиска характеризуется распределением вероятностей случайной величины
:Для генерации потомков используется следующий алгоритм, использующий выражение для
. Создаются два потомка , , где , – число, полученное по формуле:В формуле
– случайное число, распределенное по равномерному закону, – параметр кроссовера.На рисунке приведена геометрическая интерпретация работы SBX кроссовера при скрещивании двух хромосом, соответствующих вещественным числам 2 и 5. Видно, как параметр n влияет на конечный результат: увеличение n влечет за собой увеличение вероятности появления потомка в окрестности родителя и наоборот.