0% encontró este documento útil (0 votos)
305 vistas9 páginas

Sudoku

Este documento describe cómo resolver Sudokus utilizando el algoritmo de Recocido Simulado. Se define el problema del Sudoku y sus reglas. Luego, se introduce brevemente la técnica de Recocido Simulado y su algoritmo asociado. Finalmente, se implementa el algoritmo de Recocido Simulado para resolver Sudokus de diferentes grados de dificultad, obteniendo buenos resultados.

Cargado por

dga_guz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
305 vistas9 páginas

Sudoku

Este documento describe cómo resolver Sudokus utilizando el algoritmo de Recocido Simulado. Se define el problema del Sudoku y sus reglas. Luego, se introduce brevemente la técnica de Recocido Simulado y su algoritmo asociado. Finalmente, se implementa el algoritmo de Recocido Simulado para resolver Sudokus de diferentes grados de dificultad, obteniendo buenos resultados.

Cargado por

dga_guz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

32 ContactoS 84, 3139 (2012)

Recibido: 30 de enero de 2012. cion 5 se dan los resultados obtenidos por el algorit-
Aceptado: 22 de marzo de 2012. mo de Recocido Simulado al resolver Sudokus de gra-
do de dicultad facil, media, difcil y muy difcil. Fi-
Resumen
nalmente se dan las conclusiones de este trabajo.
El Sudoku es un pasatiempo que en los ultimos anos
se ha popularizado y para algunas personas se ha 1. El Problema del Sudoku
vuelto adictivo, quiza porque las reglas para resolver- El objetivo del Sudoku es llenar una cuadrcula de
lo son muy simples. En este artculo se propone la so- n2 n2 celdas, dividida en n2 subcuadrculas de nn
lucion a un Sudoku como un problema de optimiza- en donde se deben colocar los enteros del 1 a n2 de
cion combinatoria y se resuelve utilizando el algorit- acuerdo a los siguientes tres reglas:
mo de Recocido Simulado. Se presenta experiencia
computacional en la solucion de Sudokus que apare- 1. Las celdas de cada uno de los renglones deben
cen en periodicos de circulacion nacional y algunas contener los enteros de 1 a n2 exactamente una
paginas de Internet con diferentes grados de dicul- vez.
tad que van desde facil, media, difcil y muy difcil. 2. Las celdas de cada una de las columnas deben
contener los enteros de 1 a n2 exactamente una
Palabras Clave: Sudoku, Recocido Simula- vez.
do, metaheursticas, heursticas, optimizacion 3. Cada una de las n2 subcuadrculas deben conte-
combinatoria. ner los enteros de 1 a n2 exactamente una vez.
Keyworks: Sudoku, Simulated annealing, metaheu- Estas reglas tan simples son quiza lo que ha he-
ristics, heuristics, combinatorial optimization. cho que el juego se popularice y se haya hecho adic-
Introduccion tivo para algunas personas. Al entero n se le lla-
El Sudoku es un pasatiempo cuyo objetivo es lle- ma el orden del Sudoku. En la Figura 1 se da un
nar una cuadrcula generalmente de 9 9 celdas ejemplo de un Sudoku de orden 3, donde se pue-
(81 celdas en total) dividida en subcuadrculas de de observar que existen algunas celdas prellenadas
3 3 con los numeros del 1 al 9, partiendo de algu- con los enteros del 1 al 32 y el jugador debe com-
nas celdas previamente asignadas y siguiendo tres re- pletar la cuadrcula siguiendo las tres reglas descri-
glas muy sencillas. El pasatiempo aparece por pri- tas anteriormente. Cada Sudoku, bien planteado, tie-
mera vez alrededor de 1970 en Nueva York, Estados ne solucion valida unica y no requiere usar tecni-
Unidos, en la revista de juegos y pasatiempos Dell cas de ensayo y error o adivinar sino que se re-
con el nombre de colocar el numero. Posteriormen- suelve empleando las tres reglas y por medio del
te, en 1984, aparece este pasatiempo en Japon con el razonamiento.
nombre que actualmente se conoce de Sudoku, don- El Sudoku de la Figura 1 tiene solucion valida uni-
de Su signica numero y Doku signica indivi- ca y esta catalogado entre los muy difciles de resol-
dualmente, en japones. A partir de ah, se populari- ver. Generalmente en los diarios de circulacion nacio-
za hacia todo el mundo. El juego tiene sus orgenes nal o internacional, as como, en revistas y otros me-
en la idea de cuadrados latinos que introduce el ma- dios impresos aparecen Sudokus de orden 3 y en al-
tematico Euler en 1783. En Mexico hay muchas re- gunos casos de orden 4 en donde aparece alguna cla-
vistas de pasatiempos y periodicos de circulacion na- sicacion que va desde facil hasta muy difcil y tiene
cional tales como El Universal, Reforma, etc., que in- que ver con el numero de celdas prellenadas y su co-
cluyen dentro de sus paginas Sudokus. Este artcu- locacion dentro de la cuadrcula. En el caso del Su-
lo se desarrolla de la siguiente manera: en la sec- doku de la Figura 1, el numero de celdas prellena-
cion 1 se dene el problema del Sudoku y se dan al- das es de 17, y aparentemente, es el numero mni-
gunos lineamientos para resolverlo. En la seccion 2 se mo de celdas prellenadas que se pueden dar para Su-
introduce brevemente la tecnica de Recocido Simu- dokus de orden 3, ya que con menos el Sudoku podra
lado y su algoritmo asociado. La seccion 3 se imple- tener mas de una solucion valida.
menta el algoritmo de Recocido Simulado al Sudo-
ku, se dene una solucion factible, se asigna un cos- Para ilustrar como se resuelve un Sudoku, conside-
to a cada solucion factible y plantea el problema de re la celda en donde se coloco el smbolo , en la Fi-
resolver el Sudoku como un problema de optimiza- gura 2. Las celdas donde aparecen los 1 (en negri-
cion combinatoria. En la seccion 4 se especica el al- tas) hacen que las celdas marcadas con de la sub-
goritmo de Recocido Simulado al Sudoku. La sec- cuadrcula donde aparece la letra no puedan co-
Solucion al acertijo del Sudoku. . . M. A. Gutierrez A., J. Goddard C., S. G. de los Cobos S. 33

ha sido probado que es NP-Completo por Colbourn


(1984).

2. La Tecnica de Recocido Simulado


El Recocido Simulado es un procedimiento introdu-
cido por Kirkpatrick, Gelatt y Vecci (1982) y ha si-
do muy empleado para resolver problemas combina-
torios. La idea surge del proceso fsico conocido co-
mo recocido en el cual, se eleva la temperatura de un
solido hasta el punto que se vuelve lquido, a conti-
nuacion la temperatura se disminuye de forma pau-
latina para obtener una estructura cristalina sin de-
Figura 1. Sudoku. fectos y que puede considerarse como un estado de
mnima energa. Cada descenso de temperatura de-
be ser lo sucientemente pequeno para que el sis-
locarse el entero 1, ya que violaran las condiciones tema no adquiera una estructura cristalina con de-
1 y 2 anteriores, como las invalidan todas las cel- fectos, ademas el sistema debe permanecer un tiem-
das, excepto donde aparece la letra , es claro que en po suciente a una misma temperatura para permi-
esta celda debe colocarse el smbolo 1. Por otro la- tir alcanzar un estado estacionario, en otras pala-
do, considere la celda en donde se coloco el smbo- bras, que las partculas vuelvan a reacomodarse.
lo , en la Figura 3. Las celdas donde aparecen los
smbolos 4 (en negritas) hacen que las celdas marca-
das con de la subcuadrcula donde aparece la le-
tra no pueda colocarse el smbolo 4, ya que nueva-
mente violaran las condiciones 1 y 2 anteriores, co-
mo las invalidan todas las celdas, excepto don-
de aparece la letra , es claro que en esta celda de-
be colocarse el smbolo 4. Se sigue de la misma for-
ma hasta completar todas las celdas vacas. En la Fi-
gura 4 se da la solucion valida del Sudoku que apa-
rece en la Figura 1.

Figura 3. Resolviendo el Sudoku (continuacion).

Figura 2. Resolviendo el Sudoku.

Finalmente, se observa que el Sudoku de n2 n2


celdas, donde n se reere al orden del problema, es
un problema NP-Completo, como se ha mostrado
en Yato y Seta (2002). La prueba usa una reduccion
simple para el problema de cuadrados latinos, el cual Figura 4. Solucion valida al Sudoku de la Figura 1.
34 ContactoS 84, 3139 (2012)

cualquier Sudoku de orden n. Se representara el Su-


doku con un arreglo de 9 9 en donde existen cel-
P [aceptar xj ] = das previamente llenadas. A las celdas previamen-

1  si f (xj ) < f (xi ) te llenadas se les llamaran celdas jas. Por ejem-

f (x )f (x ) (1) plo en la Figura 1, la celda (4,5) tiene el valor -
exp i ck j si f (xj ) f (xi )
jo igual a 4, o la celda (7,8) tiene el valor jo de 3.
A traves del procedimiento, a las celdas jas nun-
El Recocido Simulado esta catalogado como un pro- ca se les cambiara el valor asignado.
cedimiento de Busqueda Local Aleatoria: inicia con
una solucion factible xi se selecciona a continuacion 3.1. Solucion inicial
una solucion factible xj dentro de una vecindad, en- El objetivo del algoritmo que se desarrollara es ob-
seguida se evalua la calidad de la solucion factible tener una solucion valida al Sudoku, en donde so-
empleando una funcion de costo f (x) asociada a ca- lucion valida signica un llenado del Sudoku don-
da solucion factible x del problema. de se respeten los valores iniciales de las celdas -
jas y se cumplan las tres reglas ya mencionadas. En
Si la nueva solucion factible xj es mejor que la ac- lo que sigue, llamaremos una solucion factible o sim-
tual (de acuerdo al costo), se acepta, de lo contra- plemente solucion de un Sudoku a cualquier rellena-
rio se selecciona de acuerdo a una probabilidad, pa- do del Sudoku que cumpla con dos condiciones:
ra Recocido Simulado dicha probabilidad de selec-
cion esta dada por la ecuacion (1) que se conoce co- 1. Respete los valores de las celdas jas.
mo el criterio de Metropolis; a ck se le conoce como 2. Respete la regla 3 de la seccion 1.
el parametro de control (en el caso del sistema fsi-
co es la temperatura); este valor se inicia con un va- Observe que esta denicion de solucion no implica
lor sucientemente grande para que cualquier solu- que sea una solucion valida del Sudoku porque no
cion tenga una probabilidad alta de ser selecciona- necesariamente cumple con las reglas 1 y 2.
da, a medida que ck disminuye, la probabilidad de
aceptar soluciones factibles de mala calidad dismi- La solucion inicial se generara al azar, es decir, se
nuye (Kirkpatrick, Gelatt y Vecci (1982)). El enfria- genera una permutacion aleatoria de los numeros del
miento se realiza empleando el sistema geometrico 1 al 9 no jos en cada una de las subcuadrculas.
dado por la ecuacion (2), donde es un parame- Por ejemplo en la Figura 1, la primera subcuadrcula
tro jo, aunque a lo largo de los anos se han desa- tiene dos celdas jas la (1,1) y la (3,1) con los valores
rrollado otros sistemas de enfriamiento. 1 y 8 respectivamente, por lo tanto, quedan libres
los numeros 2, 3, 4, 5, 6, 7 y 9. Con estos numeros
se genera una permutacion aleatoria y se rellenan
ck+1 = ck k = 0, 1, 2, . . . (2) las celdas faltantes. Por ejemplo, si la permutacion
aleatoria de los numeros anteriores fuera 9, 5, 7, 6,
En la Figura 5 se da en pseudocodigo el algoritmo 2, 3, 4, se llenara la primera subcuadrcula como en
de Recocido Simulado. En las primeras lneas se de- la Figura 6.
nen los valores iniciales de los parametros usados.
Se puede observar que consta de dos ciclos uno exte- Procediendo de la misma forma con las siguientes
rior y el otro interior. El ciclo interior se ejecuta has- 8 subcuadrculas obtendramos el llenado dado en
ta que el numero de transiciones se iguala a equili- la Figura 7 (en donde aparecen numeradas las -
brio. El ciclo exterior cambia el parametro de control las y las columnas). La solucion inicial dada en la
ck de acuerdo a la ecuacion (2) hasta llegar al pun- Figura 7 respeta las celdas jas dadas originalmen-
to de congelamiento. te (en negritas) y la regla 3 dada en la seccion 1, pe-
ro no necesariamente respeta las reglas 1 y 2. Pa-
3. Implementacion de la Tecnica de Recoci- ra esta solucion inicial obtenida se puede observar,
do Simulado al Sudoku por ejemplo, que en la la 1 no aparecen los valo-
En esta seccion vamos a explicar como se imple- res 2 y 6 y se repiten los valores 5 y 7; por otro la-
menta el algoritmo de Recocido Simulado al proble- do, en la columna 5, aparecen los valores 3 (tres
ma de resolver un Sudoku. Se pensara en un Sudo- veces), 4 y 8 (dos veces), y no aparecen los valo-
ku de 9 9 celdas con 9 subcuadrculas de 3 3, pe- res 1, 2, 5, 6. Lo mismo podemos observar del res-
ro el procedimiento puede usarse para implementar to de las las y columnas. Obviamente esta solu-
Solucion al acertijo del Sudoku. . . M. A. Gutierrez A., J. Goddard C., S. G. de los Cobos S. 35

Inicio
c0 , k 0, equilibrio, transiciones 0
Solucion inicial:x0
Costo= f (x0 )
Hacer
Hacer hasta transiciones = equilibrio
Seleccione xj V (xi )
Si f (xj ) < f (xi ) entonces
xj xi
Otro caso
 
f (xj )f (xi )
Si exp ck
random[0, 1) entonces
xj xi
transiciones = transiciones + 1
Continua
k =k+1
ck+1 = ck
Hasta paro = cierto
Fin

Figura 5. Algoritmo de Recocido Simulado.

cion inicial no es una solucion valida para el Sudo- El costo total de una solucion factible la deniremos
ku ya que las reglas 1 y 2 no se cumplen. como la suma de las penalizaciones asociadas a las -
las y columnas. Para la solucion factible de la Figu-
3.2. Costo asociado a una solucion ra 7 su costo total es de 41 unidades. Es facil obser-
Vamos a asociar un costo (o una penalizacion) a ca- var que si obtenemos una solucion factible con cos-
da solucion factible que reeje que tan cerca o le- to total igual a cero, esta solucion factible debe ser
jos este de resolver el Sudoku. Entre mas violaciones una solucion valida para el Sudoku. Por lo tanto, el
tengamos de las reglas 1 y 2, la penalizacion sera ma- objetivo es ir mejorando las soluciones factibles has-
yor. Se asocia una penalizacion por cada una de las ta encontrar una solucion cuyo costo total sea igual
las y columnas. Deniremos la penalizacion aso- a cero.
ciada a una la como el numero de enteros faltan-
tes en la la de entre los enteros 1, 2,. . . , 9 y de la
misma manera la penalizacion asociada a la colum-
na es el numero de enteros faltantes de entre los ente-
ros 1, 2,. . . , 9 en la columna. Por ejemplo para la so-
lucion factible de la Figura 7 la penalizacion de la -
la 1 es igual a 2 ya que no aparecen el 2 y el 6. Y
la penalizacion asociada a la columna 5 es 4 ya que
no aparecen los enteros 1, 2, 5 y 6. Para la solu-
cion factible de la Figura 7 las penalizaciones aso-
ciadas se dan en la Tabla 1.

Tabla 1. Penalizaciones asociadas a la solucion inicial.


Fila 1 2 3 4 5 6 7 8 9
Figura 6. Llenado inicial de la primera subcuadrcula.
Penalizacion 2 3 3 3 1 3 1 2 1

Columna 1 2 3 4 5 6 7 8 9 Observe que hemos denido un problema de optimi-


Penalizacion 2 1 2 3 4 3 2 2 3 zacion combinatoria donde se tiene un espacio de so-
luciones (las soluciones factibles dadas por las condi-
36 ContactoS 84, 3139 (2012)

ciones 1 y 2 de la subseccion 3.1) y cada solucion tie- 3.4. Actualizacion de la funcion de costo
ne un costo asociado. La solucion valida del Sudo- Si tenemos una solucion factible y a partir de es-
ku se obtiene cuando se descubre una solucion con ta se genera una solucion factible vecina, como se
costo igual a cero. Si el Sudoku esta bien plantea- describe en la subseccion 3.3, el costo total de es-
do, debe de existir exactamente una solucion con cos- ta nueva solucion se puede modicar, pero no es ne-
to igual a cero. cesario recalcular las penalizaciones en todas las -
las y columnas para obtener el costo total de la nue-
va solucion. Existen dos casos, tanto por la como
por columna. Para el calculo de las penalizaciones
por la: si las celdas que intercambian valores apa-
recen en la misma la, la penalizacion por la que-
da exactamente igual ya que el intercambio afecta
a una sola la y este intercambio no agrega ni eli-
mina ningun entero de esa la, los enteros faltan-
tes, si es que los hay, seguiran siendo los mismos.
Por otro lado, si se intercambian valores en dos -
las diferentes, entonces la actualizacion de la penali-
zacion en la la se puede hacer en dos pasos: prime-
ro, si el entero que se elimina (se cambia por el otro)
ya aparece en otra posicion en la la, quitarlo no ha-
ce que falte y por lo tanto no afecta a la penaliza-
Figura 7. Solucion inicial obtenida por el procedimiento.
cion, en caso contrario, se aumenta en uno la penali-
zacion; segundo, si el entero que se agrega ya existe
3.3. Soluciones vecinas en otra posicion en la la, agregarlo no afecta la pe-
Dada una solucion factible actual, se desea gene- nalizacion de la la, en caso contrario, la penaliza-
rar otra solucion factible, a partir de la primera, que cion disminuye en uno. La actualizacion por colum-
cambie marginalmente. Para esto denimos las so- na es exactamente igual que para la la.
luciones vecinas como todas aquellas que dieren de
la actual al hacer un intercambio de los valores de
dos celdas no jas en la misma subcuadrcula. Ob- Por ejemplo para la actualizacion del costo de la so-
serve que con esta denicion se sigue cumpliendo lucion factible vecina dada en la Figura 8. En la -
que la nueva solucion es factible ya que al hacer es- la 5 primero se elimina el entero 5, pero como ya apa-
te cambio se cumplen las condiciones 1 y 2 de la sub- rece este entero en la celda (5,3), no afecta su eli-
seccion 3.1. Por ejemplo, si se seleccionan las cel- minacion, por otro lado se agrega el entero 3 que
das (5,4) y (6,5), de la solucion inicial de la Figu- ya aparece en la celda (5,8) y por lo tanto no afec-
ra 7 y se intercambian sus valores, se obtiene la so- ta el valor de la penalizacion al agregarlo, en su-
lucion vecina dada en la Figura 8. ma la penalizacion de la la 5 en la nueva solu-
cion es igual a la de la solucion inicial y su valor
es 1. Para la la 6, se hace el intercambio contra-
rio, se elimina el valor 3 que no aparece en otro si-
tio de la la y por lo tanto la penalizacion se aumen-
ta en 1, por otro lado se agrega el entero 5 que no
aparece en ningun otro lado de la la y la penaliza-
cion se disminuye en 1, nalmente la suma algebrai-
ca de ambas operaciones es +1 1 = 0 y la penaliza-
cion de la la 6 es igual a 3. Para el caso de las colum-
nas: comencemos con la columna 4, se elimina el en-
tero 5, como tambien aparece en la celda (9,4), es-
ta eliminacion no afecta la penalizacion, por otro la-
do, se agrega el entero 3 que no aparece en el res-
to de la columna as que la penalizacion disminu-
ye en 1 y por lo tanto la suma algebraica de am-
Figura 8. Solucion vecina de la inicial. bas operaciones es 0 1 = 1, as que, la penaliza-
Solucion al acertijo del Sudoku. . . M. A. Gutierrez A., J. Goddard C., S. G. de los Cobos S. 37

cion de la columna 4 cambia a 3 1 = 2. Para la co- 3.6. El parametro de control


lumna 5, primero se elimina el entero 3 que apare- El valor inicial del parametro de control c0 se obtuvo
ce en las celdas (1,5) y (9,5) y por lo tanto la pena- realizando varias iteraciones con soluciones vecinas
lizacion queda igual al eliminar el entero 3, al agre- generadas a partir de la solucion inicial aleatoria x0 ,
gar el entero 5 se observa que no existe en dicha co- (obtenida usando el procedimiento descrito en 3.1).
lumna y por lo tanto la penalizacion de la colum- Se hicieron N OF IJA2 iteraciones, donde el valor
na baja en 1, as que el efecto total es 0 1 = 1 N OF IJA es el numero de celdas no jas del Sudoku
y por lo tanto la penalizacion de la columna 5, que- que se va a resolver. Sea f (x) el costo asociado a la
da como 4 1 = 3. Finalmente el costo total de la solucion x, calculado de acuerdo a la subseccion 3.2.
nueva solucion vecina propuesta es 39. La nueva so- Para este conjunto de soluciones se calculo el costo
lucion factible (de la Figura 8) se considera mejor promedio f y la desviacion estandar f. Se tomo el
que la inicial, dado que tiene un costo menor, es de- valor inicial del parametro de control como: c0 = f.
cir, tiene menos violaciones a las reglas 1 y 2.
Los valores sucesivos del parametro de control se ob-
3.5. Mecanismo de generacion tuvieron mediante la ecuacion (2) con un valor de
El numero de soluciones vecinas depende del nume- = 0.95, 0.97 y 0.99 de acuerdo a la dicultad del
ro de celdas jas, entre mas celdas jas haya se Sudoku. Para cada valor jo del parametro de con-
tendran menos soluciones vecinas y viceversa. Se re- trol se realizaron N OF IJA2 iteraciones.
quiere crear un mecanismo de generacion de una
solucion vecina a partir de la solucion actual. La 4. Algoritmo de Recocido Simulado pa-
forma de hacerlo es: primero se selecciona al azar ra el Sudoku
una celda no ja dentro de todas las celdas no - El pseudocodigo del algoritmo de Recocido Si-
jas de la cuadrcula de 9 9; enseguida se selec- mulado desarrollado para el juego del Sudo-
ciona al azar una celda no ja perteneciente a la ku se da en la Figura 9. En las lneas 2-4 se to-
subcuadrcula a la que pertenece la primera cel- man los valores iniciales del parametro de con-
da no ja seleccionada. Posteriormente se intercam- trol c0 , k, equilibrio, transiciones, el valor que
bian los valores enteros asignados a estas dos celdas se toma igual a 0.95, 0.97 o 0.99 segun sea el gra-
seleccionadas. do de dicultad del Sudoku y la solucion ac-
tual x0 . El ciclo interior (lneas 6-15) se ejecu-
Para crear una solucion vecina de la solucion actual ta tantas veces como el numero N OF IJA2 , don-
dada en la Figura 7, se selecciona al azar una cel- de se mantiene constante el parametro de con-
da, es decir, seleccionamos al azar dos valores con trol. Si se alcanza una solucion xj que ten-
distribucion uniforme discreta entre 1 y 9, el pri- ga un costo f (xj ) = 0, entonces se habra obte-
mer valor se lo asignamos al numero de la y el se- nido la solucion valida del Sudoku y el algorit-
gundo al numero de columna. Por ejemplo, si ob- mo termina (lnea 8), en caso contrario se eje-
tenemos los valores 5 y 2 corresponden a la cel- cuta totalmente el ciclo interior hasta obte-
da (5,2) que es una celda no ja (en caso que fue- ner el equilibrio para el valor jo ck . El ciclo ex-
ra una celda ja se intentara nuevamente hasta ob- terior (lneas 5-17) cambia el parametro de con-
tener una celda no ja) esta celda corresponde a la trol mediante la ecuacion (2) en la lnea 16 y contro-
subcuadrcula 4 por lo que la siguiente seleccion se la el numero de iteraciones hasta el punto de con-
hara seleccionando un numero al azar con distribu- gelamiento (cf inal ) que se esta deniendo co-
cion uniforme entre 4, 5 y 6 y otro un numero al mo aquel en el que despues de ejecutar un ciclo inte-
azar con distribucion uniforme entre 1, 2 y 3, nue- rior completo no hay cambios en la solucion. Si el al-
vamente si esta seleccion corresponde a una celda - goritmo termina con esta condicion de congela-
ja o a la celda ya seleccionada (la (5,2)), en este ca- miento (lnea 17) entonces no se habra encon-
so se seleccionaran otra pareja hasta obtener una trado ninguna solucion valida al Sudoku. En es-
celda no ja diferente a la (5,2); suponga que la te caso se puede nuevamente calentar o reca-
celda seleccionada sea la (6,3), por lo que la solu- lentar, es decir, tomar nuevamente el valor ini-
cion vecina generada al azar sera aquella que resul- cial c0 y la solucion inicial igual a la solucion ac-
ta de intercambiar los enteros 4 y 7 en las celdas tual y regresar a la lnea 4 del algoritmo. Si des-
seleccionadas. pues de seguir el procedimiento anterior, en reite-
radas ocasiones, no se encuentra una solucion vali-
da al Sudoku se podra sospechar que el Sudo-
38 ContactoS 84, 3139 (2012)

1 Inicio
2 xi x0
3 equilibrio N OF IJA2 , 0.95, 0.97, 0.99
4 transiciones 0, c0 f, k 0
5 Hacer
6 Hacer hasta transiciones = equilibrio
7 Seleccione al azar xj V (xi )
8 Si f (xj ) = 0 entonces SALIR (solucion valida del sudoku)
9 Si f (xj ) < f (xi ) entonces
10 xj xi
11 Otro caso
 
f (xj )f (xi )
12 Si exp ck
random[0, 1) entonces
13 xj xi
14 transiciones = transiciones + 1
15 Continua
16 ck+1 ck , k k + 1, transiciones 0
17 Hasta (No hay cambio de solucion)
18 Fin

Figura 9. Algoritmo de Recocido Simulado para el Sudoku.

ku que se esta tratando de resolver no tiene solu- do de dicultad. Para todas las corridas prime-
cion valida. ro se calcula la desviacion estandar de los cos-
tos de cada Sudoku y este valor se le asigno al va-
5. Resultados lor inicial del parametro de control. Los tiem-
Se tomaron Sudokus que aparecen en periodi- pos promedio de solucion entre los diferentes nive-
cos de circulacion nacional tales como Refor- les s vara signicativamente: de un tiempo pro-
ma, El Universal, etc., y en portales de Internet co- medio de 0.011 segundos, para el nivel facil; se du-
mo en http://www.gamehouse.com/onlinegames/, plica en el nivel medio (.024 segundos), y se vuel-
http://www.sudoweb.com/, http://Sudoku.zeit.de/, ve a duplicar el tiempo entre el nivel medio y
etc. en donde se catalogan en niveles de dicul- difcil. La diferencia ya es mas signicativa en-
tad como facil, medio, difcil y muy difcil. Se co- tre el nivel difcil y muy difcil que se triplica. Tam-
rrieron 100 Sudokus de cada nivel. Los resulta- bien se probaron varios valores para el parame-
dos obtenidos aparecen en la Tabla 2 en don- tro de la ecuacion (2) para los diferentes niveles ob-
de se observa que el costo promedio para Sudo- teniendose valores de idoneos para cada gra-
kus de nivel facil es mucho menor (en diez uni- do de dicultad. Para facil y medio fue sucien-
dades) que Sudokus de nivel medio hacia arri- te tomar el valor de = 0.95. Para el caso de ni-
ba ya que el numero de celdas jas es mu- vel de dicultad difcil se tomo = 0.97 y pa-
cho mayor que los demas y por lo tanto el nume- ra el nivel de dicultad muy difcil se tomo
ro de errores al asignar valores aleatoriamen- = 0.99. Con estos valores se garantizo la ob-
te al resto de las celdas no crece mucho co- tencion de una solucion valida a los Sudokus
mo en el caso de los otros niveles que no vara mu- resueltos.
cho el numero de celdas jas (en promedio en-
tre 22 y 25). Tambien se puede observar que la va- Conclusiones
riacion del numero de celdas jas entre los nive- En este artculo se da una descripcion del Sudoku y
les medio, difcil y muy difcil no es mucho. Las des- se plantea como un problema de optimizacion com-
viaciones estandar promedio de los costos en- binatoria en donde se dene un espacio de solucio-
tre los diferentes niveles de dicultad no es muy sig- nes factibles y a cada solucion se le asocia un cos-
nicativa ya que va de alrededor de 9 a 10 uni- to. Se desarrolla un algoritmo de Recocido Simula-
dades de manera creciente con respecto al gra- do para resolver el Sudoku, la solucion valida al Su-
Solucion al acertijo del Sudoku. . . M. A. Gutierrez A., J. Goddard C., S. G. de los Cobos S. 39

Tabla 2. Estadsticas obtenidas en la solucion de los Sudokus


Celdas Tiempo
Costo Desv. Fijas Prom. No. Iter.
Nivel Prom. Estan. Prom. (seg) ck jo
Facil 36.14 8.95 40.85 .01125 1612 0.95
Medio 45.78 9.51 25.05 .02465 3130 0.95
Difcil 46.55 9.70 22.65 .04445 3404 0.97
Muy Difcil 46.46 9.96 22.85 .13350 3381 0.99

doku es aquella cuyo valor objetivo es igual a ce- 4. Moraglio A., Togelius J., Geometric parti-
ro. Se implemento el algoritmo y se corrieron instan- cle swarm optimization for the Sudoku puzz-
cias obtenidas de periodicos, revistas y algunas pagi- le, Proceedings of the 9th annual conferen-
nas de Internet cuyo grado de dicultad iba de facil ce on Genetic and evolutionary computation,
a muy difcil, obteniendose siempre la solucion vali- 118-125, 2007.
da en un tiempo muy pequeno. 5. Yato T., Seta T. Complexity and completeness
of nding another solution and its application to
Referencias
puzzles. In Proceedings of the National Meeting
1. Colbourn C. The complexity of completing par- of the Information Processing Society of Japan
tial latin squares. Discrete Applied Mathematics, (IPSJ), 2002.
(8):25-30, 1984.
2. Kirkpatrick S., Gelatt C. D., Vecchi, M. P.,
Optimization by Simulated Annealing, Science,
(220):671-680. May, 1983.
3. Lynce I., Ouaknine J. Sudoku as a SAT problem, cs
Proceedings of the Ninth International Sympo-
sium on Articial Intelligence and Mathematics,
Springer, 2006.

También podría gustarte