Agent Based Modeling

This Further Reading post is a continuation of the last one, where I discussed books on systems theory and ways to model systems.  In this post, I’m diving a bit further down the rabbit hole, and looking at another perspective on complex systems.

The principal alternative to systems dynamics (SD) modeling is a method called agent-based modeling (ABM).  As I discussed in last week’s Further Reading on system theory, SD applies a plumbing metaphor (using terms like stocks and flows, and what I called “valves”) to make models of changing quantities in the system.  While this is a very adaptable way to model systems, there are some problems that it isn’t particularly well-suited for, which is where ABM comes in.

Let’s take the example of traffic.  At first glance, this would seem to be a natural for SD.  After all, we talk naturally about the “flow” of traffic and the “rate” at which people or vehicles move through the system.  There are even traffic lights, which act somewhat like valves.  But there are some crucial differences.

Think back to that plumbing metaphor, and consider the plumbing in your toilet.  When you push the flush handle, the water flows out at a consistent and predictable rate.  For all practical purposes, each molecule of H2O is identical to every other molecule.  And (most importantly!) those molecules don’t have minds of their own.  ALL of the control is in the system of levers and valves.

Compare that with traffic.  People vary.  They each have their own goals and destinations.  They respond to their environments, but they each make their own decisions and sometimes those decisions are wildly unpredictable.  Also, they learn from experience.  If they do something in one situation and don’t like the result, they are likely to try something different if a similar situation comes up again.  If they find a response they like, they may try to refine and improve it, and they may tell others what they did.  Attempts to control them in ways that they don’t like will be actively resisted and subverted.

SD is great for modeling stocks and flows of uniform things that vary predictably in rate and quantity according to external controls.  But it turns out that SD isn’t terribly good at modeling what we call complex adaptive systems, systems made up of lots of unique parts that adapt and learn from experience.  The “intelligence” in an SD-suitable system is in the structure of the system that determines how the valves open and shut.   It’s not in the stuff being manipulated.  Each dollar in the bank account is like every other dollar.  Ditto for a gallon of oil in a pipeline or a bolt in a bin of bolts in most applications.  We can even use this approach where the elements aren’t identical, as long as what we mostly care about is the variation in the number or amount.  So, for example, SD works well for modeling the population of mice and foxes in a meadowland environment, even though one mouse is not necessarily identical to another.  In such cases, where we only care about the numbers of each species, the individual variations are irrelevant.

In ABM, however, the individual variations are everything, because each element or “agent” acts, learns, and adapts differently.

As a technique for studying systems, ABM was pretty much impossible until the development of computers powerful enough to simulate thousands of agents interacting with each other and with their environment over time.  Once we had the hardware and software to do this, however, ABM proved to be a source of terrific insights into the way such adaptive systems behave.  In particular, it became possible to demonstrate something scientists have long suspected:  that very complex systems of behavior can emerge from the interactions of a large number of very simple components following simple rules.

The classic example comes from studying the social insects, like ants and bees.  No bee knows how to build a nest or how to organize hundreds of bees to search for food, yet a group of bees do those things very well indeed, without being led or bossed or told what to do.  Each bee has only a very small number of very limited behaviors available to it.  Each chooses a behavior from that simple menu based on very limited cues from its environment, including cues from the other bees.  Because each has limited information and a slightly different position or point of view, their responses will vary, but at heart, each behaves like a very simple stimulus-response machine.

Yet amazingly complex and intelligent-looking behaviors emerge as these relatively primitive agents interact with each other.  Time and again we see the same thing in natural systems:  complex, intricate, often elegant and purposeful-looking patterns of behavior emerge from the interactions of relatively simple parts following relatively simple programs.

Most surprisingly, there is typically no leader or conductor imposing order on the bits and pieces.  Even our words betray the obvious assumption:  the queen must tell the other bees what to do; otherwise, how would they know which bees should do what?  And anyone watching a dense flock of birds swoop and swirl and dance in the wind would think, well, they must be playing follow-the leader.  Otherwise, how can they know what to do and which direction to fly?  But detailed study and high-speed photography confirm what ABM tells us:  all that elegant, purposeful behavior simply emerges, without any leader or central direction, from the interactions of individual birds, or individual bees, following a few simple rules.

The dilemma for anyone studying complex adaptive systems is this:  if you can get that much complexity from simple parts and simple rules, what do you get when neither one is simple?  Human systems, like the economy, are made up of highly intelligent agents, each following its own vastly-more-complicated rules, and each adapting to its own unique perspective and experience.

Trying to model the result with a system of equations – no matter how complicated – is doomed to fail, because the aggregate behavior has to be based on abstractions from past behavior, in necessarily different circumstances.  ABM can’t do it either, of course, at least in terms of capturing the full complexity of each person in the system, but it can do a very good job of showing how and why seemingly subtle, bizarre, or counter-intuitive behavior can erupt in real life without any apparent trigger or cause.

Okay, I hope that’s enough to whet your appetite.  Here are two books that together can give you an excellent introduction to agent-based modeling:

Mitchel Resnick – Turtles, Termites, and Traffic Jams: Explorations in Massively Parallel Microworlds  (Fun and easy to read – highly recommended just for how interesting the subject matter is, even if you’re not interested in systems or modeling.)

John H. Miller & Scott E. Page – Complex Adaptive Systems: An Introduction to Computational Models of Social Life  (Goes into CAS in much greater depth.)

And another that, while not really about ABM, is somewhat related in its discussion of the emergence of order out of apparently-chaotic biological systems:

Stuart Kauffman* – The Origins of Order: Self-Organization and Selection in Evolution

I know that this kind of deep-dive into ABM and the more-complicated side of systems isn’t immediately applicable to the Interlock or policy discussions, but the ideas behind ABM are extremely important for understanding how human systems work.  If you’ve got the time to spare to go through some of this stuff, it can be well worth it.

*Not a relative of mine as far as I’m aware.


Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s