Escolar Documentos
Profissional Documentos
Cultura Documentos
Resumen - A partir del desarrollo de la Computación el reinas, nótese que nuestra preocupación por que se hallen
problema de las n-Reinas ha sido discutido en términos de dos reinas en la misma columna o fila es nula puesto que se
esta ciencia y tratado a través de algoritmos de vuelta-atrás, necesitaría la repetición de algún número en el vector. Cabe
programación estructurada, el paradigma de divide y mencionar que puede haber más de una solución.
vencerás, recursividad y más recientemente con el uso de
algoritmos genéticos como alternativa a las técnicas de
programación tradicional. En este trabajo se presenta el II. ALGORITMOS GENÉTICOS
diseño y la implementación en java de un algoritmo genético
que resuelve el problema de las n-reinas. Los Algoritmos Genéticos son una técnica de resolución de
problemas de búsqueda y optimización inspirada en la teoría
de la evolución de las especies y selección natural. Trabajan
I. INTRODUCCIÓN con una colección o “población” de soluciones candidatas o
“individuos”, para los que se calcula una medida de su
El problema de las n-Reinas es una generalización del “adaptación” o capacidad de ser solución al problema a
problema de las 8 reinas propuesto por primera vez en 1848 resolver. Todo algoritmo genético consta de elementos
por el jugador alemán de ajedrez Max Bezzel en el Berliner específicos que los distinguen de los demás entre ellas están:
Schachzeitung [1] y consiste en colocar n Reinas en un Representación de los individuos y la función de aptitud.
tablero cuadrangular de dimensiones n x n de tal forma que
ninguna de ellas se ataque, en otras palabras el objetivo es El algoritmo genético consta de los siguientes pasos
colocar n reinas en el tablero teniendo en cuenta no colocar Generación de la población
más de dos en la misma columna, fila o diagonal del tablero. Selección
Un ejemplo de configuración de un tablero para el problema Evaluación de la población
de 2-,3- y 4-reinas esta dado en la Figura 1. Como se puede Cruzamiento
observar no hay solución para el problema de 2- y 3-reinas, Mutación.
por lógica tampoco o hay para 1-reina.
Los cuales se repiten hasta que se ha cumplido el criterio de
La literatura describe varios métodos para hallar soluciones parada establecido que puede ser acercarse al óptimo o bien
al problema de las n-reinas, el método utilizado en ésta cumplir cierto número de iteraciones.
investigación sigue el modelo de representación por
vectores. Un vector definido como [1, 2, 3,…, n] puede ser Esquemáticamente un algoritmo genético puede estar
una posible solución para el problema de n-reinas, en el cual representado por el siguiente seudocódigo:
los índices del vector representan las filas y los elementos
función algoritmo_Genetico()
del vector las columnas. Tomando como ejemplo el tablero
de 4-reinas de la Figura 1, el vector solución correspondiente {
quedaría definido de la siguiente manera: [2, 4, 1, 3].
Obtener_parametros(tamPob, lcrom)
Notemos que la solución será entonces alguna de las
posibles permutaciones de los números 1, 2, 3,…, n para n- población = pobInicial(tamPob, lcrom)
evaluación(población, tamPob, posMejor,
sumaAdaptacion)
para cda generación hasta numMaxGen hacer
{
selección(población, parametros)
reproducción(población, tamPob, lcrom, representación el problema automáticamente se convierte en
probMut) un tipo combinatorio.
evaluación(población, tamPob, posMej, La función de aptitud es la más importante para el algoritmo
sumaAdaptacion) genético, pues es la que determina que tanto porciento una
} posible solución, lo es. La función de aptitud diseñada para
el problema de las n- reinas se define mediante la siguiente
}devolver pob[posMejor] proposición:
V. RESULTADOS
VII. REFERENCIAS