Agent-Based Modelling and Simulation with NetLogo

Summary

NetLogo is a multi-agent programmable modelling environment. It’s a simple but expressive language used both by the academic community and enterprises to simulate natural and social phenomena. It is particularly adequate for propotyping complex and decentralised systems and has a very smooth learning curve which makes it ideal for education puposes. NetLogo allows one to explore the connections between micro (local) interactions between different agents and the macro patterns that emerge from such interaction.

This introductory course is designed for begginers in the NetLogo platform. It offers hands-on-oriented material designed to help you develop core programming skills for the NetLogo platform. The course will teach you how to implement, analyse and debug agent-based simulation models. We will also explore how to design simulation experiments. This is a 2-day course divided into 7 sessions. On each session we tackle a particular aspect of designing simulation models in NetLogo and supply suplementary material in the form of slides and simulation models.

Resources

Session 1: Introduction

  • Outline and Objectives for this Course
  • Introduction to modelling and simulation.
  • What is an Agent? Why agent-based simulation?
  • Tools of the trade: about NetLogo.
  • NetLogo example model.

slides

  • NetLogo features and the interface.
  • Interact with an existing model.
  • NetLogo components: observer, turtles, patches and links.
  • NetLogo programming environment.
  • Documentation and how to use it.

slides/models

Session 3: NetLogo programming language

  • Variables, procedures and reporters
  • Basic operators.
  • Variable scopes and code contexts.
  • Control flow and logic.
  • NetLogo dictionary: testing built-in commands.

slides/models

Session 4: Working through a simple simulation model

  • Introducing the segregation model.
  • Setting up the basics: setup, run, step
  • Creating the agents.
  • Adding parameters and adjusting the model.
  • Model testing and discussion.

slides/models

Session 5: Plotting and batch simulations

  • Creating model reporters.
  • Plotting on NetLogo.
  • Model parameter space.
  • Designing simulation experiments.
  • NetLogo behaviour space & batch simulation.

slides/models

Session 6: Social Space

  • The importance of social spaces.
  • Discrete, continuous, networks and other abstractions.
  • Complex social network models.
  • Networks in NetLogo: using Links.

slides/models

Session 7:ABM and social sciences

  • Different purposes of ABM models.
  • Simulation Model levels of Abstraction.
  • Auto-organisation, consensus and social norms.
  • Exploring a model of consensus formation in social networks.

slides