Elsevier

Biosystems

Volume 96, Issue 1, April 2009, Pages 80-85
Biosystems

Research article
Designing convergent cellular automata

https://doi.org/10.1016/j.biosystems.2008.12.001Get rights and content

Abstract

Cellular automata (CA) have been used by biologists to study dynamic non-linear systems where the interaction between cell behaviour and end-pattern is investigated. It is difficult to achieve convergence of a CA towards a specific static pattern and a common solution is to use genetic algorithms and evolve a ruleset that describes cell behaviour. This paper presents an alternative means of designing CA to converge to specific static patterns. A matrix model is introduced and analysed then a design algorithm is demonstrated. The algorithm is significantly less computationally intensive than equivalent evolutionary algorithms, and not limited in scale, complexity or number of dimensions.

Introduction

Cellular automata (CA) are dynamic systems in which space and time are discrete. CA consist of a number of identical cells in an array. Each cell can be in one of a number of states. The next state of each cell is determined at discrete time intervals according to the current state of the cell, the current state of the neighbouring cells and a next state rule that is identical for each cell.

Neumann (1966) and Ulam (1970) developed CA to study self-reproducing systems. Since then CA have been extensively used to study self-organisation Sipper et al., 1997, Wolfram, 1986, ecosystems Gardner, 1970, Langton, 1986 and biological systems Kansal et al., 2000, Ito and Gunji, 1994.

CA are often used to model biological systems. The CA develops with each time step, Δt from one pattern of cell states, Ct, to another, Ct+1, according to a set of rules Rc, the automata boundary conditions Bc and its initial state C0.

CA experiments typically seek to answer one of two questions.

  • (1)

    How do environmental changes (simulated by changes in Bc, C0 and sometimes Rc) affect the behaviour of the biological system (modelled as a CA) as it develops (Karafyllidis, 1998)?

  • (2)

    How does a biological system arrive at a specific state Cn (where n is some large time interval)(Mizas et al., 2008)?

The latter experiments are constrained by the difficulty of designing a CA to converge towards a specific state.

In seeking to model biological systems with CA various techniques have been proposed to design CA to converge towards specific patterns or behaviours, three of which are itemized below.

Ordinary differential equations (ODE). Fleischer and Barr (1993) studied the effects of cell migration, cell hereditry and inter-cellular communications using and ODE model of locally interacting cells. By using an adaptive euler-solver developed by Barzel (1992) he was able to design the model to converge to interesting patterns. Fleischer concluded that it was difficult to design cells to converge to specific patterns, and went on to suggest the use of evolution as an alternative approach.

Unsupervised evolutionary algorithms. Eggenberger (1997) used a CA to study the effects of genetic lineage and inter-cellular chemical interactions on tissue development. A genetic algorithm was used to design the CA to converge to interesting patterns. The fitness of each solution was tested against an arbitrary size of CA and the symmetry of the system about the x-axis.

Supervised evolutionary algorithms. Most recent experiments have relied on supervised evolutionary algorithms to design the CA. For instance Mizas et al. (2008) modelled mutagenesis of a DNA sequence using a CA, then used a genetic algorithm to determine the development rules such that the model developed in the same way as had been observed in the DNA. Miller and Banzhaf (2003) used a 2D, 256 cell CA to simulate the inter-cellular chemical interactions of a tissue during development. A genetic algorithm was used to design the CA to converge to a single pattern (three vertical stripes) from null or partially corrupt (up to 25%) initial conditions.

Evolutionary algorithms require significant computing resources and are limited to solving simple problems (Miller, 2000). This paper will present an alternative to evolutionary algorithms for the design of convergent CA using a deterministic rather than a stochastic approach. This work was inspired by attempts by engineers to mimick morphogenesis, the self-organizing assembly mechanism employed on tissues of biological cells during embryonic development. Those studies (Miller and Banzhaf, 2003) sought to mimick the robust convergence displayed by morphogenesis on electronic systems with the goal of creating self-assembling self-repairing circuits.

In Section 2 we will present a CA and its equivalent matrix model. In the Section3 we will describe the conditions required for a simple CA to converge upon any static pattern. In Section 4 we will present and demonstrate a means of designing this CA to converge upon a specified static pattern. In Section 5 we will describe the conditions required for a more comprehensive CA model to converge and in Section 6 we will present a means of designing this CA to converge upon a specified static pattern.

Section snippets

The Equivalent Matrix Model

The platform on which we shall analyse CA convergence is a 2D array of identical cells that use information from their nearest neighbours (above, below, to the left and right) to compute their next state.

Each cell computes its next state at the same time and does so at each discrete time step. Let us index each cell with the tuple (i,j), then describe the state of each cell with an integer, ci,j,t and the pattern of the entire array as a matrix, Ct (see Fig. 1 (a)).

If C0 is the initial pattern

Fundamental Criteria for Convergence

Given a sufficiently large n in order for the dynamic non-linear system to converge, the final pattern, Cn¯, must be independent of the initial pattern, C0¯. Thus no matter what the starting pattern (where t=0 refers to the initial pattern or any pattern that might be the result of system corruption), the pattern of cell states will always return to the same stable pattern.

Thus An, the coefficient of C0¯, must equal zero. For this to be so, referring to the coefficients of the states of the

Determining the Local Rule Set

Let us design a transition function for a two by two cell CA such that it converges on the pattern of a diagonal stripe from top-left to bottom-right, Cd.Cd=fn(C0¯)=1001

From (8) values for v,w and d can be derived. A solution to these equations describes the local interactions between cells that will result in the desired global pattern. In the case of Cd, if n>3 the transition function can be derived from (10).1000w100vw100vw11001dddd=0000

Thus the transition function for Cd is ci,j,t+1=1

Requirements for a Sum-of-products CA to Converge

Because there are more linear simultaneous equations formed from (8) than there are coefficients to solve for, a direct solution to (8) does not always exist.

A solution to this is to define a more elaborate transition function, g(), such that there are many more coefficients to solve the simultaneous equations for.g(C0¯)=l=0kAlC0¯whereAl=zlxl0yl0wlzlxl0yl0wlzl00vl00zlxl0vl0wlzl

If k is greater than three, expanding gn(C0) gives a coefficient of C0 formed by the multinomial of the transition

Determining the Local Rules for a CA to Converge to an Arbitrary Pattern

There still exist certain patterns that cannot be generated using g(). This is because the same two input combinations cannot map to different output values. Fig. 3 shows a pattern that cannot be formed from g() if the inputs are from above and to the left of each cell.

This pattern is impossible to form with g() alone because it would require g(3,3)=3 for cell c2,2 and g(3,3)=4 for cell c2,3, something that is not permissible in a one-to-one mapping.

To this end additional computation must be

Demonstration

For the purposes of demonstrating this approach, a CA will be designed to converge to the final pattern shown in Fig. 6. We will then demonstrate it converging to this final pattern starting from three different initial patterns.

Using the algorithm of Fig. 5 it is possible to derive a set of rules that form g() and h() for the CA to converge to the target pattern. The solution requires a LUT with 870 entries for g() and a LUT with 131 entries for h(). Fig. 7 shows the CA converging from null

Conclusions

This paper has introduced a new technique for the design of convergent CA. We have shown that to ensure the pattern will converge regardless of initial conditions, it is necessary that the transition rules used by each cell are independent of the current cell state. In addition, the rules can only depend upon the state of one cell per axis, the cell to the left or to the right and the cell above or the cell below.

We have found it is possible to map global patterns to local transition rules

Acknowledgements

The authors would like to acknowledge the support of the EPSRC for funding the work presented in this paper.

References (15)

There are more references available in the full text version of this article.

Cited by (8)

  • A cellular automaton model to find the risk of developing autism through gut-mediated effects

    2019, Computers in Biology and Medicine
    Citation Excerpt :

    The scope of the use of the CA model in this paper is insufficient to allow its efficacy as a predictive tool in the medical treatment of ASD patients, and is designed only to demonstrate its potential as a cost-effective modeling tool in the study of ASD and the gut microbiome. In 1966, Von Neumann advanced the idea of CA modeling as a type of dynamic system modeling tool which utilized three separately defined limited variables in the fields of time, space and state [50,51]. This has been used in many diverse fields of research, including work on an artificial brain [52], complex urban development [53], and simulation of important diseases.

  • Zero-maintenance of electronic systems: Perspectives, challenges, and opportunities

    2018, Microelectronics Reliability
    Citation Excerpt :

    This approach is conceptually attractive due to the relatively simple rule sets that govern global functionality. Other instances of self-organisation include dynamic reallocation of microprocessors workloads in the event of a failed worker [102] and self-assembly of patterns by convergent cellular automata that are used to coordinate functional logic cells [103]. The latter achieves self-reassembly of the correct configuration even in the event that every cell's state is randomised.

  • Creating self-configuring logic with built-in resilience to multiple-upset events

    2017, Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture
  • Cellular automata model for bacterial information sharing mechanism

    2014, 2014 10th International Conference on Natural Computation, ICNC 2014
View all citing articles on Scopus
View full text