CS计算机代考程序代写 python Java algorithm SWEN90004

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