Data Structures Algorithms
· 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.