El solucionador de Sudoku en una sola línea de Arthur Whitney (2011)
(dfns.dyalog.com)Algoritmo de resolución de Sudoku
-
Descripción del problema de Sudoku
- El rompecabezas de Sudoku está compuesto por cajas de 3×3 dentro de una cuadrícula de 3×3, y cada celda está vacía o contiene un número del 1 al 9.
- Cada caja de 3×3, las 9 filas y las 9 columnas deben contener los 9 números sin duplicados.
- Se proporcionan un problema de ejemplo y un método de resolución.
-
Resumen del algoritmo
- La matriz se procesa como un vector y las filas, columnas y regiones del Sudoku se representan con vectores de índices.
- Se realiza una verificación básica del rompecabezas y se encuentra la solución filtrando los elementos posibles.
- Si una celda está vacía, se pasa a la siguiente lista, y si una celda contiene varios números, se elige desde el grupo más restringido y se agrega a la lista.
- Cuando todas las celdas contienen un solo número, se ha encontrado la solución.
-
Notas técnicas
- Es una solución proporcionada por Veli-Matti Jantunen, y se puede usar ⍺ para representar rectángulos de Sudoku.
- El resultado devuelve un vector de todas las soluciones, ⍬ si no hay ninguna, y '' si hay un error.
- El algoritmo es simple: procesa la matriz como un vector y encuentra la solución filtrando los elementos posibles.
-
Otros enfoques
- Se presentan codificaciones alternativas de David Crossley y Arthur Whitney.
- Se describen distintos estilos de programación y enfoques.
-
Ejemplos y usos
- Se ofrecen varios ejemplos para resolver problemas de Sudoku.
- También se incluye una función para separar las cajas internas y facilitar la lectura del Sudoku.
Resumen de GN⁺
- Se presentan varios algoritmos y estilos de programación para resolver Sudoku.
- Los rompecabezas de Sudoku son útiles para mejorar el pensamiento lógico y la capacidad de resolver problemas.
- Distintos enfoques pueden aumentar la flexibilidad al resolver problemas.
- Como rompecabezas con funciones similares al Sudoku, se recomiendan Kakuro y KenKen.
1 comentarios
Comentarios en Hacker News