Кроссовер (генетический алгоритм)
В генетических алгоритмах и эволюционных вычислениях , скрещивание также называемое рекомбинацией , представляет собой генетический оператор, используемый для объединения генетической информации двух родителей для создания нового потомства. Это один из способов стохастически генерировать новые решения из существующей популяции, аналогичный перекресту , который происходит при половом размножении в биологии . Решения также могут быть созданы путем клонирования существующего решения, что аналогично бесполому размножению . Вновь созданные решения могут быть мутированы перед добавлением в популяцию.
Различные алгоритмы эволюционных вычислений могут использовать разные структуры данных для хранения генетической информации, и каждое генетическое представление можно рекомбинировать с помощью разных операторов скрещивания. Типичными структурами данных , которые можно рекомбинировать с помощью кроссовера, являются битовые массивы , векторы действительных чисел или деревья .
Представленный ниже список операторов ни в коем случае не является полным и служит, главным образом, примерной иллюстрацией этого типа диадных генетических операторов . Больше операторов и более подробную информацию можно найти в литературе. [1] [2] [3] [4] [5]
Кроссовер для двоичных массивов [ править ]
Традиционные генетические алгоритмы хранят генетическую информацию в хромосоме , представленной битовым массивом . Методы кроссовера для битовых массивов популярны и являются наглядным примером генетической рекомбинации .
Одноточечный кроссовер [ править ]
Точка на хромосомах обоих родителей выбирается случайным образом и обозначается как «точка кроссовера». Биты справа от этой точки меняются местами между двумя родительскими хромосомами. В результате рождается два потомка, каждый из которых несет некоторую генетическую информацию от обоих родителей.
Двухточечное и k-точечное пересечение [ править ]
При двухточечном кроссовере две точки кроссовера выбираются случайным образом из родительских хромосом. Биты между двумя точками меняются местами между родительскими организмами.
Двухточечный кроссовер эквивалентен выполнению двух одноточечных кроссоверов с разными точками кроссовера. Эту стратегию можно обобщить до пересечения k-точек для любого положительного целого числа k, выбрав k точек пересечения.
Равномерный кроссовер [ править ]
При равномерном кроссовере обычно каждый бит выбирается из любого родителя с равной вероятностью. [6] Иногда используются другие соотношения смешивания, в результате чего потомство наследует больше генетической информации от одного родителя, чем от другого.При равномерном кроссовере мы не делим хромосому на сегменты, а рассматриваем каждый ген отдельно. При этом мы, по сути, подбрасываем монету для каждой хромосомы, чтобы решить, будет ли она включена в потомство.
действительных Кроссовер для целочисленных или геномов

Для операторов скрещивания, представленных выше, и для большинства других операторов скрещивания для битовых строк считается, что они также могут применяться соответственно к целочисленным или действительным геномам, каждый ген которых состоит из целого или действительного числа. Вместо отдельных битов в дочерний геном просто копируются целые или вещественные числа. Потомство лежит на оставшихся углах гипертела, охватываемого двумя родителями. и , как показано на сопроводительном изображении для трехмерного случая.
Дискретная рекомбинация [ править ]
Если при генерации потомка применяются правила равномерного скрещивания битовых строк, это также называется дискретной рекомбинацией . [7]
Промежуточная рекомбинация [ править ]

В этом операторе рекомбинации значения аллелей дочернего генома образуются путем смешивания аллелей двух родительских геномов. и : [7]
- случайным образом равномерно распределены по генам
Выбор интервала Это приводит к тому, что помимо внутренней части гипертела, охватываемой значениями аллелей родительских генов, под вопросом также находится определенная среда для диапазона значений потомства. Значение рекомендуется для чтобы противодействовать тенденции к снижению значений аллелей, которая в противном случае существует при . [8]
На соседнем рисунке для двумерного случая показан диапазон возможных новых аллелей двух образцовых родителей. и в промежуточной рекомбинации. Результат дискретной рекомбинации и также нанесены на график. Промежуточная рекомбинация удовлетворяет арифметическому вычислению значений аллелей детского генома, требуемому теорией виртуального алфавита. [9] [10] Дискретная и промежуточная рекомбинация используются в качестве стандарта в стратегии эволюции . [11]
Кроссовер для перестановок [ править ]
Для задач комбинаторных обычно используются перестановки , специально разработанные для геномов, которые сами являются перестановками множества . Базовый набор обычно представляет собой подмножество или . Если для таких геномов используется 1- или n-точечное или равномерное кроссовер для целочисленных геномов, дочерний геном может содержать некоторые значения дважды, а другие могут отсутствовать. Это можно исправить путем генетической репарации , например, путем замены избыточных генов с позиционной точностью на недостающие из генома другого ребенка.
Чтобы избежать генерации недействительного потомка, были разработаны специальные операторы скрещивания для перестановок. [12] которые удовлетворяют основным требованиям таких операторов к перестановкам, а именно, что все элементы исходной перестановки присутствуют и в новой и меняется только порядок. Различают комбинаторные задачи, в которых допустимы все последовательности, и задачи, в которых имеются ограничения в виде недопустимых частичных последовательностей. Хорошо известным представителем первого типа задач является задача коммивояжера (TSP), цель которой состоит в том, чтобы посетить набор городов ровно один раз за кратчайший тур. Примером ограниченного типа задачи является планирование нескольких рабочих процессов . Рабочие процессы включают ограничения последовательности на некоторых отдельных рабочих этапах. Например, резьбу нельзя нарезать, пока в заготовке не просверлено соответствующее отверстие. Такие задачи еще называют перестановками на основе порядка .
Далее в качестве примеров представлены два оператора кроссовера: частично отображенный кроссовер (PMX), основанный на TSP, и кроссовер порядка (OX1), предназначенный для перестановок на основе порядка. Второе потомство может быть произведено в каждом случае путем обмена родительскими хромосомами.
Частично отображенный кроссовер (PMX) [ править ]
Оператор PMX был разработан как оператор рекомбинации для TSP-подобных проблем. [13] [14] Объяснение процедуры иллюстрируется примером:
Процедура | Пример | Пример хромосомы | ||
Пусть даны две перестановки одного и того же множества. | и | |||
Случайным образом выберите две точки кроссовера, образующие сегмент гена в . | Здесь с позиции гена с 4 по 6. | |||
Выделенный участок копируется в дочернюю хромосому в том же положении. | Открытые позиции обозначены знаками вопроса. | |||
Ищите гены, которые не были скопированы в соответствующем сегменте начиная с первой точки пересечения. Для каждого найденного гена (называемого ), посмотрите в потомке, какой элемент (называемый ) было скопировано на свое место из . Копировать на должность, которую занимает в если он не занят. В противном случае перейдите к следующему шагу. | Ген является первым некопированным геном в соответствующем сегменте : . Ген было скопировано из на своем месте в . | |||
Позиция в это самое дальнее правое положение и будет помещен туда в . | ||||
Если место, занятое в уже занят элементом в потомке, ставится на место, занимаемое в . | Следующий ген в является и это уже скопировано в дочернюю хромосому. Таким образом, следующий ген, который нужно обработать, — это . Его положение в потомстве будет положением в . Однако это место уже занято геном . Так копируется в позицию в . | |||
После обработки генов из выбранного сегмента в , остальные позиции в потомстве заполняются генами из которые еще не скопированы, в порядке их появления. В результате получается готовый дочерний геном. | Гены, скопированные с являются и . | |||
Заказать кроссовер (OX1) [ править ]
Кроссовер заказов возвращается к Дэвису [1] в исходном виде и представлена здесь в несколько обобщенном варианте, имеющем более двух точек пересечения. Он передает информацию об относительном порядке от второго родителя потомку. Сначала число и положение точек пересечения определяются случайным образом. Полученные последовательности генов затем обрабатываются, как описано ниже:
Процедура | Пример | Пример хромосомы | ||
Пусть даны две перестановки одного и того же множества. | и | |||
Случайным образом выберите сегменты гена в . | Здесь два сегмента от положения гена с 1 по 2 и с 6 по 8. | |||
В качестве дочерней перестановки генерируется перестановка, содержащая выбранные сегменты гена в том же положении. | Открытые позиции обозначены знаками вопроса. | |||
Остальные недостающие гены теперь также переносятся, но в том порядке, в котором они появляются в . | Недостающие гены в примере это: | |||
В результате получается законченный геном ребенка. | Перенесенные гены подчеркнуты: | |||
Помимо прочего, пересечение заказов хорошо подходит для планирования нескольких рабочих процессов при использовании в сочетании с 1- и n-точечным пересечением. [15]
Дополнительные операторы скрещивания для перестановок [ править ]
Со временем было предложено большое количество операторов скрещивания для перестановок, поэтому следующий список — лишь малая часть. За дополнительной информацией читатель отсылается к литературе. [1] [5] [14] [12]
- велокроссовер (CX) [16] [14]
- кроссовер на основе порядка (OX2) [5] [17]
- позиционно-ориентированный кроссовер (POS) [5] [17]
- краевая рекомбинация [18] [14]
- рекомбинация голосования (VR) [12]
- кроссовер с переменным положением (AP) [12]
- максимальный консервирующий кроссовер (MPX) [5] [19]
- слияние кроссовера (MX) [5] [20]
- оператор последовательного конструктивного скрещивания (SCX) [21]
Обычный подход к решению проблем, подобных TSP, с помощью генетических или, в более общем плане, эволюционных алгоритмов, представленный ранее, заключается либо в исправлении незаконных потомков, либо в соответствующей настройке операторов, чтобы вообще не возникало незаконных потомков. В качестве альтернативы Риази предлагает использовать представление двойной хромосомы, что позволяет избежать незаконного потомства. [22]
См. также [ править ]
Библиография [ править ]
- Джон Холланд (1975). Адаптация в природных и искусственных системах , докторская диссертация, издательство Мичиганского университета , Анн-Арбор, Мичиган. ISBN 0-262-58111-6 .
- Швефель, Ханс-Пауль (1995). Эволюция и поиск оптимума . Нью-Йорк: Джон Уайли и сыновья. ISBN 0-471-57148-2 .
- Дэвис, Лоуренс (1991). Справочник по генетическим алгоритмам . Нью-Йорк: Ван Ностранд Рейнхольд. ISBN 0-442-00173-8 . ОСЛК 23081440 .
- Эйбен, А.Е.; Смит, Дж. Э. (2015). Введение в эволюционные вычисления . Серия естественных вычислений. Берлин, Гейдельберг: Springer. дои : 10.1007/978-3-662-44874-8 . ISBN 978-3-662-44873-1 . S2CID 20912932 .
- Ю, Синьцзе; Ген, Мицуо (2010). Введение в эволюционные алгоритмы . Инженерия принятия решений. Лондон: Спрингер. дои : 10.1007/978-1-84996-129-5 . ISBN 978-1-84996-128-8 .
- Бек, Томас; Фогель, Дэвид Б.; Михалевич, Збигнев, ред. (1999). Эволюционные вычисления. Том. 1. Основные алгоритмы и операторы . Бристоль: Паб Института физики. ISBN 0-585-30560-9 . OCLC 45730387 .
Ссылки [ править ]
- ^ Jump up to: Перейти обратно: а б с Дэвис, Лоуренс (1991). Справочник по генетическим алгоритмам . Нью-Йорк: Ван Ностранд Рейнхольд. ISBN 0-442-00173-8 . ОСЛК 23081440 .
- ^ Эйбен, А.Е.; Смит, Дж. Э. (2015). «Представление, мутация и рекомбинация». Введение в эволюционные вычисления . Серия Natural Computing (2-е изд.). Берлин, Гейдельберг: Springer. стр. 49–78. дои : 10.1007/978-3-662-44874-8 . ISBN 978-3-662-44873-1 . S2CID 20912932 .
- ^ Ю, Синьцзе; Ген, Мицуо (2010). «Кодирование и операторы». Введение в эволюционные алгоритмы . Инженерия принятия решений. Лондон: Спрингер. стр. 40–63. дои : 10.1007/978-1-84996-129-5 . ISBN 978-1-84996-129-5 . OCLC 654380156 .
- ^ Ю, Синьцзе; Ген, Мицуо (2010). «Операторы вариации кода перестановки». Введение в эволюционные алгоритмы . Инженерия принятия решений. Лондон: Спрингер. стр. 285–299. дои : 10.1007/978-1-84996-129-5 . ISBN 978-1-84996-128-8 .
- ^ Jump up to: Перейти обратно: а б с д и ж Букер, Лашон Б.; Фогель, Дэвид Б.; Уитли, Даррелл; Анджелина, Питер Дж.; Эйбен, А.Е. (2000). «Рекомбинация». Ин Бек, Томас; Фогель, Дэвид Б.; Михалевич, Збигнев (ред.). Эволюционные вычисления. Том. 1. Основные алгоритмы и операторы . Бристоль: Паб Института физики. стр. 256–307. ISBN 0-585-30560-9 . OCLC 45730387 .
- ^ Сисверда, Гилберт (1989), Шаффер, JD (редактор), «Равномерное кроссовер в генетических алгоритмах», Труды 3-й Международной конференции по генетическим алгоритмам (ICGA) , Сан-Франциско: Морган Кауфманн, стр. 2–9, ISBN 1558600663
- ^ Jump up to: Перейти обратно: а б Эйбен, А.Е.; Смит, Дж. Э. (2015). «Операторы рекомбинации для действительного представления». Введение в эволюционные вычисления . Серия Natural Computing (2-е изд.). Берлин, Гейдельберг: Springer. стр. 65–67. дои : 10.1007/978-3-662-44874-8 . ISBN 978-3-662-44873-1 . S2CID 20912932 .
- ^ Мюленбайн, Хайнц; Шлиркэмп-Воозен, Дирк (1993). «Прогностические модели для генетического алгоритма селекционера I. Непрерывная оптимизация параметров» . Эволюционные вычисления . 1 (1): 25–49. дои : 10.1162/evco.1993.1.1.25 . ISSN 1063-6560 . S2CID 16085506 .
- ^ Голдберг, Дэвид Э. (1991). «Генетические алгоритмы реального кода, виртуальные алфавиты и блокировка» . Комплексная система . 5 (2): 139–167.
- ^ Стендер, Дж.; Хиллебранд, Э.; Кингдон, Дж. (1994). Генетические алгоритмы в оптимизации, симуляции и моделировании . Амстердам: IOS Press. ISBN 90-5199-180-0 . OCLC 47216370 .
- ^ Швефель, Ханс-Пауль (1995). Эволюция и поиск оптимума . Нью-Йорк: Уайли. ISBN 0-471-57148-2 . ОСЛК 30701094 .
- ^ Jump up to: Перейти обратно: а б с д Ларраньяга, П.; Куиджперс, CMH; Мурга, Р.Х.; Инза, И.; Диздаревич, С. (1999). «Генетические алгоритмы решения задачи коммивояжера: обзор представлений и операторов» . Обзор искусственного интеллекта . 13 (2): 129–170. дои : 10.1023/А:1006529012972 . S2CID 10284682 .
- ^ Голдберг, Дэвид Э.; Лингл, Р. (1985), Грефенстетт, Джон Дж. (редактор), «Аллели, локусы и проблема коммивояжера», Труды Первой международной конференции по генетическим алгоритмам и их приложениям (ICGA) , Хиллсдейл, Нью-Джерси: Lawrence Erlbaum Associates, стр. 154–159, ISBN 0-8058-0426-9 , OCLC 19702892
- ^ Jump up to: Перейти обратно: а б с д Эйбен, А.Е.; Смит, Дж. Э. (2015). «Рекомбинация для представления перестановок». Введение в эволюционные вычисления . Серия Natural Computing (2-е изд.). Берлин, Гейдельберг: Springer. стр. 70–74. дои : 10.1007/978-3-662-44874-8 . ISBN 978-3-662-44873-1 . S2CID 20912932 .
- ^ Якоб, Вильфрид; Квинт, Александр; Стаки, Карл-Уве; Зюсс, Вольфганг (2008), Рудольф, Гюнтер; Янсен, Томас; Бёме, Никола; Лукас, Саймон (ред.), «Быстрое многоцелевое планирование заданий с ограниченными ресурсами с использованием гибридного эволюционного алгоритма» , «Параллельное решение проблем из природы» – PPSN X , vol. LNCS 5199, Берлин, Гейдельберг: Springer, стр. 1031–1040, doi : 10.1007/978-3-540-87700-4_102 , ISBN 978-3-540-87699-1 , получено 14 января 2023 г.
- ^ Оливер, IM; Смит, диджей; Холланд, Дж. (1987), Грефенстетт, Джон Дж. (редактор), «Исследование операторов скрещивания перестановок в задаче коммивояжера», Труды Второй международной конференции по генетическим алгоритмам и их приложениям (ICGA) , Хиллсдейл, Нью-Джерси: Lawrence Erlbaum Associates, стр. 224–230, ISBN. 978-0-8058-0158-3
- ^ Jump up to: Перейти обратно: а б Сисверда, Гилберт (1991). «Оптимизация расписания с использованием генетических алгоритмов». В Дэвисе, Лоуренс (ред.). Справочник по генетическим алгоритмам . Нью-Йорк: Ван Ностранд Рейнхольд. стр. 332–349. ISBN 0-442-00173-8 . ОСЛК 23081440 .
- ^ Уитли, Даррелл; Старквезер, Тимоти; Фукуэй, Д'Анн (1989), Шаффер, JD (редактор), «Проблемы планирования и странствующие продавцы: оператор рекомбинации генетических краев», Труды 3-й Международной конференции по генетическим алгоритмам (ICGA) , Сан-Франциско: Морган Кауфманн, стр. 133–140, ISBN. 1558600663
- ^ Джубера, Джон; Уитли, Даррелл (1994), Давидор, Юваль; Швефель, Ханс-Пауль; Мэннер, Рейнхард (ред.), «Расширенный корреляционный анализ операторов для задачи коммивояжера» , «Параллельное решение проблем из природы» — PPSN III , том. 866, Берлин, Гейдельберг: Springer, стр. 68–77, doi : 10.1007/3-540-58484-6_251 , ISBN. 978-3-540-58484-1 , получено 15 января 2023 г.
- ^ Блэнтон, Джо Л.; Уэйнрайт, Роджер Л. (1993), Форрест, Стефани (редактор), «Маршрутизация нескольких транспортных средств с ограничениями по времени и мощности с использованием генетических алгоритмов», Труды 5-й Международной конференции по генетическим алгоритмам (ICGA) , Сан-Франциско: Морган Кауфманн, стр. 452–459, ISBN. 978-1-55860-299-1
- ^ Ахмед, Закир Хусейн (2000). Последовательная конструктивная выборка и связанные с ней подходы к комбинаторной оптимизации (доктор философии). Университет Тезпур, Индия.
- ^ Риази, Амин (14 октября 2019 г.). «Генетический алгоритм и двуххромосомная реализация задачи коммивояжера» . С.Н. Прикладные науки . 1 (11). дои : 10.1007/s42452-019-1469-1 .
Внешние ссылки [ править ]
- Группа новостей: Часто задаваемые вопросы по comp.ai.genetic — см. раздел о скрещивании (также известном как рекомбинация).