Вы находитесь на странице: 1из 6

Scientia et Technica Ao XIII, No 37, Diciembre de 2007. Universidad Tecnolgica de Pereira.

ISSN 0122-1701 151

APLICACIN DE TCNICAS DE OPTIMIZACIN COMBINATORIAL A LA SOLUCIN


DEL SUDOKU

Combinatorial optimization techniques applied to Sudokus solution

RESUMEN JOHN FREDY FRANCO B.


Se presenta el Sudoku como un problema de optimizacin combinatorial de Ingeniero Electricista, M. Sc.
nica solucin y se propone un modelo matemtico que lo representa. Se aplican Profesor Catedrtico
las tcnicas de optimizacin combinatorial Bsqueda Tab y Algoritmos Universidad Tecnolgica de Pereira
Genticos en varios casos de prueba. jffb@utp.edu.co

PALABRAS CLAVES: Sudoku, problema de optimizacin, optimizacin OSCAR GMEZ CARMONA


combinatorial, tcnicas de optimizacin, Bsqueda Tab, Algoritmos Genticos. Ingeniero Electricista, M. Sc.
Profesor Auxiliar
ABSTRACT Universidad Tecnolgica de Pereira
The Sudoku is presented as a unique solution NP-hard optimization problem and jr@utp.edu.co
its mathematical model is proposed. Optimization Techniques Tabu Search and
Genetic Algorithms are used to solve Sudokus problem, showing results on RAMON A. GALLEGO R.
several test cases. Ingeniero Electricista, Ph. D.
Profesor Titular
KEYWORDS: Sudoku, optimization problem, combinatorial optimization, Universidad Tecnolgica de Pereira
optimization techniques, Tabu search, genetic algorithms. ragr@utp.edu.co

Grupo de Investigacin en Planeamiento


de Sistemas Elctricos de Potencia

1. INTRODUCCIN
En este artculo se resolver el problema del Sudoku
En las ciencias aplicadas al igual que en el conocimiento mediante tcnicas de optimizacin combinatorial.
terico, existen problemas de optimizacin lineal o no Inicialmente, se presentar el Sudoku como problema de
lineal con variables continuas o enteras. Cuando las optimizacin y se plantear un modelo matemtico,
dimensiones y la complejidad matemtica del problema son posteriormente, se utilizarn dos tcnicas de optimizacin
grandes, aparece un fenmeno denominado explosin combinatorial, una tcnica evolutiva (algoritmos genticos)
combinatorial, debido a la gran cantidad de soluciones y una tcnica basada en memoria adaptativa (bsqueda
factibles e infactibles que aparecen [1]. En la prctica, las tab) para encontrar su solucin.
tcnicas exactas no puedan ser aplicables para su solucin
debido al gran tiempo de cmputo necesario. Estos 2. SUDOKU
problemas se conocen como problemas tipo NP (non-
deterministic polynomial time) completo y no se puede Sudoku es un pasatiempo originario de Estados Unidos que
encontrar un algoritmo que los resuelva en un tiempo de se populariz en Japn en 1986 y se dio a conocer en el
cmputo polinomial. mbito internacional en el 2005. El objetivo es llenar una
cuadrcula de 9 9 celdas (81 celdas), dividida en
El Sudoku, es un pasatiempo de ubicacin de nmeros en subcuadros de 3 3, con las cifras del 1 al 9, partiendo de
una cuadricula dividida en filas, columnas y subcuadros algunos nmeros ya dispuestos en algunas de las celdas.
que visto como un problema de optimizacin presenta el Adems, cada nmero de la solucin aparece slo una vez
fenmeno de explosin combinatorial, sus variables no son en cada fila, columna y subcuadro, de ah el "los nmeros
continuas y en la mayora de los casos tiene solucin nica. deben estar solos" que evoca el nombre del juego [2].
Estas caractersticas lo ubican en la categora de los
problemas NP completos.

Aunque este juego carece de utilidad prctica, hace parte de


una clase de problemas de gran inters prctico conocidos
como problemas de satisfaccin de restricciones (constraint
satisfaction problems) con explosin combinatorial y es un
caso de prueba que permite verificar la eficiencia de los
algoritmos exactos de optimizacin y mtodos de
computacin blanda Figura 1. Sudoku
Fecha de Recepcin: 07 Septiembre de 2007
Fecha de Aceptacin: 16 Noviembre de 2007
152 Scientia et Technica Ao XIII, No 37, Diciembre de 2007. Universidad Tecnolgica de Pereira.

En el Sudoku, la cuadrcula ms comn es de 9 x 9 con La diferencia entre el Sudoku y el Latin square es la


regiones de 3 3, aunque tambin se utilizan otros tamaos divisin en subcuadros de n x n del Sudoku y la
(n x n con regiones de n x n,). Las regiones no tienen qu respectiva restriccin de presencia de smbolos en cada
ser cuadradas, aunque generalmente lo son. subcuadro. Esta restriccin, hace que la cantidad de posibles
Sudokus, sea lgicamente menor. Se ha estimado que la
Normalmente el Sudoku se clasifica en niveles de cantidad de Sudokus para el orden 1, es 1, para el orden 4,
dificultad, segn la relevancia y posicin de los nmeros es 288 y para el orden 9, 6.670.903.752.021.072.936.960
iniciales y no de la cantidad de estos. Efectivamente, la [10,11].
cantidad de nmeros dados apenas afecta la dificultad del
Sudoku e incluso puede no afectar en absoluto ya que un Sin importar la cantidad de Sudokus completos (que
Sudoku con un mnimo de nmeros iniciales puede ser muy cumplen las restricciones de filas, columnas y sub-cuadros)
fcil de resolver y uno con ms nmeros de la media puede que existen, la dificultad matemtica radica en la explosin
ser extremadamente complicado de resolver. Adems, se combinatorial que presenta un Sudoku con determinada
dice que un Sudoku est bien planteado si la solucin es cantidad de nmeros iniciales (pistas), es decir, entre menos
nica. pistas tenga el Sudoku, mayor es el espacio de soluciones
(factibles e infactibles) que existen (tabla 1), aunque como
Para los programadores es relativamente sencillo construir se expres anteriormente, un Sudoku bien planteado debe
algoritmos de bsqueda por los mtodos de backtracking tener solucin nica.
[3], divide y vencers, fuerza bruta, programacin dinmica
o algoritmo voraz. Aunque lejos de la eficiencia Pistas Cuadros en blanco Espacio de soluciones
computacional, estos mtodos encontraran la solucin si se 75 6 5,3144E+05
permite infinito tiempo computacional, especialmente en 70 11 3,1300E+10
juegos de alto orden (n=16, n=25). Algunos algoritmos 65 16 1,8530E+15
usan los nmeros dispuestos para implementar mtodos de 60 21 1,0942E+20
eliminacin, llenando las celdas vacas con todos los 55 26 6,4611E+39
posibles nmeros que podran ir [4]. Estos algoritmos, 50 31 3,8152E+44
como cita el autor, sirven para la solucin de Sudokus de 45 36 2,2528E+49
nivel de dificultad sencillo y moderado. 40 41 1,3303E+54
35 46 7,8552E+58
30 51 4,6384E+63
Para la solucin del problema han sido utilizados mtodos
25 56 2,7389E+68
ms eficientes, como, Forward Checking (FC), Limited
20 61 1,6173E+73
Discrepancy Search (LDS) [5], message-passing [6],
15 66 9,5500E+77
SAT-based solver [7], ASP-Answer Set Programming
10 71 5,6392E+82
[8], entre otros. 5 76 3,3299E+87
0 81 1,9663E+92
Las tcnicas de optimizacin combinatorial han sido poco Tabla 1. Espacio de soluciones segn la cantidad de pistas para el
usadas para la solucin del sudoku [9], aunque podran ser Sudoku de orden 9.
aplicables que ya son tcnicas que encuentran soluciones de
buena calidad en tiempos de cmputo razonables. La Por lo tanto, dadas una cantidad de pistas (Xp), el espacio de
dificultad en el uso de estas tcnicas es que no aseguran el soluciones (Es) es igual a:
ptimo global en un problema que tiene solucin nica
(caso del Sudoku), razn por la cual este problema se Es = 9(81- Xp) (1)
convierte en una forma de validar la eficiencia de las
tcnicas de optimizacin combinatorial. Como se observa en la ecuacin, el problema del Sudoku
presenta el fenmeno de explosin combinatorial, lo cual
2.1 Complejidad Matemtica del Sudoku. significa que un incremento en las variables de decisin,
aumenta el espacio de soluciones y el esfuerzo
Aunque no se sabe a ciencia cierta los orgenes del Sudoku, computacional.
se presume que su antecesor es el denominado Latin
square. El Latin square, en un cuadrado de n x n que se Se ha demostrado [12] que el problema de solucionar un
llena con n smbolos tal que cada smbolo aparece solo una Sudoku pertenece a la categora NP completo, problemas
vez en cada fila y en cada columna. El cuadro apareci en cuya complejidad no es polinmica, por lo tanto (en teora)
el siglo XVIII y es atribuido al matemtico Leonhard Euler no se puede construir un algoritmo que los resuelva en un
(1707 - 1783). Latin square de orden 1, existen 1, de orden tiempo polinmico.
4, 576 pero de orden 9 existen
5.524.751.496.156.892.842.531.2254.600. [10] En cuanto a la existencia de solucin nica, no ha sido
posible demostrar cul es la cantidad mnima de pistas que
debe tener un Sudoku para garantizar solucin nica,
aunque es fcil determinar que con 78, 79 y 80 pistas se
Scientia et Technica Ao XIII, No 37, Diciembre de 2007. Universidad Tecnolgica de Pereira. 153

garantiza solucin nica. Respecto a 77, en [10] se muestra 4.1 Algoritmo de Bsqueda Tab Aplicado a la Solucin
dos posibles soluciones para un Sudoku. del Sudoku

3. El SUDOKU COMO PROBLEMA DE La configuracin inicial se genera llenando cada columna


OPTIMIZACIN con los nmeros faltantes, de tal manera que por columna
no se repitan nmeros. Esta configuracin inicial
El Sudoku como problema de optimizacin, consiste en la normalmente no cumple con las condiciones por filas y
minimizacin de la cantidad de nmeros repetidos entre 1 y subcuadros.
n, en filas, columnas y subcuadros de una matriz (M)
representadas, dichas repeticiones, como los elementos del El vecindario para una configuracin se define segn las
conjunto A. Por lo tanto, el objetivo es minimizar la siguientes estrategias:
cantidad de elementos presentes en ese conjunto
(cardinalidad de A). Cambiar un nmero repetido en una columna por un
nmero que falte en esa columna.
minimizar Cardinalidad (A) Cambiar un nmero repetido en una fila por un nmero
$(i, j)/ M ( f , i ) = M ( f , j )! i " j % que falte en esa fila.
& & Cambiar un nmero repetido en un subcuadro por un
&# M (i, c ) = M ( j , c ) ! i " j & nmero que falte en ese subcuadro.
& &
A = ' $& M (i, j )= M (h,k ) ! (i " h # j " k ) %&( (2) Intercambiar los nmeros de dos celdas en una misma
#
& ' ! (i-1) " (& columna.
& *&! n#
) n + ! (j-1) n "# = ! (h-1) n "# ) n + ! (k -1) n "#+&&
Intercambiar los nmeros de dos celdas en una misma
& &
* i, j, f, c, h, k , [1,,n ] M : matriz de juego + fila.

En lugar de evaluar la funcin objetivo recorriendo el


4. SOLUCIN AL SUDOKU MEDIANTE
cuadro completamente para analizar el nmero de
BSQUEDA TAB
repeticiones por filas, columnas o subcuadros, se realiza una
estimacin de la variacin de la funcin objetivo para un
Bsqueda Tab [13], es una tcnica de optimizacin
vecino partiendo de la funcin objetivo de la configuracin
combinatorial que proviene de la inteligencia artificial y
actual, con lo que se consigue un gran ahorro en tiempo
usa conceptos de memoria adaptativa y exploracin
computacional. La estimacin de la funcin objetivo se
sensible. Esta tcnica resuelve problemas del tipo:
efecta de acuerdo al tipo de variacin hecha para llegar a la
min f(x) configuracin vecina.
(3)
s.a. x ! X
5. SOLUCIN AL SUDOKU MEDIANTE
donde f es una funcin general, lineal o no lineal, y X es un ALGORITMOS GENTICOS
conjunto de restricciones lineales o no lineales. Las
variables x pueden ser de naturaleza continua, entera o Los algoritmos genticos son una tcnica de bsqueda a
mixta. La exploracin sensible de Bsqueda tab se basa en travs de configuraciones (espacio de soluciones del
la idea de que una mala decisin hecha por una estrategia problema), que inicialmente fue idealizado usando los
produce ms informacin que una buena seleccin hecha de mecanismos de la evolucin y de la gentica natural [1].
forma aleatoria. Bsqueda Tab implementa una estrategia
de bsqueda local para explorar de forma eficiente el Este algoritmo, en su forma bsica, inicia con la seleccin
espacio alrededor de una configuracin. Cada solucin de una poblacin inicial (conjunto de configuraciones
tiene asociado un conjunto de soluciones vecinas llamada iniciales). Luego se realiza un proceso de seleccin entre las
vecindad. Con la estructura de vecindad dada, la bsqueda configuraciones para darles el derecho de participar en la
local permite pasar a la mejor configuracin vecina, o en el generacin de nuevos descendientes, posteriormente, se
caso de que la configuracin actual sea la mejor, se pasa a forman parejas para ser sometidas a un proceso de
la menos peor, donde se aplica nuevamente bsqueda local recombinacin (crossover) y finalmente se realiza un
sobre la nueva vecindad en busca del ptimo. Debido a que proceso de mutacin que altera los elementos de algunas
en cada paso se deben analizar todos los vecinos (o un configuraciones. Este proceso tiene como finalidad generar
conjunto reducido que sigue siendo grande), Bsqueda diversidad en la poblacin y est controlado por un
Tab es un mtodo de alto costo computacional. parmetro denominado tasa de mutacin el cual determina
cuantos cambios se realizarn sobre la poblacin. Despus
Un algoritmo de Bsqueda Tab completo utiliza tcnicas de este proceso, se tienen los elementos de la nueva
de exploracin y de memoria avanzadas, como: memoria de generacin. El buen desempeo del algoritmo gentico
corto y largo plazo, estrategias de intensificacin, depende en gran medida, de la seleccin adecuada de los
diversificacin, oscilacin estratgica, path relinking y lista parmetros de control (tamao de la poblacin inicial, tasa
de configuraciones de lite, entre otras [13]. de recombinacin y tasa de mutacin) y la forma en que se
realizar la seleccin, recombinacin y mutacin.
154 Scientia et Technica Ao XIII, No 37, Diciembre de 2007. Universidad Tecnolgica de Pereira.

5.1 Algoritmo Gentico Aplicado a la Solucin del Fai: Funcin objetivo del individuo i-simo.
Sudoku k: Tasa de adaptacin (k >1).

El algoritmo gentico en su forma bsica aplicado a la E. Proceso de recombinacin


solucin del Sudoku considera las siguientes etapas: El proceso de recombinacin se realiz de tal manera que se
conservaran las mejores caractersticas de los padres.
A. Codificacin del problema Debido que en el proceso la poblacin se mantiene
Cada configuracin del problema es una matriz con constante, cada pareja de padres tendr dos hijos: el
nmeros entre 1 y n, como se muestra en la figura 2. primero, tendr los mejores subcuadros de los padres, es
decir, aquellos subcuadros que presentan menos
repeticiones; el segundo tendr las mejores filas o columnas
de los dos padres, seleccionado de forma aleatoria con igual
probabilidad de ocurrencia.

F. Proceso de mutacin
El proceso de mutacin se realiz para generar diversidad
ya que la solucin normalmente es nica y se debe realizar
Figura 2. Codificacin del problema una buena exploracin del espacio de soluciones. Cuatro
tipos de mutacin fueron realizadas, controladas por
B. Poblacin inicial probabilidades, segn el problema: intercambio de dos
La poblacin inicial es generada de forma aleatoria. Para elementos en una fila, intercambio de dos elementos en una
cada celda en blanco del problema, se genera un nmero columna, intercambio de dos elementos en un subcuadro y
aleatorio entre 1 y n. El proceso se repite para cada reemplazo de un nmero del individuo por otro nmero
configuracin de la poblacin. generado de forma aleatoria entre 1 y n (figura 4).

C. Calculo de la funcin objetivo


La funcin objetivo de cada configuracin, debe reflejar la
cantidad de nmeros repetidos en cada fila, columna y
subcuadro, dado que computacionalmente es ineficiente
contar repeticiones, la funcin objetivo se calcul
determinando los nmeros que faltan en filas, columnas o
subcuadros (figura 3). La funcin objetivo de cada
configuracin es la suma de los faltantes en filas columnas
y subcuadros (Fo = 79). De esta forma se determina la Figura 4. Tipos de mutacin
mejor configuracin encontrada y se almacena como
incumbente. Adicionalmente, para no perder el rastro de bsqueda, si en
la nueva poblacin no hay un individuo mejor o igual a la
incumbente, se reemplaza el peor individuo de la poblacin
por la mejor solucin encontrada. En caso de que el
algoritmo gentico no encuentre la solucin, el proceso para
cuando un nmero predefinido de iteraciones
(generaciones) es alcanzado.

6. CASOS DE PRUEBA Y RESULTADOS

Figura 3. Clculo de la funcin objetivo.

D. Proceso de seleccin
El proceso de seleccin es proporcional y realizado
mediante el mtodo de la ruleta, para esto se utiliza una
funcin de adaptacin que garantiza selectividad y
transforma el valor de funcin objetivo original de Caso 1 Caso 2
minimizacin a maximizacin. Figura 5. Casos de prueba
Fai = max( Fo ) ! k - Foi (4)
donde:
Fai: Funcin de adaptacin del individuo i-simo.
Fo : Vector funcin objetivo de los individuos.
Scientia et Technica Ao XIII, No 37, Diciembre de 2007. Universidad Tecnolgica de Pereira. 155

6.2 Solucin mediante el Algoritmos Genticos


Se presenta la solucin a los casos de prueba de dos formas:

A. Parmetros iguales para los cuatro casos


Se ejecut el algoritmo descrito con los siguientes
parmetros:

Semilla 13
Caso 3 Caso 4 Poblacin Inicial 16
Figura 6. Casos de prueba Taza de cruzamiento 90%
Cantidad de mutaciones 15
Las metodologas propuestas se probaron en cuatro Mutacin en filas 0%
sistemas de prueba con diferente nivel de dificultad. Mutacin en columnas 10%
Mutacin en cuadros 50%
6.1 Solucin mediante la tcnica Bsqueda Tab Mutacin de elementos 40%
Tabla 3. Parmetros para el algoritmo gentico.
Se implement una estructura de memoria de corto plazo
para prohibir movimientos que involucraran celdas Para cada caso se encontr la solucin, con la siguiente
cambiadas recientemente. Para cada configuracin se cantidad de iteraciones: caso 1, 4457; caso 2, 6979; caso 3,
creaba la lista de mejores movimientos a configuraciones 29659; caso 4, 9268. En la figura 8 se observa el proceso de
vecinas, escogindose la mejor que no estuviera prohibida convergencia para cada caso.
(estado tab).
Funcin Objetivo

El mejor resultado se obtuvo cuando se defina el


vecindario usando un nmero de iteraciones determinado,
primero para cambios de nmeros repetidos en filas,
columnas y subcuadros, luego un nmero de iteraciones
efectuando intercambios por columnas y finalmente
haciendo intercambios por filas.

Parmetros Bsqueda Tab


Tamao lista tab 30
Valor tab 20
Iter. # repetidos 1
Iter. intercambios columnas 10
Figura 8. Convergencia del algoritmo gentico
Iter. intercambios filas 10
Tabla 2. Parmetros para el algoritmo Bsqueda Tab. B. Parmetros especiales para cada caso
Una de las principales caractersticas de los algoritmos
El nmero de iteraciones necesarias para encontrar la genticos es que para cada problema, sus parmetros deben
solucin fue: caso 1, 637; caso 2, 782; caso 3, 1001; caso 4, ser ajustados, de tal manera que sea eficiente en la solucin.
424.
Funcin Objetivo
80 La solucin del caso 1 se obtiene de forma ms eficiente
(1792 iteraciones) con los siguientes parmetros:
70

60 Semilla 1
Poblacin Inicial 10
50
Taza de cruzamiento 90%
40 Cantidad de mutaciones 15
Mutacin en filas 0%
30
Mutacin en columnas 33%
20 Mutacin en cuadros 33%
Mutacin de elementos 34%
Caso 4 Caso 1 Caso 2 Caso 3
10
Tabla 4. Parmetros para el algoritmo gentico
0
200 400 600
Iteraciones
800 1000 1200
Con los anteriores parmetros, modificando solo la semilla
(Semilla = 8), la solucin del caso 3 se obtiene en 3490
Figura 7. Convergencia del algoritmo Bsqueda Tab. iteraciones:
156 Scientia et Technica Ao XIII, No 37, Diciembre de 2007. Universidad Tecnolgica de Pereira.

Funcin Objetivo entre diversidad e intensificacin en la bsqueda de la


solucin.
Debido a la naturaleza aleatoria del algoritmo gentico y la
inicializacin realizada para este problema (iniciacin
aleatoria), la semilla que genera la secuencia de nmeros
aleatorios se convierte en un parmetro ms del algoritmo
ya que en el proceso de inicializacin es la que determina el
punto de partida para el proceso de optimizacin.

Aunque es posible determinar parmetros para que el


algoritmo gentico soluciones casos diferentes, el mejor
desempeo se obtiene cuando el algoritmo es parametrizado
para cada caso.

Figura 9. Solucin a los casos 1 y 3 con parmetros particulares Se comprob que las tcnicas combinatoriales son
herramientas que mediante diferentes estrategias o procesos
7. CONCLUSIONES de exploracin, seleccin e intensificacin tienen la
capacidad de encontrar ptimos globales.
Se plantea el sudoku, como un problema de optimizacin
que presenta caractersticas de alta complejidad matemtica 8. BIBLIOGRAFA
como la explosin combinatorial, la presencia de variables
enteras y la existencia de solucin nica y se propone un [1] Gallego R. Ramn A., Escobar Z. Antonio, Romero L. Rubn
modelo matemtico. A. "Tcnicas de Optimizacin Combinatorial", Primera
edicin. grupo de Investigacin en Planeamiento de Sistemas
Elctricos. Universidad Tecnolgica de Pereira. Pereira abril
La estrategia de bsqueda local que implementa Bsqueda de 2006.
Tab permite salir de configuraciones que tienen pocas [2] Wikipedia. Sudoku. Wikipedia, the free encyclopedia.
repeticiones pero en las que pequeos cambios muestras un Available. online at http://en.wikipedia.org/wiki/Sudoku.
empeoramiento en la solucin (ptimos locales). Al [3] Ruiz Jose Mara, Orandes Jose Pedro. Hal 9000 contra los
prohibir movimientos en celdas modificadas recientemente Sudokus mutantes. Desarrollo Python. http://www.linux-
se consigue escapar de esos ptimos locales. magazine.es.
[4] Luis R. Morera. Solucin de un Sudoku.
El mejor desempeo de la solucin con Bsqueda Tab se www.articuloweb.com/articles.php?art_id=331&start=1.
August 23, 2007, 5:57 pm
obtuvo al implementar varias definiciones para el [5] Tristan Cazenave. A search based Sudoku solver. Labo IA
vecindario, usando cada una para generar nuevas Dept. Informatique Universite Paris 8, 93526, Saint-Denis,
configuraciones durante un nmero de iteraciones y luego France.
cambindola por otra; con esto se consigui resolver [6] Jacob Goldberger. Solving Sudoku Using Combined
problemas por columnas, filas o subcuadros concentrndose Message Passing Algorithms. School of Engineering, Bar-
en uno a la vez. Ilan University.
[7] Tjark Weber. A SAT-based Sudoku Solver. Institut fr
Se consigui ajustar los parmetros de Bsqueda Tab para Informatik, Technische Universitt Mnchen Boltzmannstr.
3, D-85748 Garching b. Mnchen, Germany.
resolver los distintos casos presentados, de tal forma que
[8] Jimnez, Jos A. Solucin declarativa del Sudoku mediante
fueron resueltos en un nmero relativamente bajo de ASP. Grupo de Lgica Computacional. Dpto. de Ciencias de
iteraciones. la Computacin e Inteligencia Artificial, Universidad de
Sevilla Sevilla, 17 de Junio de 2006.
El proceso de cruzamiento empleado por el algoritmo [9] Rhyd Lewis. Metaheuristics can solve Sudoku puzzles,
gentico, da prioridad a las mejores configuraciones y SpringerLink, Springer Science+Business Media, LLC 2007.
extrae sus mejores atributos para generar la nueva Published online: 1 May 2007
poblacin. Este comportamiento hace que el mtodo no se [10] Delahaye Jean-Paul. The science behind Sudoku. Scientific
desve y siempre trate de mejorar la solucin durante el American. 2006. Pg. 80-87.
proceso de bsqueda [11] Bertram Felgenhauer, Frazer Jarvis. Enumerating possible
Sudoku grids.
www.afjarvis.staff.shef.ac.uk/sudoku/sudoku.pdf June 20,
Dado que el problema presenta un gran espacio de 2005
soluciones, los diferentes procesos de mutacin realizados [12] Takayuki YATO, Takahiro SETA, Complexity and
permiten una amplia exploracin sin perder el rastro del Completeness of Finding Another Solution and Its
ptimo global. Application to Puzzles, IEICE Trans. Fundam. E 86-A(5),
1052-1060. 2003
Los procesos de recombinacin y mutacin empleados en [13] GLOVER, F., Tabu Search Fundamentals and Uses,
el algoritmo gentico presentan una relacin apropiada University of Colorado, Boulder, Colorado, April 1995.

Вам также может понравиться