Milne Open Textbooks

Introduction to the Modeling and Analysis of Complex Systems


Keep up to date on Introduction to Modeling and Analysis of Complex Systems at!

Introduction to the Modeling and Analysis of Complex Systems introduces students to mathematical/computational modeling and analysis developed in the emerging interdisciplinary field of Complex Systems Science. Complex systems are systems made of a large number of microscopic components interacting with each other in nontrivial ways. Many real-world systems can be understood as complex systems, where critically important information resides in the relationships between the parts and not necessarily within the parts themselves. This textbook offers an accessible yet technically-oriented introduction to the modeling and analysis of complex systems. The topics covered include: fundamentals of modeling, basics of dynamical systems, discrete-time models, continuous-time models, bifurcations, chaos, cellular automata, continuous field models, static networks, dynamic networks, and agent-based models. Most of these topics are discussed in two chapters, one focusing on computational modeling and the other on mathematical analysis. This unique approach provides a comprehensive view of related concepts and techniques, and allows readers and instructors to flexibly choose relevant materials based on their objectives and needs. Python sample codes are provided for each modeling example.

This textbook is available for purchase in both grayscale and color via and

pdf icon Introduction to the Modeling and Analysis of Complex Systems



Hiroki Sayama’s book “Introduction to the Modeling and Simulation of Complex Systems” is … a unique and welcome addition to any instructor’s collection. What makes it valuable is that it not only presents a state-of-the-art review of the domain but also serves as a gentle guide to learning the sophisticated art of modeling complex systems. –Muaz A. Niazi, Complex Adaptive Systems Modeling 2016 4:3


… Sayamaʼs book is a very good instrument for students who want to read an introductory text on modeling and analysis of complex systems, and for instructors who need such a text in simple language for their complex systems courses and projects. The book offers a good introduction to the complex systems terminology and plenty of readily available examples with technical implementation details. … Overall, Introduction to the Modeling and Analysis of Complex Systems offers a novel pedagogical approach to the teaching of complex systems, based on examples and library code that engage students in a tutorial-style learning adventure. It is a solid tool that may become one of the primary instruments for teaching complex systems science and help the discipline to become more established in the academic world, triggering the necessary transition from a top-down tradition to a bottom-up complex systems approach.
-Stefano Nichele, Artificial Life 22(3): 424-427, 2016.

Using this text? We'd love to know more about you: fill out this short questionnaire to let us know!

I Preliminaries

1 Introduction

1.1 Complex Systems in a Nutshell

1.2 Topical Clusters

2 Fundamentals of Modeling

2.1 Models in Science and Engineering

2.2 How to Create a Model

2.3 Modeling Complex Systems

2.4 What Are Good Models?

2.5 A Historical Perspective

II Systems with a Small Number of Variables

3 Basics of Dynamical Systems

3.1 What Are Dynamical Systems?

3.2 Phase Space

3.3 What Can We Learn?

4 Discrete-Time Models I: Modeling

4.1 Discrete-Time Models with Difference Equations

4.2 Classifications of Model Equations

4.3 Simulating Discrete-Time Models with One Variable

4.4 Simulating Discrete-Time Models with Multiple Variables

4.5 Building Your Own Model Equation

4.6 Building Your Own Model Equations with Multiple Variables

5 Discrete-Time Models II: Analysis

5.1 Finding Equilibrium Points

5.2 Phase Space Visualization of Continuous-State Discrete-Time Models

5.3 Cobweb Plots for One-Dimensional Iterative Maps

5.4 Graph-Based Phase Space Visualization of Discrete-State Discrete-Time Models

5.5 Variable Rescaling

5.6 Asymptotic Behavior of Discrete-Time Linear Dynamical Systems

5.7 Linear Stability Analysis of Discrete-Time Nonlinear Dynamical Systems .

6 Continuous-Time Models I: Modeling

6.1 Continuous-Time Models with Differential Equations

6.2 Classifications of Model Equations

6.3 Connecting Continuous-Time Models with Discrete-Time Models

6.4 Simulating Continuous-Time Models

6.5 Building Your Own Model Equation

7 Continuous-Time Models II: Analysis

7.1 Finding Equilibrium Points

7.2 Phase Space Visualization

7.3 Variable Rescaling

7.4 Asymptotic Behavior of Continuous-Time Linear Dynamical Systems

7.5 Linear Stability Analysis of Nonlinear Dynamical Systems

8 Bifurcations

8.1 What Are Bifurcations?

8.2 Bifurcations in 1-D Continuous-Time Models

8.3 Hopf Bifurcations in 2-D Continuous-Time Models

8.4 Bifurcations in Discrete-Time Models

9 Chaos

9.1 Chaos in Discrete-Time Models

9.2 Characteristics of Chaos

9.3 Lyapunov Exponent

9.4 Chaos in Continuous-Time Models

II Systems with a Large Number of Variables

10 Interactive Simulation of Complex Systems

10.1 Simulation of Systems with a Large Number of Variables

10.2 Interactive Simulation with PyCX

10.3 Interactive Parameter Control in PyCX

10.4 Simulation without PyCX

11 Cellular Automata I: Modeling

11.1 Definition of Cellular Automata

11.2 Examples of Simple Binary Cellular Automata Rules

11.3 Simulating Cellular Automata

11.4 Extensions of Cellular Automata

11.5 Examples of Biological Cellular Automata Models

12 Cellular Automata II: Analysis

12.1 Sizes of Rule Space and Phase Space

12.2 Phase Space Visualization

12.3 Mean-Field Approximation

12.4 Renormalization Group Analysis to Predict Percolation Thresholds

13 Continuous Field Models I: Modeling

13.1 Continuous Field Models with Partial Differential Equations

13.2 Fundamentals of Vector Calculus

13.3 Visualizing Two-Dimensional Scalar and Vector Fields

13.4 Modeling Spatial Movement

13.5 Simulation of Continuous Field Models

13.6 Reaction-Diffusion Systems

14 Continuous Field Models II: Analysis

14.1 Finding Equilibrium States

14.2 Variable Rescaling

14.3 Linear Stability Analysis of Continuous Field Models

14.4 Linear Stability Analysis of Reaction-Diffusion Systems

15 Basics of Networks

15.1 Network Models

15.2 Terminologies of Graph Theory

15.3 Constructing Network Models with NetworkX

15.4 Visualizing Networks with NetworkX

15.5 Importing/Exporting Network Data

15.6 Generating Random Graphs

16 Dynamical Networks I: Modeling

16.1 Dynamical Network Models

16.2 Simulating Dynamics on Networks

16.3 Simulating Dynamics of Networks

16.4 Simulating Adaptive Networks

17 Dynamical Networks II: Analysis of Network Topologies

17.1 Network Size, Density, and Percolation

17.2 Shortest Path Length

17.3 Centralities and Coreness

17.4 Clustering

17.5 Degree Distribution

17.6 Assortativity

17.7 Community Structure and Modularity

18 Dynamical Networks III: Analysis of Network Dynamics

18.1 Dynamics of Continuous-State Networks

18.2 Diffusion on Networks

18.3 Synchronizability

18.4 Mean-Field Approximation of Discrete-State Networks

18.5 Mean-Field Approximation on Random Networks

18.6 Mean-Field Approximation on Scale-Free Networks

19 Agent-Based Models

19.1 What Are Agent-Based Models?

19.2 Building an Agent-Based Model

19.3 Agent-Environment Interaction

19.4 Ecological and Evolutionary Models



Hiroki Sayama

Hiroki Sayama, D.Sc., is an Associate Professor in the Department of Systems Science and Industrial Engineering, and the Director of the Center for Collective Dynamics of Complex Systems (CoCo), at Binghamton University, State University of New York. He received his BSc, MSc and DSc in Information Science, all from the University of Tokyo, Japan. He did his postdoctoral work at the New England Complex Systems Institute in Cambridge, Massachusetts, from 1999 to 2002. His research interests include complex dynamical networks, human and social dynamics, collective behaviors, artificial life/chemistry, and interactive systems, among others. He is an expert of mathematical/computational modeling and analysis of various complex systems. He has published more than 100 peer-reviewed journal articles and conference proceedings papers and has edited eight books and conference proceedings about complex systems related topics. His publications have acquired more than 2000 citations as of July 2015. He currently serves as an elected Board Member of the International Society for Artificial Life (ISAL) and as an editorial board member for Complex Adaptive Systems Modeling (SpringerOpen), International Journal of Parallel, Emergent and Distributed Systems (Taylor & Francis), and Applied Network Science (SpringerOpen).