About the Course
General game players are computer systems able to play strategy games
based solely on formal game descriptions supplied at "runtime". (In
other words, they don't know the rules until the game starts.) Unlike
specialized game players, such as Deep Blue, general game players cannot
rely on algorithms designed in advance for specific games; they must discover
such algorithms themselves. General game playing expertise depends
on intelligence on the part of the game player and not just intelligence
of the programmer of the game player.
GGP is an interesting application in its own right. It is intellectually
engaging and more than a little fun. But it is much more than that.
It provides a theoretical framework for modeling discrete dynamic
systems and for defining rationality in a way that takes into account problem
representation and complexities like incompleteness of information and
resource bounds. It has practical applications in areas where these
features are important, e.g. in business and law. More fundamentally,
it raises questions about the nature of intelligence and serves as a laboratory
in which to evaluate competing approaches to artificial intelligence.
This course is an introduction to General Game Playing (GGP). Students
will get an introduction to the theory of General Game Playing and will learn
how to create GGP programs capable of competing against other programs
Students should be familiar with Symbolic Logic and should be able to
read and understand program fragments written in a modern
programming language. This background is sufficient for understanding
the presentation and for configuring players to compete in competitions
(using software components provided by the instructors). Students
who wish to modify the standard components or who wish to build their
own players also need the ability to develop programs on their
own. This latter ability is desirable but not required.