Un solucionador y generador de sudokus para aprender cómo funcionan los algoritmos relacionados

La parte más conocida de este proyecto relacionado con los Sudokus se llama Super Sudoku, y lo creó Tom Nick para su abuela, que se quejaba de la escasa dificultad de los que encontraba en las revistas. Esto le llevó a una aventurilla más interesante, que cuenta en una larga anotación: Cómo generar sudokus por pura diversión.

Es una gran explicación paso a paso de cómo se resuelven sudokus, y también cómo se generan, y los algoritmos relacionados. Y además el código es libre y está en Github. Así que puedes descargarlo, examinarlo, modificarlo, mejorarlo y usarlo como te plazca.

En el artículo avanza paso a paso del mismo modo que haría cualquier programador humano: probando primero por fuerza bruta, luego buscando una pequeña optimización (como es dejar de usar la fuerza bruta en cuanto se detecta que el sudoku es imposible) y luego imitando cómo resuelven los sudokus los humanos, en este caso intentando resolver primero las regiones que tienen menos opciones.

De aquí se llega al algoritmo AC-3 que está relacionado con la consistencia y las restricciones a la hora de resolver un problema. Lo cual va mucho más allá de los meros pasatiempos de numeritos o letras y colores. En los sudokus más avanzados, por ejemplo, puede suceder que haya varias restricciones; usar algoritmos como el AC-3 permite dar con la solución más fácilmente.

Finalmente hay una parte dedicada a la generación de sudokus, pero ahí la complicación es más intrigante todavía: cómo percibimos los humanos la dificultad de un problema lógico.

Una propuesta es rellenar el sudoku aleatoriamente y entonces borrar números comprobando que se puede resolver; se supone que cuantas menos pistas haya más difícil será. Aquí el artículo flojea un poco porque no concreta lo que considera un «sudoku válido», que según los expertos puede tener que ver con una solución única, la simetría que dibujan las pistas y otros detalles. Aun así resulta una lectura muy interesante tanto para aficionados como para programadores.

Relacionado:

Shikaku: de fácil a superdifícil
Un crucigrama matemático de aritmética
Un sudoku muy especial con tal sólo cuatro números iniciales
¡Dios mío, está lleno de sudokus y variantes!
Sandwich Sudoku
Multiplicaciones para hacer un poco de ejercicio mental
24 sudokus diferentes para ejercitar la lógica y pasar un buen rato
¡Dios mío, está lleno de variantes de Sudokus!
Los sudokus «pata negra» necesitan como mínimo 17 números iniciales
Molecube, el cubo de Rubik + sudoku
Algoritmos para resolver sudokus
Rascacielos como sudokus: un juego de pura lógica
Consejos para Sudokus: una serie
Un Sudoku excepcionalmente difícil
Sudoku Nonominó
Sudoku Samurai Killer: La Bestia
Sudoku, un puzzle de números
Killer Sudoku, sin números iniciales
Magic Sudoku
Hidato: un nuevo rompecabezas lógico
Consejos para resolver Sudokus, mini-serie en seis capítulos
Sudoku, un puzzle de números

# Enlace Permanente

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*