Inne operatory krzyżowania


Problemy szeregowania

Geny umieszczone między znakami | oznaczają sekcję kojarzenia, czyli ciąg genów wymienianych między rodzicami w procesie krzyżowania.

Krzyżówka OX. Zaproponował ją Davis; buduje potomstwo przez wybór podciągu z uszeregowania i zachowanie względnej kolejności zadań z drugiego rodzica.
Np. dwoje rodziców:
R1 = (1,2,3 | 4,5,6,7 | 8,9)
R2 = (4,5,2 | 1,8,7,6 | 9,3)
Na początku segmenty pomiędzy punktami cięcia są kopiowane do potomków:
P1 = (x,x,x | 4,5,6,7 | x,x)
P2 = (x,x,x | 1,8,7,6 | x,x)
Następnie poczynając od drugiego punktu cięcia pierwszego rodzica, zadania z drugiego rodzica są kopiowane w tej samej kolejności, pomijając symbole już istniejące. Po osiągnięciu końca ciągu kontynuujemy od pierwszej pozycji ciągu.
P1 = (2,1,8 | 4,5,6,7 | 9,3)
P2 = (3,4,5 | 1,8,7,6 | 9,2)

Operator losowy z uzupełnianiem działający w ten sposób, że losowane są pozycje zadań przenoszonych bezpośrednio z rodziców do potomków, a reszta - jest uzupełniana z drugiego rodzica (z pominięciem zadań powtarzających się).
Rozważmy np. parę rodziców:
R1 = (1,2,3,4,5,6,7,8,9)
R2 = (2,4,1,7,8,3,9,5,6)
Niech dla pierwszego rodzica wylosowano niezmienione pozycje nr 2,4,5,8, a dla drugiego - 1,2,6,9.
Zadania na tych pozycjach są przepisywane do potomków:
P1 = (x,2,x,4,5,x,x,8,x)
P2 = (2,4,x,x,x,3,x,x,6)
reszta jest przenoszona z drugiego rodzica dając w rezultacie parę:
P1 = (1,2,7,4,5,3,9,8,6)
P2 = (2,4,1,5,7,3,8,9,6).

Operator PMX wykorzystuje mapę wymiany, która zawiera pary odpowiadających sobie elementów w obu rodzicach.
Rozważmy parę rodziców:
R1 = (1,2,3 | 4,5,6 | 7,8,9)
R2 = (2,4,1 | 7,8,3 | 9,5,6),
Mapa wymiany ma postać:
M=(1-2, 2-4, 3-1, 4-7, 5-8, 6-3, 7-9, 8-5, 9-6).
Po wymianie sekcji kojarzenia otrzymujemy parę potomków:
P1 = (x,x,x | 7,8,3 | x,x,x)
P2 = (x,x,x | 4,5,6 | x,x,x).
Pozostałe geny są uzupełniane z odpowiedniego rodzica, a w przypadku wartości powtarzających się - geny są wstawiane zgodnie z mapą wymiany. W rezultacie otrzymujemy parę potomków:
P1 = (1,2,6,7,8,3,4,5,9)
P2 = (2,7,1,4,5,6,9,8,3).