Supongamos que Sudoku significa Sudoku bien formado (es decir, con una y solo una solución).
La simple sustitución de todos los números indecisos y la comprobación llevaría una gran cantidad de tiempo.
El método de búsqueda más rápido combina la búsqueda en profundidad (agregue los números posibles uno por uno) con la propagación de restricciones elementales (ECP): cada vez que pruebe un número posible, elimine todos los candidatos que están vinculados a él por una contradicción directa (de acuerdo con el reglas).
- ¿Alguna idea para optimizar una arquitectura de computadora (ISA) para un conjunto determinado de algoritmos?
- Cómo mantener un buen rendimiento para una computadora
- ¿Cuáles son las diferencias entre simulación y emulación?
- ¿Cuál es la mejor universidad para menores de 10 Lakhs en India para la rama CS?
- ¿Qué consejo le darías a un profesor asistente de investigación en ciencias de la computación (sistemas) que quiera abandonar la academia y entrar en la industria? ¿Qué habilidades necesitaré para que la academia no me equipe? ¿Es esta una buena idea?
La búsqueda de profundidad primero acepta una solución tan pronto como se encuentra. Puede encontrar múltiples soluciones si las hay. Pero si se detiene en la primera solución (como generalmente se hace cuando se sabe que el rompecabezas está bien formado), no prueba la unicidad. En este sentido, la búsqueda en profundidad permite alguna forma de adivinar.
He demostrado que otro procedimiento de búsqueda muy simple sin adivinar, Prueba y Error (T&E), requiere solo dos niveles de hipótesis para todos los Sudokus 9 × 9 conocidos (y probablemente para todos los Sudokus 9 × 9) y eso solo un nivel es suficiente para todos menos una proporción muy pequeña de rompecabezas de 9 × 9 (~ 1 en 30,000,000).
Ahora, para responder a su pregunta: sí, la mayoría de los Sudokus 9 × 9 se pueden resolver sin utilizar la búsqueda en profundidad o incluso T&E, utilizando un enfoque “basado en patrones” de satisfacción de restricciones. Básicamente, significa usar reglas que pueden ser utilizadas por solucionadores humanos. Una pregunta es qué tipos de reglas se consideran aceptables o no. Todos los acertijos en el nivel 0 o 1 de T&E pueden resolverse mediante un tipo de cadena que llamé “trenza”.
Para más detalles, vea mi libro “Satisfacción de restricciones basadas en patrones y rompecabezas lógicos” (la primera edición es gratuita).