Part 2 Tasks (Objective from Week 5):
- Append to this portfolio 1 last project that includes the design of an artificial intelligence agent. Specifically, your company has asked your team to design an app that will complete a Sudoku game, given any starting state of the game. See this Web site for the rules.
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.