Algoritmo evolutivo para las damas chinas
Un cromosoma es representado por un arreglo unidimensional de enteros en el cual se almacenan números aleatorios en un rango dentro del tamaño “n” indicado para el cromosoma,es decir, si el tamaño que se indicó es 6 en cada posición del arreglo se almacenará un número aleatorio entre 0 y 5. También, cada fila del arreglo representará una columna del tablero, mientras elnúmero aleatorio introducido representará una fila.
Ejemplo.
Cromosoma = [3, 4, 0, 3, 2, 5], tamaño = 6
X
X
X X
X
X
Fila 0
Fila 1
Fila 2
Fila 3
Fila 4
Fila5
Operadores modificadores
Usamos dos operadores modificadores para la reproducción de los cromosomas en las nuevas generaciones, estos fueron el cruce y la mutación.
Cruce: recibe comoentrada un cromosoma padre y otro cromosoma madre, de ellos se seleccionan aleatoriamente los genes que tomará cada cromosoma hijo, si el número generado aleatoriamente entre 0 y 1 es menor a 0.5 setomará el gen del padre, de lo contrario se tomará el gen de la madre.
Mutación: Cambia el valor de un gen dentro del cromosoma en una posición aleatoria por un valor también aleatorio.
Creaciónde generaciones.
Cada nueva generación de cromosomas tiene el mismo tamaño de la generación inicial y el método de selección es por torneo. Cada nueva generación está compuesta por cromosomas hijosque han sido sometidos primero a cruce y luego a mutación, por la selección por torneo se tomarán aleatoriamente 3 cromosomas de la generación y el que tenga mejor función de aptitud tendrá paso a lanueva generación. Este es el aspecto fundamental en todo el proceso del algoritmo para garantizar que pueda catalogarse como evolutivo.
Función de aptitud
El resultado de nuestra funciónde aptitud es representado por un número entero, por defecto este número será 1 e indicará que no hubo amenazas por parte de ninguna dama, loa evaluación consiste en descontar 1 por cada amenaza...
Regístrate para leer el documento completo.