Hay dos formas de entender su pregunta.
- ¿Qué tan difícil es para una computadora, por cualquier método posible? Lo relevante aquí es el tiempo de resolución. Como se sabe que Sudoku (n) es NP-completo, no existe una solución polinómica. Para el Sudoku estándar (9), el algoritmo más rápido conocido es la búsqueda en profundidad. Es muy rápido: cualquier rompecabezas se puede resolver en una fracción de segundo (y los programas de código abierto C para esto están ampliamente disponibles).
- ¿Qué tan difícil es para un humano? Ahora, todavía hay varias formas de entender la pregunta. Pero generalmente se requiere una solución humana para satisfacer una condición adicional: debe ser “puramente lógica” o “basada en patrones”. Esto significa que cada paso (eliminación / aserción de un candidato) en el proceso de resolución debe estar justificado por alguna “regla de resolución” del tipo: condición-patrón ==> eliminación (o aserción) de un candidato. En lo que sigue, me atendré a esta vista y consideraré solo los acertijos 9 × 9 estándar.
Los acertijos que puedes encontrar en los periódicos dan una idea muy parcial de cuán compleja puede ser una solución “lógica”. En comparación con los acertijos conocidos más difíciles, las graduaciones habituales (fácil, moderada, … dura, súper dura, diabólica, diabólica, …) son como un grano de polvo en el primer paso hacia la cima del Everest. (Existen diferentes medidas posibles de complejidad, pero he demostrado * que están fuertemente correlacionadas, por lo que la oración anterior es válida, cualquiera de las que considere).
Ahora, también está la cuestión de qué patrones particulares se permiten en el proceso de resolución. No hace falta decir que hay enfoques muy diferentes y si alguna vez echas un vistazo a los foros de Sudoku, verás que han sido objeto de acalorados (pero rara vez esclarecedores) debates.
Desafortunadamente, muy pocos conjuntos de reglas se han estudiado sistemáticamente con respecto a su poder de resolución (de hecho, el único estudio que conozco es el mío *). La mayoría de las reglas recomendadas por los “expertos en sudoku” solo pueden resolver una pequeña fracción de todos los acertijos. Para el resto de los rompecabezas, es necesario algún tipo de regla de cadena; He definido varios tipos de reglas de cadena y he demostrado * que una de ellas (trenzas B) puede resolver todos los acertijos 9 × 9 conocidos (y que es muy poco probable que se pueda encontrar un acertijo 9 × 9 fuera de su alcance) . Las reglas en este conjunto proporcionan una calificación lógica de cualquier rompecabezas de 9 × 9, más preciso que mi metáfora del Everest.
- Cuando se crea un rompecabezas de sudoku, ¿cómo puede estar seguro el creador de que tiene solución?
- Rompecabezas matemáticos: ¿Cómo resolverías esta multiplicación criptográfica?
- ¿Existe una estrategia para encontrar la solución correcta para los juegos ‘Grow’ de Eyemaze?
- ¿Qué es 9 P en la U?
- 100 personas de pie en un círculo en un orden del 1 al 100. El número 1 tiene una espada. Él mata a la siguiente persona (es decir, el número 2) y le da la espada a la siguiente (es decir, el número 3). Todas las personas hacen lo mismo hasta que solo 1 sobrevive. ¿Qué número sobrevive al final? Quiero el programa C ++ para esto.
(* en mis libros “La lógica oculta del Sudoku” o el más reciente “Satisfacción de restricciones basadas en patrones y acertijos lógicos”)