SWEN90004
Modelling Complex Software Systems
Lecture Cx.01 Introduction to Complex Systems
Artem Polyvyanyy, Nic Geard
artem.polyvyanyy@unimelb.edu.au;
nicholas.geard@unimelb.edu.au
Semester 1, 2021
1 / 28
Outline
What are complex systems?
Properties of complex systems
Modelling complex systems
2 / 28
What is a system?
A set of things working together as parts of a mechanism or an interconnecting network; a complex whole
Physiology: A set of organs in the body with a common structure or function
Biology: The human or animal body as a whole
Computing: A group of related hardware units or programs or
both, especially when dedicated to a single application
Astronomy: A group of celestial objects connected by their
mutual attractive forces, especially moving in orbits about a
centre
Oxford Dictionary
3 / 28
But what makes a system complex?
4 / 28
Few parts, simple rules, simple behaviour the two-body problem:
can be solved analytically
produces regular trajectories
FigureA single planet orbiting a star
5 / 28
Few parts, simple rules, complex behaviour the three-body problem:
no exact mathematical solution produces chaotic trajectories
FigureThe path of a single planet orbiting two stars http://sprott.physics.wisc.edu/chaos/3body.htm
6 / 28
Few parts, simple rules, complex behaviour
low-dimensional chaos:
the logistic equation: xn+1 = rxn(1 − xn) more on this next lecture
FigureA bifurcation diagram based on the logistic map https://www.flickr.com/photos/davidmxg
7 / 28
Many parts, simple rules, simple behaviour crystals and gases
highly ordered and regular (crystal)
highly disordered but statistically homogeneous (gas)
FigureDiamond crystal structure
http://www.crystalmaker.com http://ccl.northwestern.edu/netlogo/models/GasLabMovingPiston
FigureGas in a piston
8 / 28
Many parts, simple rules, complex behaviour flocking behaviour
also cellular automata, pattern formation, complex networks archetypal complex systems
FigureA murmuration of starlings
http://www.alaindelorme.com/ https://www.youtube.com/watch?v=eakKfY5aHmY https://www.youtube.com/watch?v=V4f_1_r80RY
9 / 28
Many parts, complicated rules, complex behaviour biological development, evolution, societies, markets
heterogeneous rules, specialisation, hierarchies
behaviour is complex, but can be reproducible and robust
FigureDevelopment of C. elegans
Esnard, J. 2001. The Plant Health Instructor http://animal-kid.com/termite-mound.html
FigureTermite mound structure
10 / 28
Many parts, complicated rules, deterministic behaviour classical engineering
many specialised parts
globally designed to ensure predictable behaviour
http://en.wikipedia.org/wiki/Systems_engineering
11 / 28
Many parts, complicated rules, centralised behaviour orchestra, military, administration
behaviour governed by a central cause, leader or plan
FigureDublin orchestra FigureUS Fife & Drum Corps
http://en.wikipedia.org/wiki/Orchestra http://www.acclaimimages.com/_gallery/_pages/0420-0908-1715-3754.html
12 / 28
What is a complex system? A working definition:
Complex systems . . .
are made up of a number of components . . . that interact with each other . . .
typically in a non-linear fashion.
Complex systems . . .
may arise from and evolve through self-organization . . .
are neither completely regular nor completely random . . .
permit the development of emergent behaviour at macroscopic
scales.
from Hiroki Sayama, Introduction to the Modelling and Analysis of Complex Systems
13 / 28
Outline
What are complex systems?
Properties of complex systems
Modelling complex systems
14 / 28
Properties of complex systems
Emergence
The system has properties that the individual parts do not
These properties cannot be easily inferred or predicted
Different properties can emerge from the same parts,
depending upon context or arrangement
Self-organisation
Order increases without external intervention
Typically as a result of interactions between parts
15 / 28
Properties of complex systems
Decentralisation
There is not a single controller or ‘leader’
distribution: each part carries a subset of global information bounded knowledge: no part has a full view of the whole
parallelism: parts can act simultaneously
Feedback
Positive feedback amplifies fluctuations in system state Negative feedback dampens fluctuations in system state
16 / 28
Exercise
What are some of the complex systems found in cities? What are the parts? What are the interactions? What are the effects of complexity?
http://www.fastcoexist.com/1680269
17 / 28
Outline
What are complex systems?
Properties of complex systems
Modelling complex systems
18 / 28
What is a model?
A simplified description, especially a mathematical one, of a system or process, to assist calculations and predictions.
Oxford Dictionary
19 / 28
Why build models?
Models allow us to examine system behaviour in ways that are not feasible in the real world:
too expensive
too time-consuming not ethical
simply not possible
Models help us to understand a system by building it
20 / 28
Types of models Mathematical models
For some systems, we can describe the global state and behaviour in terms of macro-equations
For example, in a predator-prey system:
state:
[W,S] whereW =#wolves,S =#sheep
behaviour:
dS/dt = αS − βSW dW /dt = δSW − γW
where α, β, δ and γ are interaction parameters
21 / 28
Types of model
Mathematical models – analytic solutions
For some systems, these macro-equations exist and have an analytical solution (found using calculus):
eg, geometric GDP growth → exponential function dG(t)/dt = ρG(t) → G(t) = G(0)eρt
Unfortunately, many systems have no such analytic solution
Mathematical models – numerical analysis
Here, numerical analysis can be used
discretization of space into cells and time into steps
solve algorithmically (step-by-step) to discover future trajectory
22 / 28
Types of model
What if there are no macro-equations?
no macroscopic description of system such as pressure or GDP
systems contain heterogeneity
parts are irregularly located in space
parts are connected in a complex network
parts are differentiated/specialised into various types
systems are dynamically adaptive
interaction topology changes over time in response to environment
23 / 28
Types of model Computational models
In particular agent-based models (ABMs), which arose (in the 1960s) to model systems that were too complex for analytical descriptions
system parts :
agents with local state and rules
system structure :
patterns of local interaction between agents
system behaviour :
dynamic rules for updating agent state on the basis of
interactions
The rapid growth of computational power has made ABMs a practical tool
24 / 28
Steps in modelling a complex system
1. define the key questions
2. identify the structure (parts and interactions) of the system
3. define the possible states for each part
4. define how the state of each part changes over time through
interactions with other parts
5. verify, validate and evaluate the model in terms of simplicity,
correctness and robustness
6. define and run experiments with the model to address key
questions
25 / 28
Questions in complex system modelling
how can we explain current and past events?
evolution of multicellular life, disease outbreaks
global climate change, mass extinctions
political and social extremism, the collapse of civilisations stock market crashes, economic bubbles
how can we predict future behaviour?
this is often why we want to understand systems
how can we design and build better engineered systems? nature-inspired optimisation (ant colony, particle swarm)
decentralised computing (the Internet)
autonomous sensor networks, ambient computing
26 / 28
Assignment
Replication of an existing NetLogo model in Java or Python
“replication is a critical component of the scientific method and a core practice of scientists”
Wilensky & Rand (2007), Making Models Match: Replicating an Agent-Based Model, JASSS 10(4):2 work in groups of three
choose a NetLogo model (I will provide a shortlist)
explore the behaviour of the NetLogo model
design and implement the model in Java or Python
analyse your implemented model and compare to the original extend the model to address a new question
write a report on what you find
submit report and code
Full details available on LMS.
27 / 28
References and further information
Boccara, M (2010) Modeling Complex Systems. Springer. (ebook online via library)
Flake, GW (1998) Thye Computational Beauty of Nature. MIT Press. (ebook online via library)
Bar-Yam, Y (1997). Dynamics of Complex Systems http://necsi.edu/publications/dcs/index.html#fulltext
Wolfram, SA new kind of science. http://www.wolframscience.com/
New England Complex Systems Institute http://necsi.edu/
Santa Fe Institute for Complex System http://www.santafe.edu/
The Journal of Artificial Societies and Social Simulation http://jasss.soc.surrey.ac.uk/
Netlogo http://ccl.northwestern.edu/netlogo/
Axelrod, R and Tesfatsion, L On-Line Guide for Newcomers to Agent-Based Modeling in the Social Sciences http://www2.econ.iastate.edu/tesfatsi/abmread.htm
28 / 28