Computational Game Theory in Julia

Course Information
  • Lecturer: Eric Pacuit (website)
  • Venue: University of Ljubljana, Solvenia


  • Dates: TBA
  • Meeting Times: TBA
  • There are two objectives for this course. The first objective is to introduce the Julia programming language, with a special focus on developing programs to study game theory using the Agents.jl package and the GameTheory.jl package ( The second objective is to provide an introduction to game theory emphasizing issues of particular relevance to students at ESSLLI, such as signaling games and repeated games on networks. The course will include a number of tutorials that will give students hands-on experience writing Julia programs. No previous experience with the Julia programming language will be assumed.

    The main topics in game theory that will be discussed include:

    • Normal form games
    • Equilibrium notions: Nash equilibrium, iterates strict/weak dominance
    • Example games: Prisoner's dilemma, Battle of the sexes, Stag hunt
    • Learning in games: (stochastic) fictitious play, Markov fictitious play, reinforcement learning
    • Evolutionary game theory: evolutionary stable strategies, replicator dynamics
    • Repeated games: Iterated Prisoner's dilemma, spatial games, games on networks
    • Extensive form games: Backward induction, forward induction
    • Lewis signaling games

Day 1    Introduction to game theory using Julia
  • Slides
Day 2    Agent-based simulations in Julia
  • Slides
Day 3    Learning in games
  • Slides
Day 4    Games on networks
  • Slides
Day 5    Repeated games, signaling games
  • Slides