Instructor: James R. Glenn, Ph.D.
Office: AKW 013
Office Hours: Mon 3-5pm, Tue 4-6pm
e-mail: [first name][dot][last name]@yale.edu
TFs and ULAs: (see Ed for hours)
- Jeffrey Chen
- David Cheng
- Michelle Goh
- Thomas Sottosanti
- Matthew Zhang
Class Meeting:
Lecture Tue, Thu 11:35am – 12:50p, DL 220
(check
Yale Course Search for updates)
Prerequisites: CPSC 202 and CPSC 223 or equivalent
Recommended Readings:
- Notes for CPSC 474 – Computational Intelligence for Games" (draft, frequently updated), J. Glenn
- Reinforcement Learning (2nd ed), R. Sutton and A. Barto
- Artificial Intelligence and Games by Yannakakis and Togelius ISBN 978-3319635187
(avaliable through the Yale Library's subscription to SpringerLink; more information at the book website)
- Game Theory through Examples
by Erich Prisner
ISBN 978-1614441151
(available online through the Yale Library)
- Artificial Intelligence for Games (2nd edition)
by Millington and Funge
ISBN 978-0-12-374731-0
(retail price $93.95; available online through the Yale Library as part of Safari Books Online)
- Procedural Content Generation in Games: A Textbook and Overview of Current Research
by Shaker, Togelius, and Nelson
ISBN 978-3319427140
(retail price $49.99; available online from the authors)
- A survey of Monte Carlo Tree Search methods, C.B. Browne et al.
IEEE Transactions on Computational Intelligence and AI in Games 4:1, Mar 2012, 1-43.
- Finite-time analysis of the multiarmed bandit problem, Auer, Cesa-Bianchi, Fischer.
Machine Learning Journal, 47(2-3):235-256, 2002.
IEEE Transactions on Computational
- Simulation-Based Approach to General Game Playing, H Finnsson and Y Björnsson, Proc. AAAI 8, 259-264, 2008.
- Learning Simulation Control in General Game-Playing Agents., H Finnsson and Y Björnsson, Proc. AAAI, 954-959, 2010.
- Genetic Algorithms for Evolving Computer Chess Programs, David et al,
IEEE Trans. on Evolutionary Computation, 18(5):778-789, 2014.
- Monte-Carlo tree search and rapid action value estimation in computer Go, F Gelly and D Silver, Artificial Intelligence, 175(11):1856-75, 2011
- Mastering the game of Go with deep neural networks and tree search, Silver et al.
Nature 529(7587):484-489, 2016.
- Mastering the game of Go without human knowledge, Silver et al.
Nature 550(7676):354-359, 2017.
- A panorama of artificial and computational intelligence in games,
Yannakakis and Togeliuis.
IEEE Transactions on Computational Intelligence and AI in Games 7:4, Dec 2015, 317-335.
- PyVGDL and A video game description language for model-based or interactive
learning, Schaul, Proc. IEEE Conf. on Computational Intelligence
in Games, 2013.
For books and articles available online through the Yale Library, you will need to use the Yale
VPN to access from an off-campus network. Free access to Safari books
through the Yale library is limited to six simultaneous users.
Other Resources:
- Combinatorial Game Theory
- Backward Induction (Dynamic Programming) and Value Iteration
- Pig Resources from Todd Neller and Cliff Presser at Gettysburg College, including
- Classical Game Theory
- Game Theory: An Introduction
by E. N. Barron
ISBN 978-1118533895 (available online through Safari via the Yale library)
- Neural Networks
- Neural Networks and Deep Learning by Michael Nielsen (free online book)
- General Game Playing
- Game Rules
Catalog Description:
The recent success of Google’s AlphaGo
represents a milestone in computational intelligence. This course
introduces the problems encountered and techniques used to overcome
them, starting with techniques from combinatorial and classical game
theory that can be used to create perfect computer players for simple
games, followed by the computational intelligence concepts used in
AlphaGo and other successful systems, including stochastic search
(Monte Carlo Tree Search and evolutionary computation) and neural
networks. AlphaGo was designed specifically to play Go; this course
also introduces general game playing, which attempts to making the
leap to systems that can play many games well. The use of
computational intelligence techniques in procedural content generation
for games is also included.
Course Outcomes:
Students will be able to
- apply combinatorial game theory, classical game theory, and computational intelligence
to design agents that play board games.
Diversity and Disability:
The Computer Science department values diversity and inclusion;
we are committed to a climate of mutual respect and full participation.
Our goal is to create learning environments that are usable, equitable,
inclusive, and welcoming. If there are aspects of the instruction or
design of this course that result in barriers to your inclusion, achievement,
or accurate assessment, please notify the instructor as soon as possible.
Disabled students are also welcome to contact
Student Accessibility Services
to discuss a range of options to removing barriers in the course,
including accommodations.
Academic Dishonesty:
Please see Yale College's
Undergraduate Regulations and
Academic Dishonesty.
The implications for this course:
- Programming Assignments: The code you submit must be the result of your understanding
of the problem. You may discuss concepts and approaches with other students, but you
may not take any written or electronic records from such discussions
(this includes discussions on Piazza; such discussions are electronic records
so you may not post code there).
Furthermore,
you must engage in a full hour of mind-numbing activity (such as watching back-to-back
episodes of Gilligan's Island) before resuming work. This no-record/"Gilligan's Island" rule
applies to code found in online or other published sources as well
(aside from the class notes and readings listed above, which can be used
without attribution and without triggering the "Gilligan's Island"
rule).
Under no circumstances may you examine a copy of another student's code nor may you provide
a copy of your code to another student.
You may consult course staff for help writing and debugging without attribution and doing
so does not trigger the Gilligan's Island rule.
(The Gilligan's Island rule originated with
Stanley Eisenstat and I obtained it through Stephen Slade.)
- Exams: each student must work individually.
Grading:
- Programming Assignments: 65% (weighted equally)
- Final Project: 15%
- Exams: 20% (Tue Oct 18 in OML 202 SCL 110, and Thu Dec 8 in SCL 110; both in class)
It is very unlikely that we will be able to schedule make-up quizzes
or exams. If
you have a Dean's Extension and we cannot schedule a make-up then the other
exam will be reweighted to make up the difference.
Late Policy:
Except as noted on the assignments page, assignments are due at
11:59pm ET on the date listed, with an automatic two-hour grace period.
Beyond that, late submissions with no Dean's Extension will incur a 5-point
penalty for each 12-hour period after the end of the grace period.
No work will be accepted more than 120 hours after the due date, or after
the end of Reading Period, whichever comes earlier.
To allow for circumstances that do not meet the requirements for a
Dean's Extension, each student's first 50 lateness points for the semester will
be forgiven.
Schedule (subject to change):
Week of |
Topics |
Reading See Recommended Readings above; Notes=Notes for CPSC474 by Glenn; RL=Reinforcement Learning by Sutton and Barto; AIG=Artificial Intelligence and Games by Yannakakis and Togelius; ONAG=On Numbers and Games by Conway; PCG=Procedural Content Generation in Games by Shaker, Togelius, and Nelson |
Events white = 474/574 class days; black = holidays; grey = other |
Mon |
Tue |
Wed |
Thu |
Fri |