¿Cómo se crean los rompecabezas de sudoku a gran escala?

Creé un pequeño proyecto de código abierto para un sudoku genérico
mccalv / sudoku-generator.

El algoritmo para la generación de la matriz es el siguiente;

  • Obtenga el conjunto [1-9] de los números
  • Baraja la matriz al azar
  • Rellene los primeros 3 3 cuadrados de la matriz anterior secuencialmente
  • Ejecute la permutación de banda para los otros 2 cuadrados de la primera fila.
  • Ejecute permutación de banda para las otras filas;

El algoritmo tiene un tiempo lineal y una complejidad temporal de [matemáticas] O (n) [/ matemáticas] y
itera sobre la matriz solo una vez. Dado el mismo conjunto original,
produce siempre la misma matriz de sudoku. En general es capaz de
generando 9! diferentes matrices de sudoku iguales al número de posibles
permutación del conjunto de números de Sudoku.

Ejemplo de permutación de banda (de una primera disposición aleatoria de 3 * 3)
Esto produce una matriz válida, no para obtener una matriz jugable, solo elimina una cantidad de celdas (según el nivel de dificultad)

  ----------------------------------
  6 |  4 |  8 |  El |  El |  El |    
  5 |  3 |  9 |  El |  El |  El |    
  7 |  1 |  2 |  El |  El |  El |    
 
    El |  El |  El |  El |  El |  El |    
    El |  El |  El |  El |  El |  El |    
    El |  El |  El |  El |  El |  El |  
    El |  El |  El |  El |  El |  El |    
    El |  El |  El |  El |  El |  El |    
    El |  El |  El |  El |  El |  El |  
 ----------------------------------
 ----------------------------------
  6 |  4 |  8 7 |  1 |  2 5 |  3 |  9 9  
  5 |  3 |  9 6 |  4 |  8 7 |  1 |  2  
  7 |  1 |  2 5 |  3 |  9 6 |  4 |  8
 
    El |  El |  El |  El |  El |  El |    
    El |  El |  El |  El |  El |  El |    
    El |  El |  El |  El |  El |  El |  
    El |  El |  El |  El |  El |  El |    
    El |  El |  El |  El |  El |  El |    
    El |  El |  El |  El |  El |  El |  
 ----------------------------------
 ----------------------------------
  6 |  4 |  8 7 |  1 |  2 5 |  3 |  9 9  
  5 |  3 |  9 6 |  4 |  8 7 |  1 |  2  
  7 |  1 |  2 5 |  3 |  9 6 |  4 |  8
 
  8 |  6 |  4 |  El |  El |  El |    
  9 |  5 |  3 |  El |  El |  El |    
  2 |  7 |  1 |  El |  El |  El |  
  4 |  8 |  6 |  El |  El |  El |    
  3 |  6 |  5 |  El |  El |  El |    
  1 |  2 |  7 |  El |  El |  El |  
 ----------------------------------

¡Eres más inteligente de lo que piensas! Todos los que tengan habilidades básicas para resolver sudoku pueden crear un rompecabezas de Sudoku de una manera garantizada, ¡en minutos! consulte este libro o este sitio web.

Después de crear un rompecabezas de Sudoku, o de ver un rompecabezas de Sudoku en el periódico, este rompecabezas de Sudoku se puede usar para hacer millones de otros rompecabezas de Sudoku. Aquí, estoy hablando de los clásicos rompecabezas de sudoku (rompecabezas que tiene una única solución, y los cuadrados simétricos alrededor del cuadrado central están llenos o ambos vacíos).

¿Cómo? Para un rompecabezas de sudoku clásico existente, si

  • Intercambie las tres filas inferiores superiores y las tres filas inferiores;
  • Intercambie las tres columnas izquierdas y las tres columnas derechas;
  • Intercambie la cuarta columna y la sexta columna;
  • Intercambie la cuarta fila y la sexta fila; o
  • Intercambie dos números cualquiera;

Obtendrás un nuevo Sudoku. El nuevo Sudoku y el antiguo Sudoku son intrínsecamente iguales porque tienen las mismas restricciones, y en el nuevo Sudoku, dos cuadrados simétricos (alrededor del centro del Sudoku) están llenos o no llenos de números. Puede imprimir un Sudoku en blanco (gratis desde este sitio web) para crear un rompecabezas de Sudoku, o reutilizar un rompecabezas de Sudoku de periódico, luego use los métodos anteriores para obtener millones de nuevos rompecabezas de sudoku. ¿El nuevo Sudoku es más fácil, tan fácil o más difícil de resolver? Gran pregunta! Eres bienvenido a discutir esto conmigo. Mi dirección de correo electrónico es [correo electrónico protegido] .

A2A

Crear rompecabezas en cualquier volumen requiere asistencia de computadora. Crear rompecabezas completamente a mano es demasiado lento. Afortunadamente, hay un punto medio entre los rompecabezas completamente creados por computadora (casi todos los Sudoku) y los rompecabezas creados completamente por humanos (una pequeña fracción). Los acertijos que creamos internamente en Puzzazz (incluidos muchos por mí) están hechos en parte por un humano y en parte por una computadora. Mira esta respuesta en otra parte de Quora (que también incluye cuatro rompecabezas míos):

La respuesta de Roy Leban a ¿Cuál es el proceso de creación de un Sudoku?

Los rompecabezas que ves en el periódico (o en cualquier otro lugar) no se crean manualmente. Es mucho más eficiente usar un programa de computadora. Una computadora puede generar fácilmente tantos rompecabezas como desee, del tamaño que desee. Ver por ejemplo:
Solucionador de Sudoku y Generador

Generalmente hago eco de la respuesta de Roy Leban. La creación de rompecabezas a gran escala requiere asistencia informática, pero para tener una apariencia de creatividad y diversión, es probable que necesites un elemento humano (suficientemente calificado) para la creación. La mayoría de los Sudokus en los periódicos no están inspirados y son de naturaleza muy similar. Si está de acuerdo con hacer ese compromiso, hay muchos solucionadores y generadores de Sudoku en línea que lo ayudarán.

More Interesting

¿Necesito matemáticas para programar?

¿Es una pérdida de tiempo tratar de ser un programador de computadoras si soy malo en matemáticas?

¿Por qué la gente encuentra divertida la programación / codificación, pero no las matemáticas?

Criptografía: ¿Cómo explicaría el encadenamiento de hash para evitar la técnica de colisiones de hash?

Teoría de la complejidad computacional: ¿cómo es posible que P! = NP no se haya probado todavía?

¿Qué es la relajación en las matemáticas?

Cómo calcular la probabilidad de un carácter dado en una cadena usando partes de esta cadena

¿Cuál es el beneficio de estudiar lógica y teoría de conjuntos para matemática o informática?

Dada una instancia tautológica de DNF-SAT, ¿se conserva la tautología después de agregar un nuevo literal [math] v [/ math] o [math] \ bar {v} [/ math] a una cláusula que se sabe que está en PTIME?

¿Cuál es el polinomio más pequeño que puede atravesar todos los conjuntos de n puntos? ¿Hay uno?

¿Qué utilizamos en una calculadora científica, microcontrolador o microprocesador?

¿Hay alguna buena idea sobre cómo optimizar la biblioteca matemática fundamental del sistema?

¿Se puede programar una computadora para probar problemas matemáticos complejos no resueltos?

¿Qué es una prueba intuitiva de que las redes neuronales recurrentes pueden calcular cualquier función computable por una máquina Turing?

¿Qué es un algoritmo para encontrar la mediana de la complejidad en o (n) tiempo?