Course Description
Computer scientists have long been fascinated by games. Some of the
earliest and most recent successes of artificial intelligence have
come in the realm of game-playing. Computer science has traditionally
focused on a very special subclass of games: zero-sum games of perfect
information. In contrast, game theory studies how rational agents
behave in much more general strategic interactions. In particular,
game theory highlights the crucial role played by the information
available to the players.
In this course, we will survey recent work on designing programs for
game-theoretic situations. The focus will be both theoretical and
practical. We will look both at computing solutions to games, and at
designing good game-players when the full solutions are not available.
We will also study how researchers have dealt with the challenges
posed by a variety of familiar games.
Topics include
-
techniques for perfect information games: search (chess), learning
(backgammon), combinatorial game theory (go);
-
basic concepts of game theory, computation of Nash equilibria for normal
form games (the Roshambo competition);
-
computation of equilibria for extensive form games using the
sequence form algorithm (poker);
-
abstraction and approximation (bridge);
-
graphical models for game theory.
Prerequisites
The only prerequisite is the ability to program. No prior material in
artificial intelligence or game theory will be assumed. However, this
is a graduate course --- we will quickly be diving into new and
challenging material, and you need to be comfortable studying new
ideas on your own. Although this is not a theory course --- as you
can see, all the homeworks involve programming --- there is a fair
amount of mathematical content in the material we will study.
Requirements
The course will be based on a series of readings. For most classes we
will read one technical paper in advance, and then discuss the paper
during class. It is vital that you read the paper in advance so that
we can have a meaningful discussion.
In advance of each lecture, I would like each of you to submit a
question by email on that day's readings. This will help guide the
day's discussion. The question will be due at 12pm on the day of the
lecture. Completing the readings, submitting the question and
participating in discussions will be worth 30\% of the final grade.
There will be a final project, worth 25\% of the grade. You can
either do an independent project, or build a player for a challenging
game to be presented towards the end of the semester.
Please talk to me if you would like to do an independent project.
I may suggest project ideas during the course of the semester.
Projects can be
done individually or in pairs; naturally, more will be expected of
pairs. Under the right circumstances I might allow larger groups.
There will be three homeworks, each worth 15\% of the grade. Each
will involve designing a player for a game that parallels our
discussions in class. Each homework will be done in two parts. In
the first part you will begin to think about designing a player for
the game, and in the second part you will get together with a team to
build as smart a player as you can.