Algoritmos probabilistas
Sudoku es un juego rompecabezas numérico con una o varias soluciones que son combinatoriales, según los números iniciales en la matriz. El objetivo es llenar la matriz generalmente 9x9, con dígitos, donde cada columna, fila y submatriz 3x3 debe tener exactamente la numeración del 1 al 9, sin replicación, El planteamiento del proyecto es el de resolver un problema Sudoku dado una matriz con ceros y algunos valores válidos preestablecidos en un archivo de texto plano, donde estos ceros indican que esta es una posición que puede tomar un número válido según las restricciones del sudoku.
Las restricciones para una malla sudoku de 9x9 son:
- Cada fila debe tener exactamente un número del [1 -9]
- Cada columna debe tener exactamente un número del [1 -9]
- Cada bloque o submatriz debe tener exactamente un número del [1 -9]
La codificación se realizó con el lenguaje de programación Python, que permite la comprensión de los algoritmos, dado las características propias del lenguaje.
Este proyecto no busca hallar la solución, más rápida, ni presenta una nueva metodología para resolver el rompecabezas sudoku, solo establece una estrategia de solución a este problema, basado en un algoritmo probabilista, como Las Vegas, hallando la solución mediante decisiones aleatorias.
Este es el proyecto de curso 750098M SIMULACIÓN COMPUTACIONAL 2015-II, universidad del valle