first step of a formal description allowing the generic
coding of a reactive MAS model into a transactional
CA. We finally conclude with discussions on related
and future works.
2 MAS VERSUS CA
At first sight, the two formalisms look very similar
and are often confused. One may find several works
where the names “cellular automata” and “multi-
agent systems” are used without distinction. This
is easily understandable since CA are often used to
model the environment of a MAS, and, reciprocally,
one may see a CA as a particular kind of MAS where
agents do not move.
We now clarify the differences between CA and
MAS in the context of our research. We compare
them at two levels: (1) the modeling level: What in
a model makes CA or MAS more suitable to express
it? (2) the simulation level: How intuitive is the im-
plementation of CA and MAS?
MAS and CA, as Modeling Tools. In their def-
inition, CA are uniform objects: there is a unique
neighborhood shape for each cell and a unique tran-
sition function. As a consequence, CA are fitted to
model phenomena that involve homogeneous spaces;
CA have been used for example to model physical
systems (Chopard and Droz, 2005), biological sys-
tems (Deutsch and Dormann, 2005), spatially em-
bedded computations (Adamatzky, 2001), etc. Note
that it is always possible to take into account inhomo-
geneities, for example by encoding the heterogeneity
in the cell states, but this is generally not straightfor-
ward to do so.
MAS are preferred for expressing an heteroge-
neous population of entities. They necessitate to
make a distinction between the agents’ behaviors and
the environment where they are embedded (Ferber,
1999). This distinction allows to focus on the spec-
ification of particular and localized events, namely
the agents actions. They offer a methodology for
designing systems, at the level of algorithms, pro-
gramming languages, hardware, etc. Examples of
MAS applications range from the simulation of nat-
ural systems, from ants (Resnick, 1994) to human be-
haviors (Regelous, 2004), to the design of massively
distributed software and algorithms like web-services,
peer-to-peer technologies, etc. Nevertheless, we must
note that contrarily to CA, no universal definition of
MAS has been accepted so far. From the modeling
point of view, translating MAS in the cellular au-
tomata formalism has (at least) the advantage of fix-
ing the mathematical expression of the model and re-
moving ambiguities of formulation.
MAS and CA, as Simulation Tools. The key char-
acteristic of complex systems is the difficulty, if not
the impossibility, of inferring their global behavior
from the local specification of the interactions. Few
mathematical tools are available to predict the evolu-
tion of complex systems, more especially those which
involve self-organization. This gives to simulation a
central role to find the mechanisms that explain how
complexity emerges from simple local interactions.
We thus have to pay attention to the quality of sim-
ulations and to detect ambiguities that may be hidden
in the way they are implemented.
The agent-based programming style is somehow
intuitive and natural as the programmer takes the
point of view of the agent. There is a form of an-
thropomorphism that makes MAS programming par-
ticularly attractive. Nevertheless, we emphasize that
once all the agents behaviors are individually speci-
fied, there are still many ways to make the agents in-
teract and play together in the environment. The im-
plementation of such systems raises many questions,
like assessing the importance of the synchronicity in
simulations: are the agents updated all together or
one after the other? The design of spatially-extended
computing devices will require to imagine a new type
of computer science, where the computations do not
necessarily rely on the existence of a synchronization
between the components.
By contrast with MAS, CA lead to shift the pro-
grammer’s point of view from the “eyes” of the agents
to their environment. The benefits of this shifting ef-
fort are twofold: (1) the CA formalism forces the pro-
grammer to solve conflicts between concurrent agents
actions at the elementary level of the cell and for-
bids the use of any global procedure. (2) As a conse-
quence, the implementation on massively distributed
devices is easy. Indeed, CA provide the program-
mer a cell-centered programming style where the set
of cells represents computing units that are regularly
organized. Recent works have shown that it is pos-
sible to have a good efficiency by using parallel ar-
chitecture to run CA simulations for GPU and for
FPGA, e.g. (Halbach and Hoffmann, 2004). In other
words, CA provide an easy-to-implement framework,
but expressing the local rule necessitates a method to
“blend” the different components of a complex sys-
tem.
FROM REACTIVE MULTI-AGENTS MODELS TO CELLULAR AUTOMATA - Illustration on a Diffusion-Limited
Aggregation Model
423