COMP34120: AI and Games (2012-2013)
Games have become very successful as a way of modelling the interactions of multiple agents. In this course unit we will look at the formal theory of games, which includes a discussion of what it might to find a solution to a game, and then look at how to program computers to play games, with a particular emphasis of programs that are capable of learning.
This is a 20 credit course unit that runs for the entire year. Each semester is structured as follows:
There are 12 lectures in the first six weeks of term to introduce the material, supported by handouts. In the remaining 5 weeks of terms students work, in small groups, on writing a program that implements some of the techniques taught previously. There is one exam in the May/June exam period.
The lectures are designed to support the handouts and it is expected that students read these both, in preparation for a lecture and again afterwards to ensure they have understood the material, which is quite abstract in places.
The first lecture will go into more detail regarding organizational issues and students thinking about taking this course unit are strongly encouraged to attend.
Assessment of Learning outcomesThis course unit is assessed by a final exam at the end, as well as the coursework, which consists of two projects for small groups.
Since this is a new course sample exam questions will be handed out each semester, covering the relevant material.
In each semester the groups are expected to implement some of the techniques taught as they apply to a particular game. The assessment of the coursework includes the quality of the program, its performance compared with other groups' submissions, a presentation as well as a log documenting contributions by individuals. Staff will be avaible during drop-in sessions for consultations.
More details regarding this process will be made available soon after the start of term.
The aim of this semester is to answer the following questions.
What is a game? (Definition of game tree, pay-off function, normal form, extensive form.)
How can we describe a game plan? (Definition of strategy, representations of same.)
What does it mean to play a game well? (Definition of best-response strategy, equilibrium point and similar, discussion of the validity of these concepts, discussion of alternatives.)
How do we find good game plans? (Complexity of finding equilibrium points, minimax algorithm, alpha-beta pruning, discussion of the components of a typical game playing program via evaluation function and alpha-beta search).
What are some of the processes that can be modelled using games?
The aim of this semester is to understand the following topics.
What are Stackelberg (Leader-Follower) games? What constitutes a solution to a Stackelberg game? How can learning and optimization be used to learn good solutions? Applications to price setting and marketing will be discussed.
What is reinforcement learning and how is it applied to on-line learning? What are the important mechanisms of on-line learning? How can reinforcement learning be applied to games situations?
Handouts will be provided. For additional reading regarding Semester 1 topics see the handout.