Over the years, working with a multitude of customers on a wide variety of projects, one lesson we have learned is:
A well-defined problem is already half of the solution.
Highly complex systems require thousands or hundreds of thousands of variables in order to describe their state at any time. Systems need to be controlled. This requires sensors to measure some of those variables. While not all of them need to be measured, one may still need to measure and monitor hundreds or thousands of them. However, some things cannot be measured simply because there is no sensor to do that. For example, in medicine, there is no sensor to ‘measure infection’. Sure, there are proxies, like bodily temperature, but that is a scalar while infection is a systemic problem. It has no sensor, it has no units.
So here is the problem. As complexity of the context increases, it is difficult to define what one really wants. The definition of an objective, or cost function, is not always all that easy. This applied to individuals, as well as to companies, especially very large companies. High complexity means high interdependency, very many possible options, numerous modes of functioning, intricate dynamics, sudden mode switching, etc. When things run into hundreds or thousands of dimensions, it is very difficult to define goals, to even define the current situation, not to mention to make credible forecasts. This is especially true of huge software systems, large networks, sophisticated electronics, but even societies, or the climate, or batteries (remember the Boeing Dreamliner batteries that would suddenly ignite and nobody understood why?). Placing hundreds or thousands of sensors on a huge and complex system is not sufficient. Generating huge amounts of data is easy but that is not equivalent to solving a problem. It may actually make things more difficult. But even defining failure may not be easy. This is especially true in the case of sudden systemic failures, where there is plenty of electronics and software or just intricate dynamics.
In a highly complex context most people don’t know what they really want
When placing sensors and actuators on a system it is important to consider two key quantities: observability and controllability. There is a whole science about actuator and sensor placement. It is not sufficient to place a bunch of sensors on a system in order to guarantee its full observability. What it will guarantee is gigabytes of data. One thing to keep in mind is that any given system can be decomposed into four sub-systems as shown below:
Of course, not all of these four subsystems have to be present always and the situation may very well change over time. An example system, comprised of three subsystems, is shown below. Subsystem 3 is non controllable and non observable. Subsystem 2 is observable and controllable indirectly via 8 coupling terms with sub-system 1.
One could ask why make SS3 in the first place. Well, it can be unintentional and it may correspond to an unreachable portion of the system or a condition that emerges under certain circumstances. It may also happen that inside this particular subsystem a problem starts to emerge, and because of the lack of observability it may be invisible until the situation is beyond recovery. The problem may then spillover to other subsystem through some unanticipated or unknown coupling terms that you were unaware of. This is what high complexity can do to you.
So, before you ask for teh Moon, make sure that:
- Your sensors are placed correctly and that their outputs embrace all of the relevant state variables of your system.
- Actuators are placed where they can actually influence the system in question.
- You have defined a significant cost, or objective function, which measures how good you are at controlling your system.
- You have a very clear idea of what failure is and if the state of failure can be spanned by your sensors.
For sure, the hallmark of very high complexity is the ability to suddenly create surprising scenarios.
A final note: make sure your sensors are able to measure something than ‘contains’ the anomalies you’re pursuing. You cannot identify a person’s level of cholesterol by using a thermometer. It might seem an abvious comment but you’ll be surprise at how often a similar mistake is made.