Autumn Semester 2020 takes place in a mixed form of online and classroom teaching.
Please read the published information on the individual courses carefully.

363-0543-00L  Agent-Based Modelling of Social Systems

SemesterSpring Semester 2015
LecturersF. Schweitzer, P. Mavrodiev
Periodicityyearly recurring course
Language of instructionEnglish


AbstractAgent-based modelling is introduced as a bottom-up approach to understand the dynamics of complex social systems. The course focuses on agents as the fundamental constituents of a system and their theoretical formalisation and on quantitative analysis of a wide range of social phenomena-cooperation and competition, opinion dynamics, spatial interactions and behaviour in online social networks.
ObjectiveA successful participant of this course is able to
- understand the rationale of agent-centered models of social systems
- understand the relation between rules implemented at the individual level and the emerging behaviour at the global level
- learn to choose appropriate model classes to characterise different social systems
- grasp the influence of agent heterogeneity on the model output
- efficiently implement agent-based models using Python and visualise the output
ContentAgent-based modelling (ABM) provides a bottom-up approach to understand the complex dynamics of social systems. In ABM, agents are the basic constituents of any social system. Depending on the granularity of the analysis, an agent could represent a single individual, a household, a firm, a country, etc. Agents have internal states or degrees of freedom opinions, strategies, etc.), the ability to perceive and change their environment, and the ability to interact with other agents. Their individual (microscopic) actions and interactions with other agents, result in macroscopic (collective, system) dynamics with emergent properties. As more and more accurate individual-level data about online and offline social systems become available, our formal, quantitative understanding of the collective dynamics of these systems needs to progress in the same manner.

We focus on a minimalistic description of the agents' behaviour which relates individual interaction rules to the dynamics on the collective level and complements engineering and machine learning approaches.

The course is structured in three main parts. The first two parts introduce two main agent concepts - Boolean agents and Brownian agents, which differ in how the internal dynamics of agents is represented. Boolean agents are characterized by binary internal states, e.g. yes/no opinion, while Brownian agents can have a continuous spectrum of internal states, e.g. preferences and attitudes. The last part introduces models in which agents interact in physical space, e.g. migrate or move collectively.

Throughout the course, we will discuss a wide variety of application areas, such as:
- opinion dynamics and social influence,
- cooperation and competition,
- online social networks,
- systemic risk
- emotional influence and communication
- swarming behavior
- spatial competition

While the lectures focus on the theoretical foundations of agent-based modelling, weekly exercise classes provide practical skills. Using the Python programming language, the participants implement agent-based models in guided and autonomous projects, which they present and jointly discuss.
Lecture notesThe lecture slides will be available on the Moodle platform, for registered students only.
LiteratureSee handouts. Specific literature is provided for download, for registered students only.
Prerequisites / NoticeParticipants of the course should have some background in mathematics and an interest in formal modelling and computer simulations, and should be motivated to learn about social systems from a quantitative perspective.

Prior knowledge of Python is not necessary.

Self-study tasks are provided as home work for small teams (2-4 members).
Weekly exercises (45 min) are used to discuss the solutions and guide the student.
During the second half of the semester, teams need to complete a course project in which they will implement and discuss an agent-based model to characterise a system chosen jointly with the course organisers. This project will be evaluated, and its grade will count as 25% of the final grade.