In this course, we look at ways in which AI techniques can be applied to games.
The course is divided into two parts.
In the first part, we look at how an AI can learn to play a turn-based game through reinforcement learning. We discuss techniques such as bandit strategies, Monte Carlo tree search and neural networks. While these techniques are applicable to a wide range of problems, we focus in particular on how they can be applied to games.
In the second part of the course, we look at how AI techniques can help us create (parts of) games through procedural content generation. We discuss techniques such as grammar-based systems, Markov chains, genetic algorithms and generative adversarial networks, and show how they can be used to generate a variety of different kinds of (game) content.
Both parts of the course have a heavy focus on programming assignments and experimentation. The implementation projects will be mostly written in Python.
Please be aware that some of the projects are individual; it is expected that you have enough programming experience to complete these projects. If you are an inexperienced programmer, you may need to spend extra time on this course.
Have a look at our introduction video:
Course form
We will have recorded lectures and interactive Q&A sessions, poster sessions.
Literature
For the first part of the course the book "Reinforcement Learning - An Introduction" by Sutton and Barto is sufficient.
The second part will use a selection of papers that will be linked during the course.
Have a look at our introduction video:
https://youtu.be/_Z_qTLGkByk
Come to Gather Town on Friday 4pm the 26th of February, to ask any questions you may have about the course.
(https://gather.town/app/fyj1akeIYTARFWgr/My%20Home%20Space)
|