PMX (programación evolutiva)
Apariencia
PMX (Partially Mapped Crossover) o cruce por emparejamiento parcial es un operador de cruce utilizado en Computación evolutiva. Consiste en elegir un subsegmento de uno de los progenitores y cruzarlos preservando el orden y la posición de la mayor cantidad de genes posible del otro manteniendo la coherencia.
Algoritmo
[editar]- Elegir dos puntos de corte aleatorios
- Copiar intercambiadas en los hijos las subcadenas comprendidas entre dos puntos de corte anteriores
- Para los valores que faltan en los hijos, se copian los valores de los padres de la siguiente forma:
- Si el valor a copiar no está en la subcadena, se copia igual
- En caso contrario, se copia por el valor que tenga dicha subcadena en el otro padre