Product Development in Brisbane

Emergence

I picked up a copy of the book Emergence a month or so ago while browsing a local bookstore.  It's about emergent behavior, and complexity theory, not (as my wife seems to think every time I mention the title) about coming out of the closet.

I've found it to be quite interesting read, filling in many of my missing bits of understanding around the world of complex systems.  I've read about it before, spending a fair amount of time at QUT working with a guy who is doing alot of work in Security Risk Simulation and modelling in complex systems.

It's interesting because Computers on their own are becoming increasingly complex.  I'm not going to say that a web application is a complex system, but the interactions between browsers, operation systems and JVM's does seem to cause behavior which is at least approaching emergence.

Thinking in these terms can be useful when doing bug-fixing.  The bizarre side effects and bugs that can happen in different configurations can be thought of emergent behavior, removing some of the blaming that can happen.  So perhaps sometimes the bugs aren't Sun's/Microsoft's/Mozilla's fault, rather behavior that has emerged from the way in which the agents (browse/operating system/jvm) have interacted.

This then makes bug fixing  a case of preventing agents from getting into situations that cause the bad behavior to happen.

Some of the interesting examples are the ant colony studies, which have shown how the ants interact to create the behavior which is like the ants are all working under a centralized controller.  Long term studies of the ant colonies show the colony displaying properties which are greater than any one ant does. Basically the idea is that the collective behavior is not controlled centrally. This type of reasoning is often used to remove the need for a creator/God figure in control of things.

People who make these statements normally skip over the fact of the need for the initial behaviors to be initialized in the first place.  While these behaviors are relatively simple, each ant does still have some quite intricate (almost designed) rules that are being used.

As the book says of a computer simulation of emergent systems (specifically talking about modelling the behaviour of slime cells), "Of course, on the most fundamental level, StarLogo is itself a centralized system: it obeys rules laid down by a single authority — the programmer.  But the route from Resnick's code to those slime mold clusters is indirect.  You don't program the slime mold cells to form clusters; you program them to follow patterns in the rails left behind by their neighbors.  If you have enough cells, and if the trails last long enough, you'll get clusters, but they're not something you can control directly.  And predicting the number of clusters — or their longevity — is almost impossible without extensize trial-and-error experimentation with the system." and continues "Systems like StarLogo are not utter anarchies: they obey rules that we define in advance, but those rules only govern the micromotives.  The macrobehavior is another matter."

This matches my current view of the world.  I don't think that emergent behavior acts to prove or deny the existence of a creator.  It would be possible to match most (if not all) belief systems with Emergence, which for me means that I am happily able to be a Christian and someone who uses and applies the principles and lessons from emergent behavior throughout my life, especially while coding.

Minor Updates

After gentle feedback from Suzanne (OK so she laughed at me, not with me), I've made some minor updates to the wording above, to improve the readability.

Leave a Reply