Part 1 Text Reading:
• Introduction to Artificial Intelligence (Chap. 1)
• Intelligent Agents (Chap. 2)
• Searching (Chaps. 3, 4)
Part 2 Problems:
• 2.1 Depth-first and breadth-first search
1. Apply the BFS algorithm and show the output
2. Apply the DFS algorithm and show the output
3. Show the output from the previous question in the form of a DFS tree
2.2 A* Algorithm Search
1. Suppose the state space consists of all possible positions (x, y) in the plane. How many states are there? How many paths are there to the goal? (There might be different answers to this question. Your answer should be based on a reasonable assumption and the assumptions should be explicitly shown in your submission.)
2. Based on the above observation, define a good state space for the problem. How large is the state space? Why?
3. Implement an algorithm to find the shortest path from the start node to the end node using an A* heuristic search. Use the straight-line distance to the end node as a heuristic function. Show your pseudo code (not your source code) for this algorithm. In addition you need to answer the following question: is this an admissible heuristic function? Why or why not?
4. Explicitly present the solutions for the following problem using the A* algorithm you implemented.
5. Is it possible to solve the problem using a breadth-first or a depth-first search algorithm? If the answer is yes, briefly discuss your solutions. Otherwise please explain.