Este algoritmo (paso a paso) lo guiará hacia la creación de un rompecabezas de Sudoku.
Primera mitad del algoritmo: –
1) comienza con un tablero vacío
2) agregue un número aleatorio en una de las celdas libres (la celda se elige al azar y el número se elige al azar de la lista de números válidos para esta celda de acuerdo con las reglas de SuDoKu)
- ¿Cómo resolverías estos acertijos confusos?
- Dado un cubo. Una hormiga se coloca en una esquina y no puede moverse. Una araña comienza desde la esquina opuesta y puede moverse a lo largo de los bordes del cubo en cualquier dirección (x, y, z) con probabilidad 1/3. ¿Cuál es el número esperado de pasos para que esta araña llegue a la hormiga?
- ¿Cuántos enteros positivos de seis dígitos tienen la propiedad de que cada dígito es menor que cualquier dígito a su derecha?
- ¿Cuántos estados únicos tiene un cubo de Rubik?
- ¿Cuál es la respuesta al problema lógico de Singapur? ¿Cuándo es el cumpleaños de Cheryl?
3) Use el solucionador de retroceso para verificar si la placa actual tiene al menos una solución válida. Si no, deshaga el paso 2 y repita con otro número y celda. Tenga en cuenta que este paso puede producir placas válidas completas por sí solo, pero de ninguna manera son al azar.
4) Repita hasta que el tablero esté completamente lleno de números.
Segunda mitad del algoritmo: –
1) comience con un tablero completo y válido (lleno de 81 números)
2) haga una lista de las 81 posiciones de las celdas y baraje al azar
3) Mientras la lista no esté vacía, tome la siguiente posición de la lista y elimine el número de la celda relacionada
4) pruebe la unicidad utilizando un solucionador rápido (con retroceso si es necesario). Mi solucionador puede contar todas las soluciones, pero se detiene cuando encuentra más de 1 solución.
5) Si el tablero actual tiene solo una solución, vaya al paso 3) y repita.
6) Si el tablero actual tiene más de una solución, deshaga la última eliminación (paso 3) y continúe el paso 3 con la siguiente posición de la lista
7) detente cuando hayas probado las 81 posiciones.
Esto le brinda no solo tableros únicos, sino tableros donde no puede eliminar más números sin destruir la singularidad de la solución.