Cuando se crea un rompecabezas de sudoku, ¿cómo puede estar seguro el creador de que tiene solución?

La pregunta muestra un malentendido sobre cómo se crean los rompecabezas de Sudoku. Asegurar la solvencia es esencial para el proceso de creación del rompecabezas.

En particular, uno no solo rocía la cuadrícula con números y espera que haya una solución. En cambio, el creador comienza con una solución y utiliza un enfoque selectivo o reductivo, o comienzan con una cuadrícula en blanco y se dirigen hacia una solución con un enfoque aditivo.

La mayoría de los acertijos de Sudoku están creados completamente por computadora y utilizan un enfoque reductor, eliminando números de la solución hasta que obtienen un rompecabezas solucionable con una solución única en el nivel de dificultad deseado.

Por lo general, uso un enfoque selectivo, en el que comienzo con una solución y selecciono algunas partes de la solución para darme lo que espero sea un rompecabezas interesante. Comenzar con la solución (o parte de una solución) en mente también es el proceso utilizado para crear muchos otros tipos de rompecabezas, y también se usa con frecuencia en el enfoque aditivo.

Con un enfoque selectivo o reductivo, el rompecabezas tiene una solución incluso antes de ser creado.

¿Pero es solucionable? Esa es una historia diferente. Supongamos que solo le doy 1 de los 81 números de solución. ¿Puedes resolverlo? Por supuesto no. Hay billones (o más) de rompecabezas de Sudoku con ese número en esa posición. Si toma el video Tushar Garg vinculado a dos literalmente, podría pensar que solo necesita proporcionar 17 obsequios. No, casi todos esos “rompecabezas” no tienen soluciones únicas, por lo que no son rompecabezas válidos.

La única manera de saber si el rompecabezas es solucionable por los solucionadores humanos es hacer que los humanos lo resuelvan o usar un programa que simule cómo los humanos lo resuelven.

Muchos de los rompecabezas de Sudoku son creados completamente por computadora, sin intervención humana. En Puzzazz, creamos rompecabezas de Sudoku de la siguiente manera:

  1. Un programa de computadora genera una solución única. Esto es tedioso y no hay razón para que un humano lo haga.
  2. Un humano selecciona números en el rompecabezas como dados, generalmente en un patrón agradable o interesante.
  3. Un programa de computadora verifica que el rompecabezas sea solucionable por un humano y nos dice qué nivel de dificultad tiene el rompecabezas.
  4. Un humano resuelve el rompecabezas para asegurarse de que el rompecabezas sea solucionable y verifique el nivel de dificultad. Ahora que hemos creado muchos acertijos, cortocircuitamos este paso: los humanos resuelven un subconjunto de acertijos para asegurarnos de que no nos hemos equivocado y que nuestros niveles de dificultad son precisos.

La otra forma de crear rompecabezas de Sudoku consiste en colocar números repetidamente hasta que el rompecabezas se resuelva. Con este método, puede obtener la mejor ubicación absoluta de los regalos y puede crear algunos rompecabezas fantásticos. Desafortunadamente, este método lleva mucho tiempo, potencialmente muchas horas por rompecabezas, por lo que no es práctico al crear libros enteros de rompecabezas. Entonces, hemos adoptado el enfoque de dejar que un programa de computadora haga el trabajo duro.

Aquí hay cuatro rompecabezas que creé que están en la serie Sudoku by Fire disponibles en Puzzazz. Tenga en cuenta los diseños interesantes de regalos, incluyendo un signo de paz y un corazón. De arriba a abajo, estos rompecabezas son de los libros Principiante, Fácil, Medio y Duro. ¡Disfrutar!

Estos rompecabezas son © Copyright 2017 de Roy Leban y Puzzazz, Inc.
Se concede permiso para publicar en Quora. No es para redistribución.

Soy un autor de rompecabezas, pero realmente no escribo rompecabezas de Sudoku. En cambio, escribo otro tipo de rompecabezas, como Kakuro, Slitherlink, Fillomino y demás. (Búscalos en Google o búscalos en Wikipedia). Pero son bastante similares en términos de cómo los escribes.

Un rompecabezas hecho a mano se escribe junto con su solución. Por lo general, tengo dos cuadrículas: una que contiene solo el rompecabezas y otra es todo lo que se puede derivar lógicamente del estado actual del rompecabezas. (Cuando se llena la segunda cuadrícula, eso significa que tengo la solución (que necesariamente será única) y así he terminado). Agrego algo a la primera cuadrícula y deduzco todo lo que puedo a la segunda cuadrícula. Enjuague y repita hasta que termine. A veces encuentro que hago una contradicción; en ese caso, deshago la adición de algo e intento otra cosa.

Esto me da mucha libertad para diseñar mis rompecabezas. Me da una forma de inyectar el camino de resolución particular que quiero, porque simultáneamente estoy resolviendo mi propio rompecabezas.

A veces me quedo atrapado sin una forma satisfactoria de hacerlo. Podría borrar algunos trabajos anteriores, o incluso reiniciar completamente todo. A veces termino de crear un rompecabezas, pero encuentro que se resuelve de manera menos satisfactoria (porque hay un camino alternativo que accidentalmente creé); Lo modifico más para tratar de eliminar esto, o de lo contrario deshago el rompecabezas y reinicio.


Escribir rompecabezas es difícil. Pero (buenos) rompecabezas hechos a mano representan un hermoso desafío para los solucionadores. Les planteamos un desafío, pero queremos que ganen y queremos que lo pasen bien. Así también ganamos nosotros; así es como nuestro tiempo dedicado a escribir ese rompecabezas vale la pena. Esta es la razón por la que miramos los rompecabezas generados por computadora: los solucionadores no suelen pasar un buen rato, a menudo es una tarea aburrida. (Y probablemente también sea por eso que no me gusta el Sudoku; hay demasiados rompecabezas generados por computadora que los hermosos hechos a mano tienen dificultades para competir. Lo bueno es que los otros tipos de rompecabezas son mucho más difíciles de generar por un ¿computadora?)

“Cuando crean un rompecabezas de sudoku, ¿cómo pueden estar seguros de que hay suficientes números para resolverlo?”

Al resolverlo. (Generalmente con la asistencia de una computadora). Una computadora puede encontrar múltiples soluciones (si existen) en una fracción de segundo.

Un método para crear un rompecabezas de sudoku es generar una cuadrícula completa de números, luego eliminarlos uno o dos a la vez y probar si el rompecabezas resultante todavía tiene una solución única.

Los buenos creadores de Sudoku se asegurarán de que el rompecabezas sea solucionable mediante técnicas accesibles para los humanos, y que presente una aventura desafiante, pero no tediosa.

Después de crear un sudoku, los autores generalmente intentan resolverlo. Si pueden resolverlo, obtienen un signo positivo.

¡Pero espera!

¡No es el final!

Puede suceder que el autor asumió algo en su mente al crear y descuidó alguna posibilidad al resolver y ha encontrado una solución. Puede suceder que el sudoku no sea único. Entonces, lo que hacen los autores para verificar si el sudoku es único o no es que lo resuelvan mediante prueba. Con eso quiero decir que el autor le da el sudoku a un solucionador de sudoku y le dice que resuelva el sudoku. Si el solucionador encuentra una solución única, el autor está seguro de que el sudoku es solucionable y que tiene una solución única. A veces (generalmente si el autor está creando el sudoku para una competencia) puede ser resuelto por más de un solucionador para estar totalmente seguro.

Dicho esto, agregaría que hay muchos softwares / solucionadores en línea que pueden decirle si un Sudoku clásico es solucionable y tiene una solución única o no. No hay ningún problema en la parte de unicidad, pero puede suceder que el Sudoku sea solucionable para el software utilizando algunas técnicas de encadenamiento, pero no puede ser resuelto por un humano sin prueba y error.

Además, no existe tal software / solucionador para sudokus variante (o al menos no sé nada de eso)