PSU CS442/542: Combinatorial Games
Spring 2005
Tentative Course Syllabus

This is a tentative syllabus: all of it can and probably will change without notice, especially early in the course.

When: 1400-1550 (2:00-3:50PM) Mondays/Wednesdays
Where: SEH (Epler Hall) 108
Who: Bart Massey <bart@cs.pdx.edu>
TA: TBA
Office Hours: By e-mail appointment
CRN: 64649(442), 64650(542)

What: The catalog says

This course covers the theory and practice of finding optimal and satisfying solutions to one-player and two-player combinatorial games, including such popular games as Sokoban, Othello, checkers, chess, backgammon, bridge, and CCGs. Simple applications in decision theory and economics may also be discussed. Emphasis on implementation of state-of-the-art solution techniques. Prerequisites include CS 350 (Algorithms) or equivalent experience, plus fluency in some reasonable programming language. Previous AI experience is not required, but may prove helpful.

This course concentrates on adversary search using combinatorial search techniques to achieve high-quality tactics in competitive situations. Other successful methods of tackling combinatorial games will also be examined.

Prerequisites:

Course Load

This course is intended to dig very quickly and deeply into this cutting-edge topic. As such, students not prepared to devote substantial out-of-class time to programming, learning, and exploring are unlikely to achieve a passing grade.

Unlike some of my previous offerings, I plan to be fairly strict about getting things done on time in this course: the course will move very quickly, and if you get behind, you will never catch up anyhow. No incompletes will be given (except in the most catastrophic of personal circumstances). Homework turned in after the following assignment's due date or after the last scheduled acceptance date will be silently discarded.

E-mail

There are several e-mail addresses associated with the course.

The e-mail address <cs542-discuss@ai.cs.pdx.edu> is the course mailing list (using mailman). Subscribe to this by visiting http://nexp.cs.pdx.edu/cgi-bin/mailman/listinfo/cs542-discuss/, and use it for class discussions and most questions.

<cs542-hw@ai.cs.pdx.edu> will send e-mail to the TA and myself: use this for homework submissions, and for private questions. (If you don't want even the TA to see something, send it to me personally at <bart@cs.pdx.edu>.)

Readings

Required Text:There will not be a required text. Almost any artificial intelligence text gives the basics of game tree search; you'll probably want to find one and read it.

Readings

[scev]
Andrew Appel and Guy Jacobson. The World's Fastest Scrabble Program. Communications of the ACM 31(5) pp. 572-578, May 1988.
[PostScript] [Compressed PostScript] [Acrobat PDF]
[bgre]
Michael Buro. Efficient Approximation Of Backgammon Race Equities. ICCA Journal 22(3) (1999), pp. 133-142.
[PostScript] [Compressed PostScript] [Acrobat PDF]
[glem]
Michael Buro. From Simple Features To Sophisticated Evaluation Functions. Proceedings Of The First International Conference on Computers and Games (CG '98), Tsukuba, Japan. Published in LNCS vol. 1558, Springer-Verlag.
[PostScript] [Compressed PostScript] [Acrobat PDF]
[lgst]
Michael Buro. Improving Heuristic Mini-Max Search By Supervised Learning. NECI Technical Report #106 (NEC 2000).
[PostScript] [Compressed PostScript] [Acrobat PDF]
[book]
Michael Buro. Toward Opening Book Learning. Proceedings of the IJCAI-97 Workshop on Using Games as an Experimental Testbed for AI Research
[PostScript] [Compressed PostScript] [Acrobat PDF]
[ghi]
Murray Campbell The graph-history interaction problem. Proceedings of the 1985 ACM annual conference on the range of computing: mid-80's perspective. October 1985.
[
Acrobat PDF] (password-protected)
[esai]
Matt Ginsberg. Essentials of Artificial Intelligence. Morgan Kaufman, 1993. ISBN 1-55860-221-6.
[part]
Matt Ginsberg. Partition Search. Proc. 1997 National Conference on Artificial Intelligence (AAAI '97).
[PostScript] [Compressed PostScript] [Acrobat PDF]
[nets]
Kevin Gurney. Computers and Symbols versus Nets and Neurons. Pre-publication draft, UCL Press.
[PostScript] [Compressed PostScript] [Acrobat PDF]
[dragon]
J.A. Hall 4th Dimension: It's About Time. Dragon Magazine. vol IV no. 12 issue 38.
[
Acrobat PDF] (password-protected)
[mtdf]
Aske Plaat. Best-First Fixed-Depth Minimax Algorithms. J. Art. Int. 187:1-2 (November 1996) pp. 255-293.
[PostScript] [Compressed PostScript] [Acrobat PDF]
[srch]
Richard Korf. Heuristic Search. Unpublished manuscript.
[mavn]
Brian Sheppard. Mastering Scrabble. IEEE Intelligent Systems 14:6 (November/December 1999) pp. 15-16.
[PostScript] [Compressed PostScript] [Acrobat PDF]

Links

Handouts will be provided for all required readings; however, you may want to go to the library and look at other material in the reserve texts, or even purchase some of these texts.

Coursework

The coursework will consist of a variety of small and medium-sized programming projects, implementing analysis various games and evaluating performance. Some of the course projects may be done by yourself or with a small (2-3 person) group.

Those experimenting with departmental computers must follow the "safety guidelines".

No quizzes or examinations are currently planned, but I reserve the option to schedule them at a later date.

Academic Honesty

If I catch you plagiarizing any material, I will do what I can to end your academic career. Plagiarism is using anyone else's works, writings, or ideas without explicitly giving them credit. If you get code, ideas, or text from a fellow student, put their name on it so that we both know what happened.

In this course, you will be expected to do a lot in a short time, in a sometimes competitive environment. This is not an excuse to do things that are unethical, immoral, or illegal.

We will occasionally play our programs off against each other, most notably at the end of the course. This will never harm your grade. Your program may be able to win these contests by "cheating". If so, you will receive due credit for this, as long as you explicitly acknowledge and explain your methods up front. If you fail to do so, and your program is caught deliberately cheating, it will lose the tournament it participates in, and you will receive a 0 for any related assignment.

Course Schedule

Date Topics Readings HW
3/28,3/30 Games Computers Play [PDF]
Search In Single-Player Games
[esai] ch. 3, 4 HW 1: A Card Solitaire
4/04,4/06 Search In Games   HW 2: Heuristics For Aces Up
4/11 Game SE 1: The Game SW Lifecycle
Shuffling
 
4/13 Guest Lecture: TBA    
4/18,4/20 The Big 3 Korf ch. 7 HW 3: A Simple Two-Player Game
4/25,4/27 Advanced Search
Openings and Endgames
[mtdf],[ghi]  
5/02,5/04 Game SE 2: Programming Tips And Tricks
Probability
  Project
5/09,5/11 Machine Learning [lgst],[book],[glem]  
5/16,5/18 Computers and Chess
Computers and Scrabble
Hidden Information
[scev],[mavn]  
5/23,5/25 Combinatorial Game Theory    
5/30,6/01 Impact Of Combinatorial Games    


This course should be a huge amount of fun. Please let me know if you have questions I can answer, or just want to chat about some fascinating material. On the other hand, if you are unwilling to devote substantial out-of-class time and really get into this topic, you will likely be disappointed in both the course and your performance. Come prepared to work hard and play hard!

Bart Massey <bart@cs.pdx.edu>