Agent-Based Modelling and Simulation with NetLogo
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.
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.
Session 2: Diving into NetLogo
- 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.
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.
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.
Session 5: Plotting and batch simulations
- Creating model reporters.
- Plotting on NetLogo.
- Model parameter space.
- Designing simulation experiments.
- NetLogo behaviour space & batch simulation.
Session 6: Social Space
- The importance of social spaces.
- Discrete, continuous, networks and other abstractions.
- Complex social network models.
- Networks in NetLogo: using Links.
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.