Рекомбинация (воспроизведение)
Оператор рекомбинации применяют сразу же после оператора отбора родителей для получения новых особей-потомков. Смысл рекомбинации заключается в том, что созданные потомки должны наследовать генную информацию от обоих родителей. Различают дискретную рекомбинацию и кроссинговер.
Дискретная рекомбинация (Discrete recombination) в основном применяется к хромосомам с вещественными генами. Основными способами дискретной рекомбинации являются собственно дискретная рекомбинация, промежуточная и линейная рекомбинации.
Дискретная рекомбинация соответствует обмену генами между особями. Для иллюстрации данного оператора сравним две особи с тремя генами:
|
Особь 1 |
12 |
25 |
7 |
|
Особь 2 |
116 |
4 |
34 |
Для создания двух потомков с равной вероятностью случайно выберем номер особи для каждого гена:
|
Схема 1 |
2 |
2 |
1 |
|
Схема 2 |
1 |
2 |
1 |
Согласно схеме создадим потомков:
|
Потомок 1 |
116 |
4 |
7 |
|
Потомок 2 |
12 |
4 |
7 |
Дискретная рекомбинация применима для любого типа генов (двоичные, вещественные и символьные).
Промежуточная рекомбинация (Intermediate recombination) применима только к вещественным переменным, но не к бинарным. В данном методе предварительно определяется числовой интервал значений генов потомков, который должен содержать значения генов родителей. Потомки создаются по следующему правилу:
Потомок = Родитель 1 + ![]()
(Родитель 2 - Родитель 1),
где множитель ![]()
- случайное число на отрезке [-d, 1 + d], d ![]()
0. Как отмечают сторонники этого метода, наиболее оптимальное воспроизведение получается при d = 0,25. Для каждого гена создаваемого потомка выбирается отдельный множитель ![]()
.
При промежуточной рекомбинации возникают значения генов, отличные от значения генов особей-родителей. Это приводит к возникновению новых особей, пригодность которых может быть лучше, чем пригодность родителей. Иногда такой оператор рекомбинации называется дифференциальным скрещиванием.
Линейная рекомбинация (Line recombination) отличается от промежуточной тем, что множитель ![]()
выбирается для каждого потомка один раз. Если рассматривать особи популяции как точки в k-мерном пространстве, где k - количество генов в одной особи, то можно сказать, что при линейной рекомбинации генерируемые точки потомков лежат на прямой, заданной двумя точками - родителями.
Кроссинговер (бинарная рекомбинация)
Рекомбинацию бинарных строк принято называть кроссинговером (кроссовером) или скрещиванием.
Одноточечный кроссинговер (Single-point crossover) моделируется следующим образом. Пусть имеются две родительские особи с хромосомами XXXXXX и YYYYYY. Случайным образом определяется точка внутри хромосомы (точка разрыва), в которой обе хромосомы делятся на две части и обмениваются ими:
Такой тип кроссинговера называется одноточечным, так как при нем родительские хромосомы разделяются только в одной случайной точке.