Академический Документы
Профессиональный Документы
Культура Документы
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.
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
5.1 Algoritmo Gentico Aplicado a la Solucin del Fai: Funcin objetivo del individuo i-simo.
Sudoku k: Tasa de adaptacin (k >1).
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).
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
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
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.
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.