Ir al contenido

PMX (programación evolutiva)

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 01:13 18 ago 2012 por XanaG (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

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

  1. Elegir dos puntos de corte aleatorios
  2. Copiar intercambiadas en los hijos las subcadenas comprendidas entre dos puntos de corte anteriores
  3. Para los valores que faltan en los hijos, se copian los valores de los padres de la siguiente forma:
    1. Si el valor a copiar no está en la subcadena, se copia igual
    2. En caso contrario, se copia por el valor que tenga dicha subcadena en el otro padre