Assignment 2 Agents and Heuristic Search ============================================================================= * All work is to be done independently.* Consult only your TAs or the instructor should you have questions. ----------------------------------------------------------------------------- Due Tuesday 2/6 in class. Late asssignments will not be accepted. Turn in whatever you have at that time for partial credit. Do not ask for an extension. *** Plan ahead *** ============================================================================= 1. Answer question 4.14 in text parts a-d. * For part a, you can precompute all the views and store them in a data structure for each allowable vertex for the worlds you choose to define. (This defines the search space). Your data structure should have the following information. The Highest level should be the WORLD which contains a list of obstacles (A,B,C,D, ...). Each obstacle in the world consists of a list of vertices comprising that obstacle (V1,V2,...Vn). Each vertex in an obstacle should have a list of vertices that are visible from it. How you organize this information will be important in your grade. You should consider using frames. *Extra credit if you wrestle with the computational geometry to compute the visible vertices automatically from a list of convex obstacles (i.e., create an if-needed or if-added demon in the frame). If you allow for arbitrary concave obstacles, even more extra credit*. * For part b, you must use the A* search algorithm. * Part C is important - ideally a graphical output would be best. We should be able to test these cases on our own worlds as well, so document your code carefully as to how to create our own test cases. 2. Answer question 4.15 a-d. Happy coding!