Computational Intelligence in Games
Description of the course
This course addresses the basic and advanced topics in computational intelligence and games. This course has three parts:
Part one addresses the basics of 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
- Sanaz Mostaghim (Lectures)
- Christoph Steup (Organization)
- Sebastian Mai (Tutorials)
Lectures take place on Wednesday 9:15 - 10:45 in Room G22A-013
Slides
Recorded lectures are on Mediasite: /OVGU/Fakultäten/Informatik (FIN)/Institut für Intelligente Kooperierende Systeme (IKS)/AG Computational Intelligence/Computational Intelligence in Games
Please note that you need to use your URZ account to get access to the recordings.
Tutorials
Tutorials are weekly, starting on the 25th April 2023. The tutorials will be done on the following dates:
- Tuesday 17:00 - 18:30 even weeks starting from 25.04.2023 in G29-307 (Note that we start at exactly 17:00 not 17:15).
- Please register for the lecture via LSF. We will give access to the course on the elearning platform for all students that are registered for the CiG lecture in LSF.
- Solve the exercise sheet linked below and submit your solution to the elearning platform.
Date | Tasks and Materials | Solution |
April 25 | Sheet 1 + Code | Slides Solution |
May 2 | Introduction to MicroRTS | Slides |
May 9 | Sheet 2 + Code | Solution |
May 16 | Questions and Answers, Game Evaluations | |
May 23 | Sheet 3 + Code | Solution |
May 30 | Questions and Answers -- Cancelled | |
June 6 | Sheet4 + Code (updated) | Solution Programming Solution |
June 13 | Questions and Answers, Game Evaluations | |
June 19 | MicroRTS Competition | |
June 26 | Cancelled | |
July 4 | Sheet 5 + Code | Solution |
July 11 | Sheet 6 | Solution |
Videos and simulations related to lectures
- Chapter 2: Hawk-Dove
- Chapter 2: Hawk-Dove-Worm
- Chapter 3: Link to MasterMind
Conditions for Certificates (Scheine) and Exams
Certificate (Übungsschein):There are assignment sheets published about every two weeks. You need to hand in your solutions to the assignments before the next tutorial using Moodle. If you handed in a solution you may be asked to present your solution in the tutorials. 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
- handed in at least two thirds of the assignments,
- solve the programming assignment (this task can be solved alone or in pairs of two), and
- pass the exam
Programming Assignment Bachelor:
Conceptualize and implement an AI for a provided game. The AI needs to be able to play the game and win against an easy bot provided by the lecturers.
Programming Assignment Master:
Conceptualize and implement an AI for a provided game. The AI needs to be able to play the game and win against an easy and a medium bot provided by the lecturers.
Both programming assignments will be handled through Moodle. You also will find additional info there.
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 course.
Exercise Sheets Assignments:
For every tutorial a new Exercise Sheet will be uploaded, which is to be solved by the students before their next tutorial. To acquire the Exercise Sheets, upload your solutions and get access to your tutorial group visit the Moodle page of this course.
- 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
Programming Assignment:
The framework and rules of the programming assignment will be discussed in the first tutorial.
- You will program an agent for the MicroRTS game
- Submission of your Agent is due on June 19
Past Exams:
Literature
- 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