Cellular Automata: Simulations Using Matlab
Stavros Athanassopoulos
1,2
, Christos Kaklamanis
1,2
, Gerasimos Kalfoutzos
1
, Evi Papaioannou
1,2
1
Dept. of Computer Engineering and Informatics, University of Patras
2
Computer Technology Institute and Press “Diophantus”
Patras University Campus, Building B, GR26504, Rion, Greece
e-mail: {athanaso, kakl, kalfount, papaioan}@ceid.upatras.gr
Abstract—This paper presents a series of implementations
of cellular automata rules using the Matlab programming
environment. A cellular automaton is a decentralized
computing model providing an excellent platform for
performing complex computations with the help of only local
information. Matlab is a numerical interactive computing
environment and a high-level language with users coming from
various backgrounds of engineering, science, and economics
that enables performing computationally intensive tasks faster
than with traditional programming languages (such as C, C++,
and Fortran). Our objective has been to investigate and exploit
the potential of Matlab, which is simple mathematical
programming environment that does not require specific
programming skills, regarding the understanding and the
efficient simulation of complex patterns, arising in nature and
across several scientific fields, captured by simple cellular
automata structures. We have implemented several cellular
automata rules from the recent literature; herein we present
indicative cases of practical interest: the forest fire
probabilistic rule, the sand pile rule, the ant rule, the traffic
jam rule as well as the well-known “Game of Life”. Our work
indicates that Matlab is indeed an appropriate environment for
developing simulations for cellular automata models.
Keywords-cellular automata; simulation; Matlab.
I. CELLULAR AUTOMATA
A cellular automaton (CA) is an idealization of a
physical system in which space and time are discrete and the
physical quantities take only a finite set of values.
Informally, a cellular automaton is a lattice of cells, each of
which may be in a predetermined number of discrete states
(a formal definition can be found in [7]). A neighborhood
relation is defined over this lattice, indicating for each cell
which cells are considered to be its neighbors during state
updates. Time is also discrete; in each time step, every cell
updates its state using a transition rule that takes as input the
states of all cells in its neighborhood (which usually
includes the cell itself). All cells in the cellular automaton
are synchronously updated. At time t = 0 the initial state of
the cellular automaton must be defined; then repeated
synchronous application of the transition function to all cells
in the lattice will lead to the deterministic evolution of the
cellular automaton over time. Many variations of this basic
model exist: CA can be of arbitrary dimension, although
one-dimensional and two-dimensional CA have received
special attention in the literature. CA can be infinite or
finite. Finite CA can have periodic boundaries (e.g., the
opposite ends of a one-dimensional finite CA are joined
together so the whole forms a ring). Updates can be
synchronous or asynchronous. Transition rules can be
deterministic or stochastic. Many other variations exist;
those mentioned above are some of the most typical ones.
The concept of cellular automata was initiated in the
early 1950's by John Von Neumann and Stan Ulam [18].
Von Neumann was interested in their use for modelling self-
reproduction and showed that a CA can be universal. He
devised a CA, each cell of which has a state space of 29
states, and showed that it can execute any computable
operation. However, Von Neumann rules, due to their
complexity, were never implemented on a computer. Von
Neumann's research raised a dichotomy in CA research. On
one hand, it was proven that a decentralized machine can be
designed to simulate any arbitrary function. On the other
hand, this machine (CA) can become as complex as the
function it is intended to simulate.
Cellular automata have received extensive academic
study into their fundamental characteristics and capabilities
and have been applied successfully to the modelling of
natural phenomena and complex systems [1], [3], [4], [13],
[17], [24], [23]. Based on the theoretical concept of
universality, researchers have tried to develop simpler and
more practical architectures of CA that can be used to model
widely divergent application areas. In the 1970, the
mathematician John Conway proposed the (now famous)
Game of Life [10], which received widespread interest
among researchers. Since the beginning of the 80’s, Stephen
Wolfram has studied in much detail a family of simple one-
dimensional cellular automata rules (known as Wolfram
rules [24]) and has showed that even these simplest rules are
capable of emulating complex behavior. Other applications
include, but are not limited to, theoretical biology [2], game
theory [19], and non-equilibrium thermodynamics [15].
The rest of the paper is structured as follows: Section II
includes a brief description of Matlab as well as main
reasons that motivated us for using it in our simulations.
Simulations are presented in Section III. Section IV includes
conclusion and plans for future work on cellular automata
simulations using Matlab.
63Copyright (c) IARIA, 2012. ISBN: 978-1-61208-176-2
ICDS 2012 : The Sixth International Conference on Digital Society