Part 2a: State Space
Describe how you plan to search for the Sudoku solution given a starting state.
Clearly define your state space here: What does a vertex in your state traversal tree represent?
Part 2b: Traversal Time Complexity
Assuming you were to naively traverse your state space, what is the upperbound time complexity (in terms of Big-O) of a brute force searching algorithm?
Present this result in terms of n and p where nxn is the size of the Sudoku board and p is the number of possible numbers (1-9) permitted in a square.
Part 2c: Heuristic Search
What type of heuristic search would you employ to search this state space in hopes to reduce the search time?
Think about the problem and how you might search this state-space tree.
Part 2d: Pseudocode
Create pseudocode that finds the solution to a Sudoku game using a brute force search or using your heuristic discussed above.
To simplify this task, assume that you have standard data structures available to you, such as stacks and queues.