Computational Intelligence in Games
The competition evaluation will be happening on July 12th 2019 in R307/G29.
This course addresses the basic and advanced topics in the area of computational intelligence and games. This course has three parts:
Part one addresses the basics in Evolutionary Game Theory (EGT). In this part you will learn about simple games such as scissors/rock/paper and the main focus on the strategies for playing games.
Part two is about learning agents and we focus on reinforcement learning mechanisms. There are three questions for games:
Part three contains the advanced topics in games and artificial intelligence such as how can we program an agent who can pass a Turing test? how can we consider physical constraints of a spaceship while moving in an unknown terrain? etc.
This course will be held in English and is for Bachelor (5CP) and Master (6CP: including extra programming assignment) students.
Lectures and Tutorials
Lecture: Thursdays 9:15-10:45 in G29 307
Exercise Class 1: Monday 9am-11am in G22A-211
Exercise Class 2: Wednesday 1pm - 3pm in G22A-208
Exercise Class 3: Friday 1pm - 3pm in G22A-110
Conditions for Certificates (Scheine) and Exams
Certificate (Übungsschein): There are assignment sheets published about every two weeks. Assignments the solutions of which you want to present in the next exercise class have to be ticked beforehand on a votation sheet that is handed our prior to every exercise lecture. If ticked, you may be asked to present your solution in front of class. The solutions need not necessarily be completely correct, however, it should become obvious that you treated the assignment thoroughly. You are granted the certificate (Schein), if (and only if) you
- ticked at least two thirds of the assignments,
- presented at least one time a solution during the exercise,
- solve the programming assignment and write a 2-4 pages report about your solution (this task can be solved alone or in pairs of two), and
- pass the exam
Programming Assignment Bachelor: consistently beat the GreedyAgent in 1 out of 3 decks listed below (average winrate in mirror-matchups above 55%)
- AggroPirate Warrior
Programming Assignment Master: consistently beat the GreedyAgent in 3 out of 6 decks (average winrate in mirror-matchups above 55%)
- 3 decks are known (see the list for the bachelor students)
- and 3 decks will remain unknown before the submission
All submitted agents will be entering a tournament at the end of the semester.
Exam: If you intend to finish the course with an exam, your are required to meet the certificate conditions. There will be a written exam after the curse.
We compiled a List of Equations and Algorithm containing important symbols, equations and algorithms. We hope this overview helps you during your study of the course topics. Please feel free to send pull requests and help us to incorporate changes and additions throughout the semester.
|2||Evolutionary Game Theory||Slides (updated on 15th April)|
|2.5||Applications of Game Theory||Slides|
|3||Introduction to Reinforcement Learning||Slides|
|4||Dynamic Programming and Monte Carlo Method in RL||Slides|
|5||Temporal Difference Learning||Slides|
|6||Monte Carlo Tree Search||Slides|
|6.5||Monte Carlo Tree Search in AlphaGo||Slides|
|7||Rolling Horizon Evolutionary Algorithms||Slides|
|8||Multi-Objective Decision Making and Learning in Games||Slides|
|9||Procedural Content Generation (PCG)||Slides|
|10||General Game AI||Slides|
|11||CIG in the Industry||Slides|
Videos and simulations related to lectures
- Recordings of the lectures will be updated during the semester and can be found here: http://mediasite.ovgu.de/Mediasite/Catalog/catalogs/iks-cig
- Please note that you require your URZ account to be able to see the recordings.
Exercise Sheets Assignments:
|ID||Topic||Due Date per Group||Exercise Sheet||Additional Files|
|Programming Assignment Introduction||15.04.||17.04.||12.04.|
|1||(Evolutionary) Game Theory||29.04.||24.04.||26.04.||ZIP|
|2||ESS, Game Policy, MDP, RL||06.05.||08.05.||03.05.||Git, Colab|
|3||Monte Carlo, Temporal Difference Learning||20.05.||22.05.||17.05.||Git, Colab|
|4||Action Selection, Monte Carlo Tree Search||03.06.||05.06.||31.05.||Git, Colab|
|5||Evolutionary Algorithms||17.06.||19.06.||14.06.||Git, Colab|
|Submission Programming Assignment||
final deadline 21.06.
send your bot files or a download link
via e-mail to Alex
Interesting Links and further Material
- Interactive animation of evolutionary agents: https://ncase.me/trust/
- Free book on Game AI: http://gameaibook.org/
- Free book on Reinforcement Learning: http://www.incompleteideas.net/book/the-book.html
- Nash Equilibrium Paradoxon: https://en.wikipedia.org/wiki/Braess%27s_paradox
You can find information on the programming assignment under: http://www.is.ovgu.de/Research/HearthstoneAI.html
Final deadline: 21.06.
- Yannakakis, Georgios N., and Julian Togelius. Artificial Intelligence and Games. Springer, 2018. --> Link
- Richard S. Sutton and Andrew G. Barto, Reinforcement Learning: An Introduction, MIT Press, Cambridge, MA, 1998 --> Link
- Nowak, Martin, Evolutionary dynamics : exploring the equations of life, Cambridge, Mass. [u.a.] : Belknap Press of Harvard Univ. Press , 2006 --> Link to OvGU Library
- Ian Millington and John Funge, Artificial Intelligence for Games, CRC Press, 2009
- T. L. Vincent and J. L. Brown, Evolutionary Game Theory, Natural Selection and Darwinian Dynamics, Cambridge University Press, 2012
- Jorgen W. Weibull, Evolutionary Game Theory, MIT Press, 1997
- Thomas Vincent, Evolutionary Game Theory, Natural Selection, and Darwinian Dynamics, Cambridge University Press, 2005
- Josef Hofbauer, Karl Sigmund, Evolutionary Games and Population Dynamics, Cambridge University Press, 1998
- Kalyanmoy Deb, Multi-Objective Optimization using Evolutionary Algorithms, Wiley, 2001
- Literature about PCG: Paper1, Paper2, Paper3, Paper4
- Kruse, Borgelt, Klawonn, Moewes, Ruß, Steinbrecher, Computational Intelligence, Vieweg+Teubner, Wiesbaden, 2011
- Ines Gerdes, Frank Klawonn, Rudolf Kruse, Evolutionäre Algorithmen, Vieweg, Wiesbaden, 2004
- Zbigniew Michalewicz, Genetic Algorithms + Data Structures = Evolution Programs. Springer, Berlin, 1998