Sven Koenig, Kenny Daniel, Alex Nash
Department of Computer Science
University of Southern California
{skoenig,kfdaniel,anash}@ usc.edu
Summary | This standalone path-planning project for an undergraduate or graduate artificial intelligence class is part of our effort to motivate students via computer games. This project allows students to implement computer game technologies without having to use complex game engines. Heuristic search and, in particular, A* are among the most widely used search techniques and thus are good candidates for artificial intelligence projects. In this project, the students need to code A* and then extend it to Theta*. Theta* is an any-angle path-planning algorithm which plans paths for game characters in known gridworlds. Theta*, like A*, propagates information along the edges of the gridworld (to achieve a short runtime) but, unlike A*, does not constrain paths to be formed by grid edges (to find short "any-angle" paths). This project requires that students develop a thorough understanding of A* and heuristics in order to answer questions that are not yet covered in textbooks. For example, Theta* and A* have many different properties despite their similarities. Exploring the differences between Theta* and A* helps students to improve their understanding of A*. The project is versatile since it allows for both theoretical and implementation questions. We list a variety of possible project choices, including easy and hard questions. The project text and additional support material (such as pointers to the literature) can be found at http://idm-lab.org/gameai. |
Topics | Search; Heuristic Search; Any-Angle Heuristic Search; Computer Games; Path Planning |
Audience | The intended audience of this assignment is students in an undergraduate or graduate artificial intelligence class. It is well-suited for two different kinds of audience: those who want to understand A* and those who want to learn about recently proposed extensions of A*. |
Difficulty | This project is versatile since it allows for both theoretical and implementation questions. The difficulty level of the implementation questions is comparable to implementing A*. The difficulty level of the theoretical questions varies from easy to hard. We recommend that instructors give the students at least two weeks to complete the assignment. |
Strengths |
|
Weaknesses |
|
Dependencies |
|
Variants | Instructors can vary the assignment as follows:
|
Links |
|