Cellular Automata + Parallel Computing = Computational Simulation Domenico Talia ISI-CNR c/o DEIS, Università della Calabria, 87036 Rende, Italy e-mail: talia@si.deis.unical.it Keywords: cellular automata, parallel programming, computational science ABSTRACT In the latest years a novel method has been added in science to theory and laboratory experiments for studying and solving scientific problems. That method can be defined as computational simulation. Computational simulation is based on the use of computers for modeling and simulation of complex systems in science and engineering. According to this approach, a computer equipped with problem-solving software tools may represent a virtual laboratory where it is possible to build a model for a given problem and run it under different conditions. Parallel computers represent a class of computing architectures that might effectively support the computational simulation approach. In particular, parallel computers are well suited for implementing inherently parallel computing abstract models such as cellular automata [1]. This paper describes how the combination of the cellular automata model with parallel computing techniques and systems can be very fruitful in supporting the computational simulation approach in science and engineering INTRODUCTION Formal theory definition and experiments are the basic methods for studying and verifying scientific discoveries. In the latest years a third method has been added in science to theory and laboratory experiments for studying and solving scientific problems. That third approach can be defined as computational simulation. Computational simulation is based on the use of computers for modeling and simulation of complex phenomena and systems in science and engineering. According to this approach, a computer equipped with problem-solving software tools may represent a virtual laboratory where it is possible to build a model for a given problem and run it under different conditions. Parallel computers represent a class of architectures that might effectively support the computational simulation approach. They exploit the computing power of a large number of processors running in parallel by providing high performance in supporting efficient execution of complex scientific applications. In particular, parallel computers are well suited for implementing inherently parallel computing abstract models such as cellular automata, neural networks, and genetic algorithms that represent significant mathematical models for describing complex scientific phenomena. In this paper we discuss the combined use of parallel computing and cellular automata in computational simulation and show how by developing programmable cellular automata on parallel computers it possible to provide computational simulation environments to be used for solving real problems in science and engineering. As an example of this approach we present the main features of cellular automata parallel software environments and how those features allow to solve real world problems. Cellular automata (CA) are very effective in solving scientific problems because they can capture the essential features of systems in which the global behavior arises from the collective effect of large numbers of locally interacting simple components [1]. A cellular automaton is a discrete dynamic system composed of a set of cells in a one-dimensional or multi-dimensional lattice. The