It is precisely that goldilocks state between predictable repeating crystalline order and messy chaotic randomness that we feel captures real complexity.

A railroad consists of a large number of independently controlled machines by agents (both humans and computers) that interact in seemingly infinite ways seems to meet this definition perfectly. The question about why some people like myself enjoy analyzing complex systems is outside the scope of this discussion :-)

A related topic: In my own work as a software researcher, I often find it useful to distinguish between what I call "good complexity" and "bad complexity".

An example of good complexity is an intricate algorithm like that for, say, maintaining AVL trees. This algorithm has a personal significance since it was the first really complex algorithm that I encountered in my study of computer science. It took me a while to figure out what was going on but ultimately I found it rewarding.

I encounter "bad" complexity all the time in my work in the form of arbitrary requirements that often seem to arise for business or political reasons. The main characteristic of having to deal with these kinds of complexities is that time spent circumventing them is simply not rewarding. My guess is that this is caused by the nagging feeling that the whole problem is artificial and avoidable. A great place to read about these kinds of problems is The Daily WTF and this recent article in particular epitomizes bad complexity.

## No comments:

## Post a Comment