Issue: whenever I run my code it always leaves 3 empty cells. For the project I have to implement uninformed and informed search strategies to solve sudoku puzzles. I have to expand the initial state, pick an empty cell in the grid and fill it with a number between one and four. Filling in numbers in the empty states is the only available action for this problem. While expanding a node, I have to add nodes corresponding to all possible states from the current state for every empty cell, even nodes corresponding to invalid states in sudoku. a) Breadth-first search (bfs): maintain a FIFO queue for the frontier; refer to the queue in-built library in Python.
b)Depth-first search (dfs): maintain a LIFO queue for the frontier;
refer to the queue in-built library in Python. Both implementations should use the graph search version, and goal verification should be
done before adding a node to the queue. For the next
two implementations, I have to reimplement the breadth-first and depth-first searches
accounting for invalid states.
c) Breadth-first search with pruning (bfs_pruning): Same as bfs, except if an
expanded node is invalid, will not add it to the frontier. can check the validity
of a puzzle board using the function valid_puzzle(). d) Depth-first search with pruning (dfs_prning): Same as dfs, except if an
expanded node is invalid, will not add it to the frontier. can check the validity
of a puzzle board using the function valid_puzzle().
Github for Sudoku: https://github.com/jeffsieu/py-sudoku/tree/master