Agent-Based Modelling of Complex Adaptive Systems


Over deze cursus

Why do events happen in society (climate change, poverty, revolution...), or in biology (extinction, plagues...), without anyone being in control? They happen because of coincidences and one thing leading to another, or in academic language, 'self-organisation'. The resulting, usually unintended pattern is called emergent behaviour. Would you like to model emergent behaviour and run your own models, do sensitivity analysis on them and validate them? Then this course is for you.
Emergent behaviour occurs among animals when they form flocks or ecosystems, among people when they form riots or queues, or social norms. The emergent system can be modelled by looking at what drives the agents: rewards, punishments. The simulation model will let these agents interact and generate emergent behaviour. Such models can be valuable in policy making because they 'grow' a miniature version of the real-world system.
The course is for social and biological scientists alike. You can simulate the possible effects of policy measures, marketing campaigns, social media hypes, disease outbreaks, xenophobia, social network structure, social learning. If your focus is on ecosystems you can simulate the effect of genetic mutation rate, diversity, growth rates, and predation. If your focus is on social systems you can include artificial sociality in your models.
In simulating emergence, you consider the system under study as a complex adaptive system. It is complex if the relation of output variables to input variables is in between chaos and linearity. It is adaptive if the agents in the system have some awareness about the system state and can adapt their behaviour accordingly. This leads to a multi-level approach in which both the detail level of the agent, and the overall level of the system, are important.
Some examples of projects from past years that you can try for yourself can be found on
In the course you will be exercising using problems from the course book, then developing a case based on a research question from your own discipline of interest. This could be biological, spatial, social scientific or other.
The first part of the course is dedicated to learning basic concepts and techniques. Reading and discussing a recent academic article is part of that phase. The second part is dedicated to your own simulation projects. These are carried out in pairs of students. They should preferably be related to research projects at WUR in the students' area of study.


After successful completion of this course students are expected to be able to carry out the cycle of simulation-based research about emergence in a natural and/or social system of their own definition. Specifically they are expected to be able to:

  • apply the concepts from the course book. This is specified in the following practical learning outcomes, all of which will be assessed through the students' case study;
  • formulate research questions. This includes selecting a theoretical or empirical question to investigate; fixing an appropriate level of analysis for agents and system; choosing an appropriate level of abstraction (abstract, stylized, or facsimile); operationalizing theoretical constructs in agent properties (perception, motion, communication, action, memory, policy) and in environment properties (heterogeneity, change); modelling agent learning (by experience, evolution, or teaching) and system learning (by emergence);
  • create simulations. This involves developing code in NetLogo ( that operationalizes the research questions;
  • carry out validation. This involves systematic sensitivity analysis of the variable space and validation against theory, expert knowledge and / or empirical data, using the tools in NetLogo Behaviour-Space;
  • draw conclusions. This involves reporting on all of the above steps for one's own project, both in a presentation that uses the simulation created, and in a report.

Veronderstelde voorkennis

Assumed Knowledge:
Preferably: some programming experience, for instance, INF22306 Programming in Python or INF20806 Applied Information Technology.

Link naar meer informatie

Als er nog iets onduidelijk is, kijk even naar de FAQ van Wageningen University.


  • Startdatum

    10 februari 2025

    • Einddatum
      7 maart 2025
    • Periode *
      Period 4
    • Locatie
    • Voertaal
    • Inschrijven tussen
      1 jun, 00:00 - 12 jan 2025
Dit aanbod is voor studenten van Utrecht University