Summary Students design and implement agents for the board game of RISK, using knowledge and techniques gained in the class. These agents then compete in a class tournament for extra credit. Two preliminary assignments are also included, where students implement uniform cost search and decision trees within the context of RISK. These assignments can be used to help students get started with ideas for their agents.
Topics Game-tree search, probabilistic reasoning, uniform cost search, decision-trees, reinforcement-learning
Audience Introduction to AI. Could be used for more advanced general AI or machine learning classes as well.
Difficulty To get full credit students have to create an agent that beats a provided baseline agent. This task can usually be achieved with a low to medium amount of effort. Extra credit is on the line as the students compete against each other and against the instructor/TA (if they choose to participate). Success in the class competitions is very challenging. Some students welcome this challenge and spend a lot of time and effort on the assignment, but also get a lot out of it. Of course, instructors can change the difficulty of the baseline agent or how much credit comes due to the tournament to impact the difficulty.
Strengths Very engaging for students to work on, and very fun to watch the results together. Open ended, so students get to decide which ideas from the class they will use in their agent, and even come up with their own new ideas, which can get them interested in research. Students usually work in teams so this promotes collaboration. The preliminary assignments provide a way to give the students more exposure to the RISK simulator and cover important AI topics.
Weaknesses A reasonably successful agent can be designed without using a lot of AI ideas. Some students come in already not liking the game of RISK and aren't excited about the assignment.
Dependencies Provided code (simulator, gui, assignment starter code, tournament scripts) is in Python 2.7. UPDATE: A Python 3 port is now available as a link at the bottom of this page. Requires Python Imaging Library (PIL).
Variants Instructors can change the way that credit is assigned, i.e. put more weight on the tournament to encourage students to spend more time on it. Instructors can also vary the baseline agents that students use to train against, making it more challenging to beat them. Instructors could require specific AI techniques to be used in the final agent, or at least one topic from the class. The amount of planning time the AIs have during a game is also easily modified. The instructor can also vary the way the tournament is run, several different styles are provided.

Files included: