1.1. Introduction

Complexity science is an interdisciplinary field — at the intersection of mathematics, computer science and natural science — that focuses on complex systems, which are systems with many interacting components.

One of the core tools of complexity science is discrete models, including networks and graphs, cellular automatons, and agent-based simulations. These tools are useful in the natural and social sciences, and sometimes in arts and humanities.

Why should you learn about complexity science? Here are a few reasons:

By reading this book and working on the exercises you will have a chance to explore topics and ideas you might not encounter otherwise, practice programming in Python, and learn more about data structures and algorithms.

Features of this book include:

Technical details Most books about complexity science are written for a popular audience. They leave out technical details, which is frustrating for people who can handle them. This book presents the code, the math, and the explanations you need to understand how the models work.

Google Colaboratory For each chapter, a Google Colaboratory notebook is provided that includes the code from the chapter, additional examples, and animations that let you see the models in action. These also work in Jupyter notebooks.

Exercises Suggested exercises you might want to work on are provided at the end of each chapter.

You have attempted of activities on this page