Computational Intelligence in Games
Please register for the exercise classes at: https://iws.cs.uni-magdeburg.de:8443/frs/subscribe
We decided to do the programming assignment introduction during the regular exercise classes. Please see the dates below.
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, and
- pass the exam
Prorgramming 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
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|
|Submission Programming Assignment||final deadline 21.06.||
Interesting Links and further Material
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