Complex systems, whether natural or engineered, are composed of many parts. But it’s not the mere number of components that makes them complex. After all, stones are composed of huge numbers of molecules, yet we would not consider them complex. A truly complex system consists of many different kinds of parts, intricate organizations and highly different structures at different levels of scale. Humans, bacteria, advanced microprocessors, modern airplanes, global enterprises, healthcare organizations and urban environments are all examples of complex systems exhibiting these massive, heterogeneous, intricate characteristics.
What makes these systems so complex? Whether they were designed by humans or evolved in nature, why aren’t they simpler? What purpose does this complexity serve?
A few years ago I heard a very interesting talk addressing these questions by Cal Tech professor John Doyle. The talk was based on a paper, Complexity and Robustness, which he co-authored with professor Jean Carlson from UC Santa Barbara.
According to Carlson and Doyle, you can find very simple biological organisms in nature, and you can design very simple objects. The key ingredient you give up is not their basic functionality, but their robustness - that is, the ability to survive, for biological organisms, or to perform well, for engineered objects - under lots of different conditions, including the failures of individual components. Robustness implies the ability to adapt and keep going in spite of a rapidly changing environment.