Predictability
and probability
This page is
published under the terms of the licence summarized in the footnote.
All free-to-read materials at http://avancier.website are paid for out of
income from Avancier’s training courses and methods licences.
If you find the web site helpful, please
spread the word and link to avancier.website in whichever social media you use.
Contents
How
can event-driven systems be unpredictable?
System theory is much about deterministic systems.
System state: the current structure or variables of a system, which may change over time.
Deterministic: the quality of a system that means its next state is predictable from its current state and input event.
A deterministic system, in a given state, will respond to a stimulus by acting in a predictable way.
In the 1950s, Ashby wrote that the notion of a deterministic system was already more than century old.
Sociologists, biologists, psychologists and control system engineers all describe deterministic systems.
The presumption here is that only deterministic systems can be reliably predictable.
When an event occurs, I can predict its effects only if I can
- limit the world and time frame in which effects will be observed
- observe everything in the current state of that world
- know the rules applicable to every event/state combination
- know there is no randomness in those rules
- know the rules will not change between cause and effect.
When an effect happens, I can deduce its cause only if I can
- limit the world and time frame in which causes will be sought
- know the state of that world before possible causes.
- know the rules applicable to every event/state combination
- know there was no randomness in those rules
- know the rules did not change between cause and effect AND
- there is only one possible cause.
It is easier to relate cause and effect in simple systems.
Because a simple system has few event/state combinations and simple rules.
Whereas a complex system has many such combinations and complicated rules.
But to connect cause and effect in either case, you do have know those combinations and rules.
General system theory grew out of generalising how orderly systems are described in different scientific disciplines.
A presumption in most system theory is that you can predict how an actor or system will respond to an event.
Providing that is, you know its current state and/or history of past events, and the rules it applies to events it recognises.
For more on this topic, read Determinism and hysteresis.
Ross Ashby (in “Design for a Brain”) treated the brain as a deterministic machine.
Boulding wrote that humans act according to input messages and remembered mental images.
In other words, a person’s actions are deterministic, based on their current state and their memory of past events.
If you don’t know the actor’s internal state or past history, then you cannot judge whether its choices are deterministic or not.
Whether a human activity system is necessarily deterministic is discussed in other papers.
This paper explains why deterministic systems (like the weather) can produce unpredictable or unexpected outcomes.
Probabilistic behaviour is predictable in terms of the likelihood of each possible outcome.
Prediction usually implies recording past behaviour and responses to events over a significant period of time.
Suppose you can review the past history of events, the choices made in response, and the consequent outcomes.
You can determine the probabilities of outcomes
You can incorporate these probabilities into deterministic business rules (e.g. in a system for business risk management).
Self-awareness is the ability of an actor to review its past history of events and choices.
A self-aware actor can reflect on whether applying current rules to past events has proved effective in meeting goals.
Self-determination is an act that makes use of self-awareness to set or change rules or goals, and so make different choices from in the past.
There are several ways in which the responses and results of an event-driven system may be, or appear, unpredictable
Actors apply rules to events that depend on rules, and on variable values the actor finds in current state or memory.
You cannot predict the response or result of an orderly system if you don’t know its rules or its internal state.
And every real machine has so many variables and variable values it has well-nigh infinite possible states, impossible for any observer to measure.
Event processing rules may involve using probabilities to determine the best response (out of options available).
The actor may estimate probabilities based on their own internal memory of past events and their outcomes.
The actor may be given probabilities by another actor (likely based on a survey of past events and their outcomes).
Perhaps Bayesian networks might be used to inform the rules?
The IEEE publish papers on this topic: http://ieeexplore.ieee.org/xpl/abstractKeywords.jsp?reload=true&arnumber=4618426
A system may be unpredictable because it responds to events using some kind of fuzzy logic.
You can simulate the unpredictable outcomes of applying fuzzy logic to a decision, by making it random.
In an event-driven system, you can generate random numbers and use them to change the system state to a new randomly-selected state.
Here is an example from a computer game design, where the
enemy is modelled as a state machine.
· The enemy could randomly shoot a gun or throw a grenade.
· The enemy could randomly attack you, or sound the alarm, or run away to get reinforcements, or just shout at you!
The external environment of a business system is uncontrollable and unpredictable by the system designer.
Meaning, you cannot predict how an external entity will react to any message you send it, or to any external event it detects.
In the environment of a business system, a real-world customer can act by making what appears to us to be random choices.
· A customer could pay a bill or ignore it.
· A customer could overpay, pay all the bill, part of the bill, ignore it or write a complaint letter asking for a discount.
However, an aim of EA is to build a system that can cope with exceptions.
This means that whatever an external entity does, the business system will react in an orderly way.
And so, all possible state-transitions of the customer are modelled in the state machine that represents the customer inside the business system..
In practice, it can be impractical or impossible to define an orderly response to every combination of input event and system state.
The best or only design option may be to ask a human actor to “sort it out” as best they can.
This human actor steps outside the boundary of the orderly system, into the more random sociological environment of the system.
Randomness in the wider environment (in the behaviour of customers, suppliers and employees) can defeat attempts to accurately predict long-term system outcomes.
You can however apply statistical analysis to past behaviour, with the aim of increasing your enterprise’s “Business Intelligence” and ability to predict outcomes..
At the
micro-level, every actor may respond to events in an entirely predictable way.
And yet,
long-term macro-level outcomes may be unpredictable.
According to chaos theory, tiny variations in initial state conditions can lead to huge variations in long-term outcomes.
This is the case
in weather systems.
EA assumes
the behaviour of actors in a system is event-driven and shaped by business
rules.
But this
does not mean the overall behaviour of the business is predictable
There are several reasons why the behaviour of a business may be, or appear, unpredictable
· ignorance of rules or state
· probabilities used in rules
· fuzzy logic used in rules
· external forces
· chaotic results from multiple and parallel interactions
What might emerge over time from multiple and
parallel interacting actors may be revealed in system testing or pilot running.
Table 2 mentions two system micro-level
modelling approaches that might be
used to simulate long-term outcomes.
Table
2: modelling approaches |
Heterogeneous population |
Homogeneous population |
Micro-level modelling |
System Dynamics |
Agent-Based Modelling |
Macro-level modelling |
Enterprise Architecture (EA) |
? |
Footnote: Creative Commons Attribution-No Derivative Works
Licence 2.0 29/07/2017
19:51
Attribution: You may copy, distribute and display this copyrighted
work only if you clearly credit “Avancier Limited: http://avancier.co.uk” before the start and include this
footnote at the end.
No Derivative Works: You may copy, distribute, display
only complete and verbatim copies of this page, not derivative works based
upon it.
For more information about the licence, see http://creativecommons.org