Complexity: What is it?


What is a complex system? The word "system" is less controversial and clearer to most since a system is composed of elements such as states, events, transforms (and other functions), input, and output. However, "complexity" is...complicated! In casual conversation, if we say that a system is complex then it is seems hard to understand. When you think of complexity, consider two spaces: the problem space where you formulate a model, and the solution space, which reflects simulation--where you execute that model on a computer. The fractal behavior in the Mandelbrot Set seems complex but that is only in  solution space. The equation where this set is defined is very short and simple and not complex at all (well, it is formulated in the complex plane, sigh, but that is another meaning of complex). In contrast to the equation that spawns the Mandelbrot Set, we find the vast world of software. Talk about complex. Yet, the complexity lies in the problem space (defining the algorithms and writing the computer programs). There are many definitions of complexity, including Halstead's definition for software (a function of the number of operands and operators in the software). Complexity can be interesting and curious for science, and to be avoided in other cases as when we seek to engineer safe, quality products.