Cita de: BlackZeroX (Astaroth) en 24 Octubre 2011, 07:21 AM
.
Investiga METODOS de resolucion, mi padre me enseño un metodo de resolucion vertical, por falta de tiempo no te lo puedo poner (ya es media noche por aquí), pero te dejo uno que estaba creando con BackTracking esta en vb6.
http://foro.elhacker.net/programacion_visual_basic/reto_sudoku-t339671.0.html;msg1666771#msg1666771
No lo creo, si lo puedes programar en un lenguaje seguro se puede transladar a otro, ya que TODOS los lenguajes nesesitan de LOGICA para programar. Tengo en claro de donde reside el nombre de Prolog y para que se usa es por ello que realizo este comentario.
Dulces Lunas!¡.
Muchas gracias, pero esto es backtracking pelado, es decir, no usa ninguna heurística para guiar la búsqueda de la solución.
Por ejemplo, una heurística mala sería, mantener en memoria un vector, en el que se almacene el número de veces que se han asignado todos los números, es decir:
1 -> 2 veces
2 -> 4 veces
.
.
.
etc, y en una casilla, cuando obtengamos los números posibles para asignar, por ejemplo:
5 -> 3 veces
8 -> 9 veces
elegiremos el 5, ya que estadísticamente, es mas probable que este número sea el correcto, en lugar del 8.
No se si me explico.
Gracias a todos por contestar, un saludo.