2.3. Lecture 2: Complexity science¶
Before this class you should:
Read Think Complexity:
Preface; and
Chapter 1: Complexity Science
Sign up (via Google Sheets - see link on CourseLink) to be the primary contributor to one lecture in the course notes or an in-class debater. If you are interested in a programming enrichment project in lieu of course notes, talk to me.
Before next class you should:
Read Think Python:
Preface;
Chapter 1: The way of the program;
Chapter 2: Variables, expressions and statements; and
Chapter 3: Functions
Note taker: Aidan Corcoran
- Class today was broken into two sections:
Group breakout rooms
Teaching session
2.3.1. Group Breakout Session¶
- Breakout room questions:
Introduce yourself.
Identify who has the most Python experience.
Identify who has the least Python experience.
Choose one question that your team has about the course and nominate someone to bring it up.
Test the whiteboard feature.
- Web of Life activity (Was not able to do):
Interrelationships that exist within your environment by referencing a specific problem, issue or behaviour.
Identify key variables and assign an individual to represent each variable.
2.3.2. Different types of problems¶
- Convergent Problem:
Focuses on reaching a well-defined solution to a problem.
A bike is a convergent problem as it has been narrowed down to a very ideal solution.
- Divergent problems:
Divergent problems have many possible solutions to a single problem.
Solutions tend to contradict each other though, as more research and discussion occurs.
- The approach to educating children is considered a divergent problem:
One solution to education is learn by doing.
Another solution could be to pass on experience from teachers.
Barriers to Learning: Learning can be particularly difficult when any of the following conditions exist:
- Significant delays between actions and the consequences of those actions.
This condition makes it difficult to learn as receiving feedback for a task that was completed may not occur right away, and thus there might be an issue.
Example, pushing to a Git repository without CI/CD pipelines.
- Multiple feedback loops.
Multiple feedback loops makes learning difficult as it creates multiple feedback points, making it difficult to isolate the impact of a specific action.
Example, different software teams work on a single project. Changes in one component of the software may affect another component and the problem may not be identified right away.
- Significant non-linearities between actions and consequences.
Non-linearities between actions and consequences means small changes in a variable may result in disproportionately large or unexpected outcomes.
Example, a small change in stock market conditions may lead to a significant and unexpected impact on stock prices.
- Discussion:
- Where are there significant delays represented in the web?
Chemical leaks into an ecosystem, this results in a delay to see the effects of this leak.
- Where might there be a significant disconnect between actions and consequences?
Finance, taking action and making investments. Will not know the consequences for a long period of time as the market changes.
2.3.3. Modelling Complex Systems - Complexity Science¶
- Complexity Science is a relatively new field, having received its name and identification in the 1980s.
- Complexity Science uses different tools compared to normal Science.
It focuses on systems as a whole and uses larger models to obtain data.
- This allows different kinds of work to be conducted.
It allows phenomena that arise from individual system components to be analyzed as an entire system thus providing better insight.
Ultimately changes what we mean by the term “Science”.
- Classical Science Analysis:
- Why are planetary orbits elliptical?
Can use Newton’s Laws of Motion to create a differential equation and solve it to prove it yields an elliptical solution.
This is satisfying as it includes a mathematical derivation - so it has the rigor of a proof - and it explains a specific observation: elliptical orbits.
- Schelling’s Model (New style of models):
An agent based model that aims to describe segregation, it is not based on any real-world locations or events.
The model serves as a theoretical framework to gain an understanding of how individual behaviors can create patterns of segregation.
- What is the model?
An array of cells where each cell represents a house. Houses are occupied by two kinds of “agents” labeled red and blue, in roughly equal numbers. 10% of the houses are empty.
At any point in time, an agent might be happy or unhappy, depending on the agent’s neighbours.
Agents are happy if they have at least two neighbours similar to themselves, and unhappy if they have one or zero.
If you start with a simulated city that is entirely unsegregated and run the model as described above, clusters of similar agents will appear.
As more time passes, larger clusters of homogeneous neighborhoods appear.
The model suggests a possible explanation to segregation. That being people prefer to not be greatly outnumbered within their neighborhoods.
2.3.4. The Different Scientific Methods¶
Differences found between the two types of Sciences, Classical and Complexity.
Classical Science |
Complexity Science |
---|---|
Equation-based |
Simulation-based |
Analysis |
Computation |
Continuous |
Discrete |
Linear |
Non-linear |
Deterministic |
Stochastic |
Abstract |
Detailed |
One, two |
Many |
Homogeneous |
Heterogeneous |
Classical Science is more concerned with mathematical derivations (analytical) while Complexity Science prefers computer aided models (simulation).
Classical Science uses continuous variables and mathematical models while Complexity Science focuses more on discrete system behavior.
Classical Science deals with linear systems where relationships are proportional, Complexity Science deals with non-linear components with less predictable behavior.
Classical Science is deterministic which means its future state can be determined by inital conditions, while Complexity Science is stochastic meaning it has elements of randomness.
Classical Science abstracts features of a system to include the essential components, while Complexity Science focuses on the various details within a system.
Classical Science systems have a small number of components, while Complexity Science deals with many different components.
Classical Science deals with homogeneous systems with uniform properties, Complexity Science deals with systems that are heterogeneous with diverse properties.
Different models for different purposes:
Classical Science |
Complexity Science |
---|---|
Predictive |
Explanatory |
Realism |
Instrumentalism |
Reductionism |
Holism |
Classical Science aims to predict systems through mathematical models, while Complexity Science aims to explain and understand complex systems.
Classical Science adopts a realistic perspective, while Complexity Science does not necessarily correspond to a physical system.
Classical Science implements a reductionist approach as it breaks down complex systems into simpler parts, Complexity Science implements holism, meaning breaking down a system into its individual components may not fully explain it.
Complexity Engineering:
Classical Science |
Complexity Science |
---|---|
Centralized |
Decentralized |
Isolation |
Interaction |
One-to-many |
Many-to-many |
Top-down |
Bottom-up |
Analysis |
Computation |
Design |
Search |
Classical Science is based on central governing principles (Physics), Complexity Science is decentralized, meaning no single element has control over the system.
Classical Science isolates components of a system while Complexity Science anaylzes how the system interacts.
Classical Science can have a single cause or factor that influences a system, Complexity Science has many possible factors with many possible system outcomes.
Classical Science has a top-down approach where it starts with governing principles and derives a solution, Complexity Science starts with interactions and aims to understand the system.
Classical Science is more design based, such as creating experiments and mathematical models, Complexity Science tends to search for patterns, interactions and common properties within a system.
Complexity thinking:
Classical Science |
Complexity Science |
---|---|
Aristotelian Logic |
Many-valued Logic |
Frequentist Probability |
Bayesianism |
Objective |
Subjective |
Physical Law -> Theory |
Model |
Determinism |
Indeterminism |
Classical Science relies on Aristotelian logic meaning true or false, Complexity Science uses many-valued logic meaning there can be more than a single truth.
Classical Science uses frequentist probability, which is based on the frequency of events in repeated experiments, Complexity Science uses bayesianism which incorporates prior knowledge and updates probabilities based on new information.
Classical Science aims for an objective truth which is independent of individual perspectives, Complexity Science aims for subjective truths that recognizes different individual perspectives can be valid.
Classical Science attempts to find physical laws of nature while Complexity Science focuses on creating models that capture the core essential principles of a system.
Classical Science states that the future state of a system can be determined by its initial conditions, while Complexity Science deals with indeterminism, where the future state can be inherently unpredictable.