Está en la página 1de 1

Estrategia de resolucin usando Backtracking

SUDOKU

El tablero del Sudoku a resolver viene dado por una matriz Sol [1..9,1..9] de 0..9
donde Sol[i, j] representa el valor que toma dicha celda, correspondindose el valor 0
con una casilla vaca.
Se utilizar una matriz auxiliar inicial [1..9, 1..9] de Bool donde inicial [i, j] representa
una celda con valor inicial que no se puede modificar y se corresponde con la celda
Sol[i, j].
A la hora de ramificar el rbol de exploracin, solo lo haremos si la solucin parcial que
estamos atendiendo es k-prometedora, esto es, si a partir de dicha solucin parcial
podremos seguir construyendo soluciones parciales. Para atender a este punto,
utilizaremos una funcin auxiliar denominada es factible.
La funcin es factible comprueba para una celda determinada, que no se repita su
valor en la misma fila, columna o subgrupo de 3x3, atendiendo as a la restriccin que
comentbamos en la descripcin detallada del problema.
Dado que un Sudoku Puede tener varias soluciones, implementaremos el algoritmo en
consecuencia.
rbol de exploracin :
El rbol de exploracin generado tendr las siguientes caractersticas:
Altura = m + 1:
Siendo m el nmero de casillas vacas inicialmente.
N de Hijos de cada nodo = 9:
Un hijo por cada posible valor de la celda i j.

También podría gustarte