swarm-modeling
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cellular Automata vs. Agent-Based Models


From: Nelson Minar
Subject: Re: Cellular Automata vs. Agent-Based Models
Date: Fri, 1 Oct 1999 11:49:51 -0400 (EDT)

>I'm trying to understand the distinction between Cellular Automata &
>Agent-Based Models.

>From a computer science point of view there's isn't any real
difference. They're computationally equivalent models. From the way
you think about things, though, they're quite different.

>In a CA model, if you allow your automata to be mobile, and to act
>non-homogeneously through the application of If-Then rules, I can
>think of examples where I would have a hard time deciding between the
>two approaches.

In my experience, designing CA models to simulate agents is quite
complicated. Take a simple example, lattice gasses. If you look at the
transition table for a lattice gas, it's very hard to see that there
are moving gas particles. The CA level of description isn't really
the best one for explaining how it works.

Lattice gasses are an interesting middle ground, though. The
expression in terms of CA makes it possible to do analytic statistical
mechanics on it, something that's very hard to do for agent based models)

When you try to build higher level simulations, say people operating
in an economy, the natural expression seems to usually be agents, not
cellular automata. That was one of our first goals for Swarm, so
agents were a natural choice.

>Why was Swarm implemented using an Agent-Based approach as opposed to
>a very unrestricted CA approach?

Swarm actually implements both. Heatbugs is a bunch of agents living
on a CA. Swarm models a CA as another agent, where "agent" is a very
generic concept of "object that has methods scheduled on it".

Chris Langton and David Hiebeler actually built a CA simulator a long
time ago, before Swarm. I'm blanking on the name now, but it only ran
on SunView. In fact, I believe Swarm started out conceptually as
adding agents to the CA simulator.

>Does a commonly used tool exist for building CA models?

There are a bunch of general purpose CA packages, I don't know much
about their features. It's easy enough to write a basic CA from
scratch, but managing complicated state tables and running efficiently
is hard enough that a general tool is useful.


As long as we're here, don't forget a 3rd type of modelling technique:
coupled partial differential equations. That mode of simulation has a
lot of history and theoretical foundation. Me, I prefer agent models
because I understand them better. When I'm simulating rabbits and
coyotes, I want to write code for "a coyote", not write down a PDE
coupling the two populations or engineering weird state transitions in
a CA. But different tools are good for different jobs.


                                                  address@hidden
.       .      .     .    .   .  . . http://www.media.mit.edu/~nelson/


                  ==================================
   Swarm-Modelling is for discussion of Simulation and Modelling techniques
   esp. using Swarm.  For list administration needs (esp. [un]subscribing),
   please send a message to <address@hidden> with "help" in the
   body of the message.
                  ==================================


reply via email to

[Prev in Thread] Current Thread [Next in Thread]