Presenter: Elias Fernández Domingos

Classical game theory typically analyzes interactions between two (or a few) players and aims to answer how each individual can maximize their utility. Such a question, from a mathematical perspective, becomes very intricate and complex as a player must consider the utilities of all other players and any possible set of beliefs. Thus, following the famous work of Nash, it is often assumed that all players act in a way that maximizes their utility and believe that others will do the same. This simplifies the analysis and transforms it into a search for the points of equilibrium at which no player has any incentive to change its strategy (Nash equilibrium). This assumption requires that players have perfect knowledge about the game/environment and is referred to as rationality. Yet, it is often cumbersome to assume that individuals are rational in many social and biological systems, even in simple pairwise interactions. Moreover, whenever the problem requires a proper understanding of conflicts occurring in large populations, it becomes necessary to characterize the choices and strategies of many individuals throughout time, and not only at equilibrium. As such, in many real-world multi-agent systems, the goal is shifted towards the understanding of the complex ecologies of behaviors emerging from a given dilemma (or "game"). This is where evolutionary game theory (EGT) shines as a theoretical and computational framework.

In this tutorial, we aim to introduce the students to the main models used in EGT and offer an overview of the research in the field, with an emphasis on its applicability to characterize hybrid human-AI multi-agent systems both when considering unstructured (well-mixed) populations, as well as structured populations, whose interaction structure is organized into a Complex Network4. Moreover, we will pay special attention to the computational approaches to EGT, by summarizing the practical challenges of implementing the numerical and agent-based simulations required to model large-scale systems.

Short Bio

Elias Fernández Domingos

Postdoctoral Researcher at the Machine Learning Group, Université Libre de Bruxelles, Belgium

Elias is currently a Postdoctoral researcher (FNRS fellow) at the ULB - Brussels. He is interested in the origins of cooperation in social interactions and how can we maintain it in an increasingly complex and hybrid human-AI world. In his research he applies concepts and methods from (Evolutionary) Game Theory, Behavioural economics and Machine Learning to model collective (strategic) behaviour and validate it through behavioural economic experiments. Additionally, he is the creator of EGTtools a Python/C++ toolbox for Evolutionary Game Theory.

personal picture

Format and Outline

This is a 90 minutes long tutorial. We divide the tutorial into two sections of 40 minutes each with a 10-minute break in between. The tutorial will be interactive and the attendants will be able to follow the explanations and try them in a notebook that will be shared in a later date. We have the following tentative outline:

  1. Part 1: Introduction to Evolutionary Game Theory
    1. Motivation and examples
    2. Evolutionary Dynamics and Game Theory
    3. Infinite and Finite populations
    4. Social Dynamics and Mechanisms for the Evolution of Cooperation
  2. Part 2: Interactions in structured populations and Applications
    1. Introduction to Games on Networks
    2. Practical challenges of implementing EGT models on unstructured and structured populations
    3. EGT and AI: multi-agent interactions from a complex systems perspective


Even though this tutorial aims to target a general audience in AI, we recommend to have basic knowledge in the following areas:

  • Basic knowledge of dynamical systems
  • Basic knowledge of Complex Networks
  • Basic knowledge of Markov Chains


The importance of AI in social ecosystems, and particularly, its effect on human cooperation and fairness, has gained increasing attention. Evolutionary Game Theory (EGT) provides a powerful methodological framework for the study of the evolution of cooperation in large populations. Yet, the AI and EGT research communities rarely engage. We believe the present tutorial will raise awareness of the importance of EGT for social cooperative AI and introduce methods of large relevance for AI researchers in this field.

Our tutorial serves the following objectives:

  • Motivate and explain a topic of emerging importance for AI
  • Provide instructions in established but specialized AI methodologies
  • Introduce AI audience to an external topic that can motivate or use AI research


To follow the tutorial, you should have both Python (>=3.8) and Jupyter notebook installed. Please, please clone the repository egt-tutorial. This repository contains several jupyter notebooks. Follow the following steps:

  1. Open the notebook named "ECAI_tutorial.ipynb".
  2. Install all the pre-requisites indicated there.

Other relevant material can be found here.

Important References

  1. Nash Jr, John F. "Equilibrium points in n-person games." Proceedings of the national academy of sciences 36.1 (1950): 48-49.
  2. M. Nowak, Evolutionary dynamics; exploring the equations of life.
  3. Sigmund, K., 2010. The Calculus of Selfishness. Princeton University Press.
  4. Boccaletti, S., Latora, V., Moreno, Y., Chavez, M. & Hwang, D. Complex networks: Structure and dynamics. Physics Reports 424, 175–308 (2006).
  5. Domingos, Elias Fernández, Francisco C. Santos, and Tom Lenaerts. "EGTtools: Evolutionary game dynamics in Python." Iscience 26.4 (2023).