James P Houghton

# Complexity

04 Jul 2012

Its hard to say just what constitutes a 'Complex System' because we have no quantitative way to define or measure the complexity of a system. We have an intuitive understanding of what complexity should mean, which includes ideas about connections, and predictability, and emergent behavior. One way to describe the 'complex' nature of a system could be:
The more complex a system is, the more difficult it will be to predict the meaningful behavior of that system
The concept of meaningful behavior is abstract, but is related to the idea of 'the question we are asking about the system' as we discussed it in posts about system scope and granularity. In those posts we talked about identifying the elements and relationships that constitute a system based upon the question we were trying to ask about that system. It seems to me that the level of complexity present in a system should be strongly dependent on the question we are asking (the meaningful behavior we are looking for) and the parts of the system that this behavior invites us to examine.

A potential measure of complexity could be related to the number of meaningful connections in a model of a system that is expressed with appropriate scope and granularity.

Lets try playing with some candidate expressions of complexity, just to see what comes up. We want a numerical measure of complexity related to the number of connections in our diagram. However, a system of 100 elements, each with 1 connection should not be as 'complex' as a system of 10 elements, each connected to all of the others.  That means we'll have to normalize by some factor. One way to do this would be to define some metric proportional to the number of connections in our diagram divided by the number of elements. This essentially is the average number of connections per element.

Assume we have a system of n elements, and m relationships that take the form of single non-directed connections between those elements. (Simplest case I can think of.)
In this example n = 5, m = 5, and our metric for complexity (which I'm suddenly going to refer to as 'a') would be a = m/n = 1. The metric would increase in size as elements became more connected, and with more elements could grow rapidly as the number of potential connections grows quadratically with the number of elements.

Another possible metric would be the number of connections divided by the total number of connections possible. If we have a system with n elements, and assume that all relationships between elements take the form of single connections between those elements, then the potential total number of connections between those elements is n*(n-1)/2:

So for our previous example, n=5, m=5, this new metric (which I'm suddenly going to call 'b') would come out as b = m/(n*(n-1)/2) = .5. This metric will fall in a range from zero to one, and is dimensionless, as it compares connections with connections.

This isn't really a useful concept (these are just numbers, and probably numbers that people in graph theory have been thinking about for a long time) until we figure out what we can do with them. When we ask how complex a system is, we then get into "how complex is a system for what purpose?" and all those questions about meaningful behavior start to come back to us. Lets try and work that out in another post.