Top Banner

of 16

Operador de transformación (cruce o cruza) - Algoritmos genéticos

Jul 06, 2018

Download

Documents

Ivan Sanchez
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    1/16

    Iván Sánchez Martínez

    Alumno de la Licenciatura en Ingeniería en ComputaciónFacultad de Ciencias Básicas, Ingeniería y Tecnología - Universidad Autónoma de Tlaxcala

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    2/16

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    3/16

    • Cruza de un punto• Cruza de dos puntos• Cruza uniforme

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    4/16

    Holland [1]

    Varios esquemas que no pueden formarse bajo esta técnica de cruz

    La cruza de un punto es el operador de reproducción en la que se sedos individuos (padres) y se escoge una posición al azar y se intercamgenes a partir de este punto para generar dos nuevos individuos (hijos)

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    5/16

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    6/16

    Conjunto de cromosomas que siguen un patrón.

    • numero de posiciones fijas en el esquema H

    = 2 − = 2 5−3 = 4

    o(H) = 3

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    7/16

    La cruza de un punto destruye esquemas en los que la longitud dedefiniciones alta. Sesgo posicional

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    8/16

    DeJong, Fue el primero en implementar una cruza de n puntos

    El valor n = 2 es el que minimiza los efectos disruptivos (o destructivos) dy de ahí que sea usado con gran frecuencia.Se escogen dos puntos y se hacen los intercambios correspondientes , y

    también hay cruza de n puntos .

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    9/16

    0 0 0 0 0 0 0 1 1 1 1 1 1 1

    Para generar la descendencia se escoge el segmento central de uno de los padres y lossegmentos laterales del otro padre

    0 0 0 0 0 0 0 1 1 1 1 1 1 1

    0 0 1 1 1 0 0

    Hijo 1

    1 1 0 0 0 1 1

    Hijo2

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    10/16

    Ackley [1], aunque se le suele atribuir a Syswerda [217]La cruza uniforme tiene un mayor efecto disruptivo, suele usarse

    con P c = 0.5

    Cada gen de la descendencia tiene las mismas probabilidades de pertenecer a unou a otro padre. En este caso, se trata de una cruza de n puntos , pero en lnumero de puntos de cruza no se fija previamente.

    P c = 0.5, hay una alta probabilidad de que todo tipo de cadena binaria de longitud L sea generadacomo mascara de copiado de bits

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    11/16

    El numero efectivo de puntos de cruce es fijo pero será por terminomedio L/2, siendo L la longitud del cromosoma.

    A B C D E F G

    1 0 0 1 0 1 1

    Padre 1

    L=7

    NEP=

    1 2 3 4 5 6 7Padre 2

    A 2 3 D 4 F GHijo 1

    A B C D E F G

    1 2 3 4 4 F 6

    Mascara

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    12/16

    Schaffer y Morishima

    En vez de calcular directamente la mascara (o patrón) de cruza, la idea es usar una cadenbinaria de “marcas” para indicar la localización de los puntos de cruza.La información extra se agrega al cromosoma de manera que el numero y localizaciones los puntos de cruza pueda ser objeto de manipulación por el AG. Por tanto, las cadenastendrán una longitud del doble de su tamaño original.Marcamos con “1” las posiciones donde hay cruza y con “0” las posiciones donde no la haySe suelen usar signos de admiraci´on para facilitar la escritura de las cadenas.

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    13/16

    Cadena Original

    L=10

    0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0

    Puntos de cru

    L=1001 !100 !01100

    • Copiar los bits de cada padre hacia sus hijos, de uno en uno.• En el momento en que se encuentra un signo de admiración en cualquiera de los

    padres, se efectúa la cruza (es decir, se invierte la procedencia de los bits en los h• Cuando esto ocurre, los signos de admiración se copian también a los hijos, just

    de que la cruza se efectué

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    14/16

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    15/16

    John H. Holland. Adaptation in Natural and Artificial SystemsUniversity of Michigan Press, Ann Arbor, Michigan, 1975• Coello, C. A. C. (2003). Introducción a la computación evolutiva (N

    de curso). CINVESTAVIPN. Instituto Politécnico Nacional México

  • 8/18/2019 Operador de transformación (cruce o cruza) - Algoritmos genéticos

    16/16

    “La verdad rara vez es pura, ynunca simple”

    Oscar Wilde