Noname manuscript No. (will be inserted by the editor)

A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications (Draft version)

Kamalika Bhattacharjee · Nazma Naskar · Souvik Roy · Sukanta Das

Received: date / Accepted: date

Abstract Cellular automata (CAs) are dynamical systems which exhibit complex global be- havior from simple local interaction and computation. Since the inception of cellular au- tomaton (CA) by von Neumann in 1950s, it has attracted the attention of several researchers over various backgrounds and fields for modelling different physical, natural as well as real- life phenomena. Classically, CAs are uniform. However, non-uniformity has also been in- troduced in update pattern, lattice structure, neighborhood dependency and local rule. In this survey, we tour to the various types of CAs introduced till date, the different characteriza- tion tools, the global behaviors of CAs, like universality, reversibility, dynamics etc. Special attention is given to non-uniformity in CAs and especially to non-uniform elementary CAs, which have been very useful in solving several real-life problems. Keywords Cellular Automata (CAs) · Types · Characterization tools · Dynamics · Non-uniformity · Technology Mathematics Subject Classification (2010) 68Q80 · 37B15

1 Introduction

From the end of the first half of 20th century, a new approach has started to come in scien- tific studies, which after questioning the so called Cartesian analytical approach, says that interconnections among the elements of a system, be it physical, biological, artificial or any other, greatly effect the behavior of the system. In fact, according to this approach, knowing the parts of a system, one can not properly understand the system as a whole. In physics, David Bohm (1980) is one of the advocates of this approach. This approach is adopted in

This research is partially supported by Innovation in Science Pursuit for Inspired Research (INSPIRE) under Dept. of Science and Technology, Govt. of India.

Kamalika Bhattacharjee, Souvik Roy and Sukanta Das, arXiv:1607.02291v3 [cs.FL] 8 May 2018 Department of Information Technology, Indian Institute of Engineering and Science Technology, Shibpur, Howrah 711103, India; E-mail: [email protected], [email protected] and [email protected] Nazma Naskar School of Computing Engineering, KIIT University, Bhubaneswar, Odisha, India E-mail: [email protected] 2 Kamalika Bhattacharjee et al.

psychology by Jacob Moreno [see as example Moreno et al (1932)], which later gave birth to a new branch of science, named Network Science. During this time, however, a number of models, respecting this approach, have started to be proposed [see, as an example, McCul- loch and Pitts (1943)]. Cellular Automata (CAs) are one of the most important developments in this direction.

The journey of CAs was initiated by John von Neumann (1966) for the modelling of bi- ological self-reproduction. A (CA) is a discrete dynamical system com- prising of an orderly network of cells, where each cell is a finite state automaton. The next state of the cells are decided by the states of their neighboring cells following a local update rule. John von Neumann’s CA is an infinite 2-dimensional square grid, where each square box, called cell, can be in any of the possible 29 states. The next state of each cell depends on the state of itself and its four neighbors. This CA can not only model biological self- reproduction, but is also computationally universal. The beauty of a CA is that simple local interaction and computation of cells results in a huge complex behavior when the cells act together.

Since their inception, CAs have captured the attention of a good number of researchers of diverse fields. They have been flourished in different directions – as universal construc- tors, see for example Thatcher (1964); Banks (1970); models of physical systems, see as example Chopard and Droz (1998); parallel computing machine, see Toffoli and Margolus (1987); etc. In recent years, the CAs are highly utilized as solutions to many real life prob- lems. As a consequence, a number of variations of the CAs have been developed. In this survey, we will conduct a tour to a few aspects of CAs. Our purpose is not to explore any specific aspect of CAs in depth, rather to cover different directions of CAs research along with a good number of references. Interested readers may go to the appropriate references to explore their interests in detail.

We conduct this survey with respect to six categories. First, we tour to the various types of CAs, developed since their inception (Section 2). For example, von Neumann’s CA and Wolfram’s CA are of different types – first one is defined over 2-dimensional grid having 29 states per cell, whereas latter is one-dimensional binary CA. Second, to study the behavior of CAs, few tools and parameters are developed. They are visited in Section 3. However, the most interesting property of CAs is probably their complex global behavior due to very simple local computations of the cells. We inspect some of the most explored global behavior in Section 4.

During last two decades, a new direction in CAs research has been opening up, which introduces non-uniformity in CA structure. Practically, CAs are uniform in all respects - uniformity in cell’s update (that is, synchronicity), uniformity in neighborhood dependency, and uniformity in local rule. Though the uniform CAs are very good in modelling physical systems, researchers have introduced non-uniformity in CA structure to model some physical systems in a better way, and most importantly, to solve some real life problems efficiently. We survey various aspects of non-uniformity in Section 5, and put our deeper attention on a special type of non-uniform CAs in Section 6.

Nowadays, CAs are not only modelling tools, but also technologies. Use of CAs in different application domains has established this fact in the last two decades. We explore some of such applications in Section 7. A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 3

2 Types of Cellular Automata

In this section, we survey various types of CAs proposed till date. Before stating these types, let us define cellular automata formally.

2.1 Basic definition

A cellular automaton consists of a set of cells which are arranged as a regular network. Each cell of a CA is a finite automaton that uses a finite state set S. The CAs evolve in discrete time and space. During evolution, a cell of a CA changes its state depending on the present states of its neighbors. That is, to update its state, a cell uses a next state function, also known as local rule, whose arguments are the present states of the cell’s neighbors. Collection of the states of all cells at a given time is called configuration of the CA. During evolution, a CA, therefore, hops from one configuration to another.

Definition 1 A cellular automaton (CA) is a quadruple ( ,S,N , f ), where L D – ⊆ Z is the D-dimensional cellular space. A set of cells are placed in the locations Lof to form a regular network. – S isL the finite state set. −→ −→ −→ – N = (v1 , v2 ,··· ,vN ) is the neighborhood vector of N distinct elements of which associates one cell to its neighbors. Generally, the neighbors of a cell are theL nearest cells surrounding the cell. However, when the neighborhood vector N is given, then −→ −→ −→ the neighbors of a cell at location v ∈ are at locations ( v + vi ) ∈ , for all i ∈ {1,2,··· ,N}. L L – f : SN → S is called the local rule of the automaton. The next state of a cell is given by f (a1,a2,··· ,aN ), where a1,a2,··· ,aN are the state of its N neighbors.

A cellular automaton is also identified by its global transition function. Let us consider

C represents SL , the set of all configurations. Then, a CA is a function G : C → C, which is called global transition function. Classically, CAs are synchronous (that is, all the cells are updated simultaneously) and homogeneous (that is, all the cells use single next sates func- tion). For these cases, if a configuration y = (y−→v )−→v ∈ is successor of another configuration L x = (x−→v )−→v ∈ , that is, y = G(x), then y is the result of the following application: For each −→v L∈ L y−→ = G(x)−→ = G(x−→) = f (x−→ −→,x−→ −→.··· ,x−→ −→) (1) v v v v +v1 v +v2 v +vN

Nevertheless, a CA is described in terms of four parameters – ,S,N and f . Over the years, various types of CAs have been proposed varying the propertiesL of these parameters. Even this basic definition of CA (Definition 1) is sometime compromised to get new types of CAs. In this section, we survey different types of CAs, developed till date, under the following headings –

1. The dimension and neighborhood of a cell. 2. The states of the cell. 3. The lattice size and boundary condition. 4. The local rule. 4 Kamalika Bhattacharjee et al.

(a) One way CA (b) Two way CA (c) von Neumann (d) Moore neighbor- neighborhood hood

Fig. 1: Neighborhood dependencies: 1a and 1b are 1-dimensional CAs, and 1c and 1d are 2-dimensional CAs. The black cell is the cell under consideration, and its neighbors are the shaded cells and the black cell itself

2.2 The dimension and neighborhood of a cell

The neighborhood of CA cells is strongly correlated with the dimension of the CAs. The original CA, proposed by von Neumann, is of 2-dimension and uses 5-neighborhood (or- thogonal ones and itself) dependency. Fig. 1c shows such a dependency: the neighbors of the black cell is itself and the four shaded cells. This neighborhood dependency is tradition- ally known as von Neumann neighborhood. A natural extension of this neighborhood dependency is the 9-neighborhood depen- dency, where four non-orthogonal cells are additionally considered as neighbors. Fig. 1d shows this kind of neighborhood dependency, which was proposed by Moore (1962), and is traditionally known as Moore neighborhood. This neighborhood structure has been uti- lized to design the famous Game of Life, a CA which was introduced by John Conway and popularized by Martin Gardner (1971). Apart from these two popular neighborhood dependencies for 2-dimensional CAs, some other variations, such as Margolus neighborhood (Toffoli and Margolus (1987)) are also re- ported. In this neighborhood, the lattice is divided into 2 × 2 non-overlapping blocks (2×2×2 cubes in three dimensions). TheL partitioning of into blocks is applied on differ- ent spacial co-ordinates on alternate time steps. Fig. 2a clarifiesL the idea: the smaller boxes are the cells, whereas the squares enclosing 4 cells are the blocks. There are two types of overlapping blocks, shown by dark lines and dotted lines. The cells of a block are neighbors of each other, and the type of blocks alternates in alternating time steps. This kind of CAs is also known as block cellular automata or partitioning cellular automata. In these CAs, the local rule, or rather block rule, updates the entire block as a distinct entity rather than any individual cell. However, in the above types of CAs, the cells are considered as squares. In fact, in most of the CAs, the cells are square in shape. In some of the works, on the other hand, the cells are considered as hexagons over 2-dimensional space, and as a result, we get a different neighborhood dependency; see for example Morita et al (1999); Siap et al (2011). Fig. 2b shows such a neighborhood dependency. Not only hexagonal cells, Imai and Morita (2000); Morita (2016) have worked with triangular cells also. Further, CAs have been defined in hy- perbolic plane by Margenstern and Morita (1999, 2001). As a result, we have been a witness of several types of CAs depending on the variations of neighborhood dependencies. As an extension of uniform neighborhood dependencies of cells of CAs, Automata Networks (see Section 5.2) have been defined over arbitrary networks, where the neighborhood dependen- cies of different cells may be different; see for example Marr and Hütt (2009); Tomassini et al (2005); Darabos et al (2007). A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 5

(a) Margolus neigh- (b) Hexagonal CA (c) Partitioned CA borhood

Fig. 2: Neighborhood dependencies: 2a is a block CA, 2b is hexagonal CA, and 2c is a partitioned CA, where a square cell is partitioned into four triangular parts

Partitioned cellular automata, which are closely related to block cellular automata, are the CAs where each cell is partitioned into a finite number of parts. Hexagonal CA of Morita et al (1999), triangular CA of Morita (2016) are the partitioned CAs. Many properties of these CAs have been explored by Morita and his co-researchers. Fig. 2c shows the partition- ing of square cells into four parts. Obviously, neighborhood dependencies of the parts are different than that of the cells. The local rules of partitioned CAs consider the states of parts during the state updates. Sometimes, neighborhood of a CA is represented by radius. By radius, we mean the number of consecutive cells in a direction on which a cell depends on. For example, for 1-dimensional CA, neighborhood N can be represented as N = {−r,−(r −1),··· ,−1,0,1, ··· ,(r − 1),r}, where r is the radius of the CA. In Fig.1b, r = 1. Classically, the radius is same in every direction. However, in some works this restriction is removed; see for example Jump and Kirtane (1974); Boccara and Fuks´ (1998). One of such CAs, called one-way CA, has been proposed by Dyer (1980), in which communication is allowed only in one direction, that is, in a 1-dimensional array, the next state of each cell depends on itself and either of its left neighbor(s) or right neighbor(s) (see Fig. 1a). Although CAs are originally defined over 2-dimensional space, a large number of re- searches have been dedicated to explore one-dimensional CAs; Amoroso and Patt (1972); Pries et al (1986); Sutner (1991); Sikdar et al (2002) are to name a few. Wolfram (1983, 1994) has introduced a class of very simple CAs, called Elementary cellular automata or ECAs, which are one-dimensional, two-state, and having three-neighborhood dependency (like Fig. 1b). In last three decades, the major share of cellular automata research has gone to ECAs and their variations. However, several fundamental properties and parameters of 2-dimensional CAs are ex- plored by Packard and Wolfram (1985); Kari (1990); Durand (1993); Terrier (2004); de Oliveira and Siqueira (2006); Uguz˘ et al (2014), and many others. Higher than 2-dimensional CAs are also proposed, see for example Gandin and Rappaz (1997); Sarkar and Barua (1998); Miller and Fredkin (2005); Mo et al (2014). For instance, in Miller and Fredkin (2005) two-state three-dimensional reversible CA (RCA) is described and is shown to accomplish universal computation and construction. However, two or higher dimensional CAs sometime behave differently than 1-dimensional CAs. For example, reversibility, an well addressed problem of 1-D CA, is undecidable for 2 or higher dimensional CAs, see Kari (1990). In fact, most of the decision problems related to two or higher dimensional CAs are undecidable, see for example Dennunzio et al (2014b). 6 Kamalika Bhattacharjee et al.

2.3 The states of the cell

A cell can be in any of the states of a finite state set S at any point of time. The number of states of von Neumann’s CA is 29. Initially, many researchers targeted to simplify von Neu- mann’s CA by reducing the number of states. For instance, state count of CAs was reduced to eight by Codd (1968). Thatcher (1964) has shown construction and computational uni- versality as well as self-reproducing ability of von Neumann’s cellular space, whereas Arbib (1966) depicted a simple self-reproducing CA capable of universality. Then, Banks (1971) has proved the universal computability of 2-state CA and provided a description of self- reproducing CA using only 4 states. However, all these constructions are for 2-dimensional CAs, and use 5-neighborhood dependency (see Fig. 1c). Conway’s Game of Life, on the other hand, uses 9-neighborhood dependency (see Fig. 1d) and two states per cell. Gardner (1971) has proved that this binary CA is also computationally universal. In fact, many CAs, including the ECAs, are binary; that is, the cells use only two states. Smith (1971a) has shown that neighborhood size and state-set cardinality of a CA are interrelated. A CA with higher neighborhood size can always be emulated by another CA that has lesser neighbor- hood size but higher number of states per cell, and the contrariwise. Generally, the cellular space is infinite. Hence, the configurations which are the col- lections of states of all cells of Lat different time, are also infinite. As is in von Neumann’s CA, sometime a restriction isL imposed on CAs: a quiescent state q ∈ S is considered so that f (q,q,··· ,q) = q, where f is the local rule (see Definition 1). This means, a cell whose neighbors are in quiescent states, remains in quiescent state. As a result, we get a new class of configurations, called finite configurations.

Definition 2 Let q ∈ S be a quiescent state of a CA ( ,S,N , f ), that is, f (q,q,··· ,q) = q, and the cellular space be infinite. A configuration ofL the CA is called a finite configuration if all but a finite numberL of cells are in q.

Thus, if the initial configuration of the CA is a finite configuration, at every time step the new configuration remains as a finite configuration. Let us consider CF represents the set of all finite configurations. Obviously, CF ⊂ C, where C = SL , the set of all configurations. Then, the global transition function of the CA over CF , GF : CF → CF is a restriction of G. This restriction is at least needed to simulate a CA in computer. In a number of works, such as Martin et al (1984); Chaudhuri et al (1997), states of a CA are considered as elements of a finite field. Sikdar et al (2000, 2002) have further considered the states as elements of an extension field. Itô et al (1983); Cattaneo et al (2004) have considered the state set as Zm (the integers modulo m) in their works. In almost all cases, however, every cell of a CA uses the same state set. In polygeneous CAs, on the contrary, a CA may use different state sets, see Sarkar (2000).

2.4 The boundary condition

As the cellular space is usually infinite, there is no question of boundary, and boundary condition. However, inL a few works, is assumed as finite, which is obviously having boundaries. These CAs are finite CAs.L

D Definition 3 A CA is called as a Finite Cellular Automaton if the cellular space ⊆ Z is finite. Otherwise, it is an Infinite Cellular Automaton. L A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 7

0 0 (a) Null boundary (b) Periodic boundary

(c) Adiabatic boundary (d) Reflexive boundary

(e) Intermediate boundary

Fig. 3: Boundary conditions of 1-D finite CAs. Arrows pointing to a cell indicate the dependencies of the cell. Here all the CAs use 3-neighborhood dependency

Finite CAs are really important if the automata are to be implemented. Two boundary con- ditions for finite CAs are generally used – open boundary condition and periodic boundary condition. In open (fixed) boundary CAs, the missing neighbors of extreme cells (leftmost and rightmost cells in case of 1-D CAs) are usually assigned some fixed states. Among the open boundary conditions, the most popular is null boundary, where the missing neighbors of the terminal cells are always in state 0 (Null). Null boundary CAs have received a good attention by the researchers, who have used CAs for VLSI (Very Large Scale Integration) design and test. Hortensius et al (1989b); Tsalides et al (1991); Chaudhuri et al (1997); Sik- dar et al (2002); Das and Sikdar (2010) are some examples of such works. Fig. 3a explains null boundary condition of a 1-dimensional CA. In case of periodic boundary condition, on the other hand, the boundary cells are neigh- bors of some other boundary cells. For instance, for 1-D CAs, the rightmost and leftmost cells are neighbors of each other (see Fig. 3b). Higher dimensional CAs under periodic boundary conditions have also been explored by some researchers, such as Sarkar and Barua (1998); Jin and Wu (2012); Uguz˘ et al (2013) etc. However, the periodic boundaries of a 2-D CA can be visualized by folding right and left sides of a rectangle to form a tube, and then taping top and bottom edges of the tube to form a torus. Periodic boundary conditions sometime relate finite CAs and infinite CAs through peri- odic configurations. Definition 4 A configuration x ∈ C of a D-dimensional infinite CA is periodic if the con- figuration is invariant under D linearly independent translations. That is, there exist D nat- ural numbers n1,n2,··· ,nD so that x is same as ni times shift of x in dimension i, for each i ∈ {1,2,··· ,D}.

Let CP ⊂ C denote the set of all periodic configurations of a CA. Then, GP : CP → CP is a restriction of G. However, the members of CP preserve periodicity of configurations, which is also preserved in periodic boundary condition. So, periodic configurations are sometime called as the periodic boundary conditions of finite CAs. Some other variations of boundary conditions also exist, such as adiabatic (or reflecting) boundary, reflexive boundary and intermediate boundary. In adiabatic (or reflecting) bound- ary condition, the boundary cells assume the missing neighbors as their duplicates. Fig. 3c shows this boundary condition where the left (right) neighbor of the leftmost (rightmost) cell is the cell itself. In reflexive boundary condition, shown in Fig. 3d, the left and right 8 Kamalika Bhattacharjee et al. neighbors of boundary cells are the same cell. Finally, Fig. 3e explains the intermediate boundary condition for a 1-D CA, where a missing neighbor of a boundary cell is the neigh- bor’s neighbor of the boundary cell. Nandi and Chaudhuri (1996) have used the intermediate boundary condition to improve quality of pseudo-random patterns, generated by CAs. As another special case of open boundary condition, stochastic boundary condition is proposed, where the boundary cells assume some states stochastically. Cheybani et al (2000) have used this boundary condition to model traffic flow on a one-dimensional lattice with finite number of cells. In this traffic model, the authors have considered that the cars are injected at the leftmost cell with a probability, and the cars are removed from the right boundary with another probability.

2.5 Local rule

A cell of a CA changes its state following a next state function f : SN → S where S is the set of states and N is the size of the neighborhood. The map f , which is generally known as the local rule of the CA, can be conveyed in different ways. As an instance, in Conway’s Game of Life, the local rule is f : {0,1}9 → {0,1}, where state 0 represents a dead cell and state 1 represents an alive cell. It is stated as following in Li et al (2010): – “Birth: a cell that is dead at time t, will be alive at time t + 1, if exactly 3 of its eight neighbors were alive at time t. – Death: a cell can die by: – Overcrowding: if a cell is alive at time t and 4 or more of its neighbors are also alive at time t, the cell will be dead at time t + 1. – Exposure: If a live cell at time t has only 1 live neighbor or no live neigh- bors, it will be dead at time t + 1. – Survival: a cell survives from time t to time t + 1 if and only if 2 or 3 of its neighbors are alive at time t.” However, the local rule f can also be represented in a tabular form. In this form, the table contains entries for the next state values corresponding to each of the possible neigh- borhood combinations according to the local rule. This representation has been popularized by Wolfram (1983), and used to name his Elementary CAs (ECAs). Table 1 shows seven rules of ECAs, which are named after the decimal equivalents (last column of Table 1) of 8-bit binary sequence. Obviously, the tabular form is good if size of neighborhood (N) and the state set (S) are very small. N N Against a binary map f : {0,1} → {0,1}, an N-tuple (s1,s2,··· ,sN ) ∈ S can be viewed as a Min Term of N-variable switching function. So, each of the tuples of the map f is named as Rule Min Term (RMT). Table 1 shows eight RMTs against a rule. In the works of present authors, the RMTs of rules have been utilized. This concept is further extended by Bhattacharjee and Das (2016) to use it by non-binary local rules. However, all the above works that use RMTs are about 1-dimensional CAs. N N Definition 5 Let f : S → S be a local rule of a CA. A tuple (s1,s2,··· ,sN ) ∈ S is called as a Rule Min Term (RMT) of the rule f , and is usually represented by it decimal equivalent. N−1 N−2 If S = {0,1,··· ,d − 1}, then the RMT is r = s1.d + s2.d + ··· + sN−1.d + sN . The next state against this RMT of the rule, that is f (s1,s2,··· ,sN ), is also represented as f [r]. Therefore, a rule can be seen as a collection of RMTs along with their next states. In that sense, RMTs are atomic elements of a rule. The RMTs along with their next state values are A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 9

Table 1: ECAs rules. Here, PS and NS represent present state and next state respectively

PS 111 110 101 100 011 010 001 000 Rule (RMT) (7) (6) (5) (4) (3) (2) (1) (0)

0 1 0 1 1 0 1 0 90 1 0 0 1 0 1 1 0 150 0 0 0 1 1 1 1 0 30 NS 0 0 0 0 0 1 0 1 5 0 1 0 0 1 0 0 1 73 1 1 0 0 1 0 0 0 200 0 1 0 1 0 0 0 0 80

sometime called as transitions. In case of ECAs, where f : {0,1}3 → {0,1}, a transition is a quadruplet (x,y,z, f (x,y,z)). A transition of an ECA rule is active if f (x,y,z) 6= y; otherwise the transition is passive. A rule f can also be represented by its active transitions only. To present a rule, in general, at least its active transitions are to be noted down. The rule of Game of Life (see above), for example, shows all active transitions. In case of ECAs, although the numbering style of Wolfram (1983) (as shown in Table 1) is widely used, they are alternatively identified by their active transitions only, known as transition codes. In the works of Fatès et al (2006); Fatès (2013), for example, transition codes of ECAs rules have been used. When the rule f of a CA is linear, then the CA is also linear. That is, the global transition function G of the CA is a linear function. In case of linear rule f : SN → S, the rule can be N expressed as f (a1,a2,··· ,aN ) = ∑ ci.ai, where ci ∈ S is a constant. And, the set S forms a i=1 commutative ring with identity. There are seven linear ECAs for rules 60, 90, 102, 150, 170, 204 and 240 (excluding rule 0, which is also trivially linear). Apart from these ECAs, there is no additional additive ECAs. So, these rules are presented by some authors as linear/additive rules. In case of block cellular automata and partitioned cellular automata, which have been briefly discussed in Section 2.2, presentation of local rules is altogether different. The rule (block rule) of block CA does not change individual cells of the CA, rather it looks at the content of the block and updates the whole block. Toffoli and Margolus (1987) have described such rule in their book. For partitioned CAs, on the other hand, each cell is divided into several parts and the next state of each cell is determined by the states of the adjacent parts of the neighbor cells. Fig. 4 shows a triangular partitioned CA and its rule, which is explored by Morita (2016). Like block CA, the local rule of a partitioned CA updates all the parts of a cell. Unlike traditional CA, however, the local rule does not consider the present states of the neighbors of a cell, but adjacent parts of neighboring cells (Fig. 4b). Classically, the CAs are uniform, synchronous and deterministic – that is, all cells are updated together with the same local rule. A new class of non-classical CAs have been proposed where cells can follow different rules. These CAs are known as hybrid or non- uniform CAs. Historically, this class of CAs assume that the rules are the ECAs rules only. Pries et al (1986); Hortensius et al (1989b); Chaudhuri et al (1997), and many others have explored these CAs, which are one-dimensional and finite. In this case, one needs to define the local rules for individual cells; hence she needs a rule vector R. 10 Kamalika Bhattacharjee et al.

(a) Triangular Partitioned CA (b) A local rule

Fig. 4: Triangular partitioned CA and its rule (as given by Morita (2016)). The rule is rotation symmetric

Definition 6 Let = Z/nZ be the cellular space, where n, a natural number, represents the number of cellsL in the space. A rule vector of a non-uniform CA over is R = hR0,R1,··· ,Rn−1i, where Ri is a rule used by cell i, i ∈ . L L As a proof of concept, let us consider a 5-cell non-uniform CA with rule vector R = h90,150,90,5,150i. This implies that the first and third cells use ECA rule 90, second and fifth cells use rule 150, and the fourth cell uses rule 5. This class of CAs are specially uti- lized in VLSI design and test. Another type of CA, called a programmable CA (with respect to VLSI design), exists, where a cell can chose a distinct local rule at every time instant, see for example Nandi et al (1994). Nevertheless, a special kind of CAs have also been in- troduced where a CA updates itself in asynchronous way. In short, non-classical CAs have gained popularity in recent times. Section 5 and Section 6 are dedicated to discuss these non-classical CAs.

3 Characterization tools of Cellular Automata

In , Wolfram (2002) has argued that, to find out how a particular CA will behave, one has to observe what is happening just by running the CA. Predicting behav- ior of a system by means of (mathematical) analysis and without running it is only possible, according to Wolfram, for special systems with simple behavior (page 6 of Wolfram (2002)). In spite of this observation of some CAs researchers, a few characterization tools and pa- rameters have been proposed in different time to analyze and predict the behavior of some CAs. Needless to say, all kind of dynamic behaviors of a CA may not be analyzed by a tool, but tools are used to discover some specific properties of a CA. In this section, we survey the characterization tools and parameters, developed till date to analyze the CAs. Tools are mainly developed for one-dimensional CAs, and for two or higher dimensional CAs, “run and watch” is the primary technique to study the behavior. Though, few parameters are proposed which can be used to guess the behavior of two or higher dimensional CAs.

3.1 De Bruijn graph

In the different development phases of CAs, graph theory has played an important role. One of the roles is describing the evolution of an automaton, and another is relating local A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 11

01 01

1 1

00 11 0 00 0 0 11 0

1 1 10 10

(a) The de Bruijn graph B(2,{0,1}) (b) De Bruijn graph for rule 90

Fig. 5: The de Bruijn Graph of CA with rule 90 (2nd row of Table 1) properties to global properties. As an automaton has states which are mapped to another states using overlapping neighborhood sequence, it is very obvious to treat it by shift register. So, de Bruijn graph is considered as an alternative characterization tool.

Definition 7 Let Σ be a set of symbols, and s ≥ 1 be a number. Then, the de Bruijn graph is B(s,Σ) = (V,E), where V = Σs is the set of vertices, and E = {(ax,xb)|a,b ∈ Σ,x ∈ Σs−1} is the set of edges.

Fig. 5a shows the de Bruijn graph B(2,{0,1}). A de Bruijn graph has ms vertices, con- sisting of all possible length-m sequences of Σ, where m is the number of symbols in Σ. This graph is balanced in the sense that each vertex has both in-degree and out-degree s. A one-dimensional CA can be represented by a de Bruijn graph. Let us consider s = N − 1 and Σ = S, where N is the size of neighborhood and S is the state-set of a 1-D CA (see Definition 1). The edges (ax,xb) of B(N − 1,S) show the overlap of nodes and (axb) ∈ SN . Now label each edge (ax,xb) of B(N − 1,S) by f (axb) ∈ S, where f is the local rule. This labelled graph represents a one-dimensional CA with rule f , state set S, and neighborhood size N. Since this graph does not relate to the lattice size, de Bruijn graph can be used to study finite and infinite 1-D CAs. Fig. 5b is the de Bruijn graph for ECA rule 90 (whereas Fig. 5a is a graph for any ECA). This graph shows that if the left, self and right neighbors of a cell are all 0s, then next state of the cell (that is, f (0,0,0)) is 0, if the neighbors are 0,0 and 1 respectively, the next state is 1, and so on. In his work, Sutner (1991) has defined s-fusion operation, which is equivalent to labelling an edge in above manner. Over the years, this graph has been used by various researchers to understand global behavior, like surjectivity and reversibility, number conservation, equicontinuity etc. of 1- dimensional CAs, see for example Sutner (1991); Soto (2008); Voorhees (2008). In Martinez et al (2008), ECA 110 has been explored to determine a glider-based regular expressions. Mora et al (2008) have studied cyclic properties and inverse of a CA using pair diagram of de Bruijn graph. Betel et al (2013) have used de Bruijn graph to solve the problem. Recently, Mariot et al (2017) have studied the periods of pre-images of spatially periodic configurations in surjective CA using de Bruijn graphs. The de Bruijn graphs are traditionally used to represent and study classical CAs. How- ever, in recent past, Dennunzio et al (2013b) have shown that de Bruijn graph can also be used to represent non-uniform CAs. 12 Kamalika Bhattacharjee et al.

3.2 Matrix algebra

Unlike de Bruijn graph, matrix algebra can represent only finite CAs. In fact, this character- ization tool has been developed by Das et al (1990a) to study the behavior of 1-D hybrid or non-uniform CA that uses only linear ECA rules (see Section 2.5). A non-uniform CA is lin- ear/additive if all of its local rules are linear/additive. So non-uniform finite linear/additive CAs can be characterized by matrix algebra. Chaudhuri et al (1997) have provided a good account of works on linear/additive non-uniform finite CAs in their book.

Table 2: Linear and complemented rules

Rule Linear Rule Complement (With XOR logic) (With XNOR logic)

60: Si(t + 1) = Si−1(t) ⊕ Si(t) 195: Si(t + 1) = Si−1(t) ⊕ Si(t) 90: Si(t + 1) = Si−1(t) ⊕ Si+1(t) 165: Si(t + 1) = Si−1(t) ⊕ Si+1(t) 102: Si(t + 1) = Si(t) ⊕ Si+1(t) 153: Si(t + 1) = Si(t) ⊕ Si+1(t) 150: Si(t + 1) = Si−1(t) ⊕ Si(t) ⊕ Si+1(t) 105: Si(t + 1) = Si−1(t) ⊕ Si(t) ⊕ Si+1(t) 170: Si(t + 1) = Si+1(t) 85: Si(t + 1) = Si+1(t) 204: Si(t + 1) = Si(t) 51: Si(t + 1) = Si(t) 240: Si(t + 1) = Si−1(t) 15: Si(t + 1) = Si−1(t)

A binary linear rule f can be expressed as XOR of input variables. For example, ECA rule 90 is a linear rule, and f90(x,y,z) = x ⊕ z. All the linear ECA rules can similarly be expressed by XOR logic. Table 2 shows such expressions, which is reproduced directly from Chaudhuri et al (1997). However, if we look at the XORed expression of ECA rule 90, it is understood that a cell of ECA 90 depends on left and right neighbors only. When characterized by matrix algebra, a binary finite (uniform/non-uniform) CA is represented by a matrix, and then this neighborhood dependency is taken care of. Let us consider a binary finite (uniform/non-uniform) CA having n cells. This CA is represented by an n×n characteristics matrix operating on GF(2) In this matrix, the ith row represents the dependency of the ith cell to its neighbors. The characteristics matrix (T), in this case, is formed as:

 1 if the next state of the ith cell depends on the present state of the jth cell ” “ T [i, j] = 0 otherwise (2) The non-uniform CAs can use different rules in different cells, hence we need a rule vector to specify the rules against cells (see Definition 6). Let us take a 4-cell non-uniform CA with rule vector R = h150,150,90,150i under null boundary condition. Then, the char- acteristics matrix of the CA is: 1 1 0 0 1 1 1 0 T =   0 1 0 1 0 0 1 1 A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 13

Here, third cell’s rule is 90, hence depends on left and right neighbors only (see Table 2). So, the third row of the T is 0 1 0 1. Since boundary condition is null, left neighboring cell of first cell and right neighboring cell of last cell are missing. The global transition function of such a CA can be expressed by T. Let us consider x and y be two length-n configurations of an n-cell linear CA, and x be the successor of y. Then, y = T ·x, where x and y are considered as vectors. The matrix T, however, can be used to efficiently study the reversibility properties, convergence etc. of a linear (uniform/non- uniform) CA. We briefly discuss this study in Section 6.1. Originally, the matrix T is defined for 3-neighborhood binary CAs. Latter, Sikdar et al (2000, 2001) have extended this tool to represent 3-neighborhood, non-binary, finite CAs. However, the authors have assumed that the states of the cells are the elements of GF(2p). ··· qr These CAs are also linear, and named as hierarchical CAs. Further, CAs over GF(2p ) are also designed by Sikdar et al (2002). Apart from 3-neighborhood dependency, 5-neighbor dependent linear CAs are also stud- ied by matrix algebra. For example, Martın del Rey and Rodrıguez Sınchez (2011) have studied reversibility of such binary CAs with null boundary condition. Whereas, Cinkir et al (2011) have studied reversibility of linear CAs with periodic boundary conditions over Zp, where p ≥ 2 is a . For 2-dimensional linear CAs also, a list of works are re- ported using matrix algebra as characterization tool, see Chattopadhyay et al (1999); Siap et al (2011); Uguz˘ et al (2013, 2014).

3.3 Reachability tree

Like matrix algebra, the reachability tree has been proposed to study 1-D non-uniform finite CAs that use only ECAs rules in their rule vectors. Unlike matrix algebra, reachability tree can represent non-uniform non-linear CAs. Das et al (2004) have first used this tool to study non-uniform finite CAs under null boundary condition. In this section, we first define reachability tree for an n-cell non-uniform CA with rule vector R = hR0,R1,··· ,Rn−1i under null boundary condition, where each rule Ri, i ∈ {0,1,··· ,n − 1} is an ECA rule. Recall that an ECA rule can be considered as a collection of RMTs (see Definition 5) i along with their next state values. Let us denote the set of RMTs of Ri as Z8. That is, i Z8 = {0,1,2,3,4,5,6,7}. However, under null boundary condition, RMTs 4, 5, 6 and 7 of 0 n−1 R0 (similarly, RMTs 1, 3, 5 and 7 of Rn−1) are invalid. So, Z8 = {0,1,2,3}, and Z8 = {0,2,4,6} for null boundary condition.

Definition 8 The reachability tree of an n-cell CA with rule vector hR0,R1,··· ,Ri,··· ,Rn−1i under null boundary condition is a rooted and edge-labeled binary tree with n + 1 levels, where Ei.2 j = (Ni. j,Ni+1.2 j,li.2 j) and Ei.2 j+1 = (Ni. j,Ni+1.2 j+1,li.2 j+1) are the edges be- i i+1 tween nodes Ni. j ⊆ Z8 and Ni+1.2 j ⊆ Z8 with label li.2 j ⊆ Ni. j, and between nodes Ni. j i+1 i and Ni+1.2 j+1 ⊆ Z8 with label li.2 j+1 ⊆ Ni. j respectively (0 ≤ i ≤ n − 1, 0 ≤ j ≤ 2 − 1). Following are the relations which exist in the tree:

0 1. [For root] N0.0 = Z8 = {0,1,2,3}. 2. ∀r ∈ Ni. j, RMT r of Ri is in li.2 j (resp. li.2 j+1), if Ri[r] = 0 (resp. 1). That means, i li.2 j ∪ li.2 j+1 = Ni. j (0 ≤ i ≤ n − 1, 0 ≤ j ≤ 2 − 1). 3. ∀r ∈ li. j, RMTs 2r (mod 8) and 2r + 1 (mod 8) of Ri+1 are in Ni+1. j (0 ≤ i ≤ n − 3, 0 ≤ j ≤ 2i+1 − 1). n−1 4. [For level n − 1] ∀r ∈ ln−2. j, RMT 2r (mod 8) of Rn−1 is in Ni+1. j (0 ≤ j ≤ 2 − 1). 14 Kamalika Bhattacharjee et al.

0,1,2,3 N0.0 E 0.0 E0.1 (1,3) (0,2) 0 1 N1.0 N1.1 2,3,6,7 0,1,4,5 E E 1.0 E1.1 E1.2 1.3 (2,7) (3,6) (1,4,5) (0) 0 1 0 1 N2.0 N2.1 N2.2 N2.3 4,5,6,7 4,5,6,7 0,1,2,3 0,1

(4,5) (6,7) (4,5) (6,7) (0,1,2) (3) (0,1) 0 1 1 0 1 0 1 0

0,2 4,6 0,2 4,6 0,2,4 6 0,2

(0,2) (4,6) (0,2) (4,6) (0,2) (4) (6) (0,2)

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Fig. 6: Reachability Tree for null boundary 4-cell non-uniform CA with rule vector R = h5,73,200,80i

n 5. [For level n] Nn, j = /0,for any j, 0 ≤ j ≤ 2 − 1.

Informally, we can state the reachability tree construction in the following way: Form the root with RMTs 0, 1, 2 and 3 of R0. Out of the 4 RMTs, the RMTs having next state value 0 are in the label of left edge of the root, and the rest RMTs are in the right edge. Now we can get the nodes of level 1: if an RMT r is in a label of an edge, then put the RMTs 2r (mod 8) and 2r + 1 (mod 8) of R1 in the node which is connected by the edge. Similarly, we can get next edges and nodes of level 2, and of level 3, etc. However, for the last rule, that is Rn−1, all RMTs are not present in null boundary condition. So, only even RMTs of Rn−1 can be in the nodes of level n − 1. Finally, we get the leaves, which are empty. Fig. 6 shows an example of reachability tree of a 4-cell non-uniform CA with rule vector R = h5,73,200,80i under null boundary condition. The root is a set {0, 1, 2, 3}, and the leaves are empty. It can be observed in the figure that the edges between the nodes of two consecutive levels are formed after applying the corresponding rule on the RMTs. However, an edge Ei.2 j (resp. Ei.2 j+1) is called as 0-edge (resp. 1-edge). In Fig. 6, 0-edges and 1-edges are marked. Reachability tree represents reachable configurations of a CA. A configuration is reach- able if it has at least one predecessor; otherwise it is a non-reachable (or Garden-of-Eden) configuration. A sequence of edges from root to a leaf represents a reachable configuration when 0-edges and 1-edges are replaced by 0 and 1 respectively. For example, the configura- tion 0011 of the CA of Fig. 6 is reachable. In Fig. 6, some edges (and nodes) are shown by dotted lines. These edges do not exist in the tree. So, a configuration 1110, for example, is non-reachable. Reachability tree has been utilized to discover many properties of above class of non- uniform CAs, such as reversibility, convergence, etc., see for example Das (2007); Adak et al (2016). We discuss some of these discoveries in Section 6.2. When boundary condition changes, the structure of reachability tree also changes. Das and Sikdar (2009) have first developed this structure to study reversibility of non-uniform CAs under periodic boundary condition. Recently, reachability tree is extended by Bhat- tacharjee and Das (2016) to study 1-D non-binary finite CAs. A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 15

3.4 Z-Parameter, λ-Parameter, Θ-Parameter

There are some parameters that can be used to characterize some aspects of one-dimensional CAs, such as the λ parameter, the Z parameter, and the obstruction (Θ) parameter. The λ, Z, and Θ parameters are proposed respectively by Langton (1990), Wuensche (1994, 1998) and Voorhees (1997). For a d-state CA with radius r, if m out of the total d2r+1 = m neighborhood configurations map to a non-quiescent state, then λ is defined as: λ d2r+1 , that is, the percentage of all the entries in a rule table which maps to non-quiescent states. This parameter can be compared with temperature in statistical physics, or the degree of non-linearity in dynamical systems, although these are not equivalent (Li et al (1990)). To track behavior of binary CAs, Z parameter is proposed as an alternate. It takes into account the allocation of rule table values to the sub-categories of related neighborhoods and predicts the convergence of global behavior, extremes of local behavior between order and chaos, surjectivity etc. From a given partial pre-image of a CA state, values of the successive cells can be deduced using this parameter. Two probabilities – Zle ft and Zright of the next unknown cell being deterministic are calculated from the rule-table. The Z parameter is the greater of these values and varies between 0 & 1. A derivation of the Z parameter in terms of rule table entries is also given in Wuensche (1998). High value of Z implies that number of pre-images of an arbitrary CA state is relatively small. In Voorhees (1997), the Θ parameter is defined and shown to characterize the degree of non-additivity of a binary CA rule. It is shown that the λ parameter and Θ parameter are equal respectively to the area and volume under certain graphs. These parameters prove their utilization in classification of one-dimensional binary CAs.

3.5 Space-time diagram and Transition diagram

Although neither of space-time diagram and transition diagram (or state-transition diagram) is a characterization tool, but these two diagrams have been used to observe and predict the behavior and dynamics of a CA. These diagrams are finite in size. So, for the CAs with infinite or big sizes, only a part of the whole systems can be viewed through these diagrams. Space-time diagram is the graphical representation of the configurations of a CA at each time t. Here, the configuration lies on x-axis and y-axis represents time. Each of the CA states are generally depicted by some color (see Fig. 7a). So, the evolution of the CA can be visible from the patterns generated in the state-space diagram. This has been used to study the nature of CA in a set of papers, see for example Wolfram (2002); Dennunzio et al (2014a). Some packages are available in public domain which can be used to observe space-time diagrams of CAs - Fiatlux (see Fatés (2017)) is one of them. Transition diagram, also called as state transition diagram, of a CA is a directed graph whose vertices are the configurations of the CA, and an edge from a configuration y to another configuration x represents that x is the successor of y (see Fig. 7b). Sometime the directions are omitted if they can be understood from the context. Transition diagrams are heavily used in the works of Chaudhuri et al (1997). It can be noted that, the dynamic behavior of any CA can also be visualized and studied using its transition diagram. Discrete Dynamics Lab, an online laboratory (Wuensche (2017)), is a good place to get transition diagrams of CAs. 16 Kamalika Bhattacharjee et al.

11 14 12 4 9 10 15 1 0 6 3 13 5 2 8 7

(a) Space-time diagram (b) Transition diagram

Fig. 7: Space-time diagram and transition diagram of n-cell ECA 90 (2nd row of Table 1) under periodic boundary condition. For (a), cell length n = 51, and black implies state 1 and white implies state 0. For (b), n = 4, and the configurations are in their decimal form.

4 Global behavior of Cellular Automata

The most exciting aspect of CAs is their complex global behavior, which is resulted from simple local interaction and computation. The CAs have many elementary properties of the real world, such as reversibility and conservation laws, chaotic behavior, etc. These prop- erties motivate researchers to simulate physical and biological systems by CAs. Vichniac (1984) has targeted to simulate physics by CAs. Lattice gases (Frisch et al (1986)), Ising spin models (Grinstein et al (1985)), traffic systems (Kerner (2004); Matsukidaira and Nishinari (2003)) etc. are also simulated using CAs. The book of Chopard and Droz (1998) shows about these works. Apart from the ability of modelling physical world, the CAs are capable of performing several computational tasks. In this section, we survey some of the global behaviors of CAs such as universality, reversibility, conservation laws, computability, etc.

4.1 Universality

The first feature that has attracted the researchers is the capability of CAs in performing universal computation. An arbitrary Turing machine (TM) can be simulated by a CA, so universal computation is possible by CA. The universality of CAs has been first studied by Thatcher (1964); Arbib (1966); Banks (1970). However, the idea of simulating TM does not use the parallelism property of a CA. In Smith (1971b), the existence of computation- universal cellular spaces with small neighbor-state product is proved. Later, Morita and Harao (1989); Dubacq (1995) have shown the procedure of simulating a TM by a reversible CA. Computation universality of one-way CAs and totalistic CAs are also reported by Albert and Culik II (1987). Computational universality is also shown following very simple rules, such as Game of Life (Gardner (1971)), the billiard ball computer (block CAs) (Durand- Lose (1998)). The existence of computation-universal one-dimensional CA with 7-states per cell for radius r = 1 and 4-states per cell for r = 2 is proved in Lindgren and Nordahl A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 17

(1990). A very simple automaton, ECA 110 of Wolfram (1984) is shown as computationally universal by Cook (2004). Apart from simulating a Turing machine, a CA can simulate another CA. If a CA can simulate all CAs of the same dimension, it is called intrinsically universal (Kari (2005b)). The smallest intrinsically universal CA in one-dimension is reported in Ollinger (2003). For two dimension, nonetheless, the same is a 2-state and 5-neighborhood CA (Banks (1970)). Some other notable related works are Martin (1994); Ollinger (2002).

4.2 Invertibility and reversibility

For long, the questions of invertibility have been the major focus of research in CAs. If the global transition function G of a CA is one-to-one, the CA is termed as an injective CA. However, it is called surjective if the function is onto and bijective if G is both onto and one- to-one. The study of reversibility of CA was started with Hedlund (1969) and Richardson D D (1972). From Hedlund (1969), we get that a function G : SZ → SZ is the global transition function of a D-dimensional (infinite) CA if and only if G is continuous, and it is shift- equivalent (this result is known as Curtis - Hedlund - Lyndon Theorem). As a consequence of this result, we get that a CA G is reversible if and only if it is a bijective map. In fact, Hedlund and Richardson independently proved that all injective CAs are reversible. In their seminal paper, Amoroso and Patt (1972) have shown an effective way to decide reversibility of 1-dimensional infinite CA, on the basis of the local rule. In Di Gregorio and Trautteur (1975), a decision algorithm is reported for CAs with finite configurations. An ele- gant scheme based on de Bruijn graph for deciding the reversibility of a one dimensional CA is presented in Sutner (1991). However, Kari (1990) has shown that no algorithm can decide whether or not an arbitrary 2-D CA is reversible. This result can also be extended to higher dimensional CAs. An interesting result has been reported by Toffoli (1977), which says, a (D + 1)-dimensional reversible CA can simulate any D-dimensional CA. Later, Morita and Harao (1989); Morita (1995) have shown that a 1-D reversible CA can simulate reversible Turing machines as well as any 1-D CA with finite configurations. Since reversible Turing machines can be computationally universal, we can find universal 1-D reversible CA. Some other notable works on reversible CAs are Maruoka and Kimura (1979); Culik (1987); Du- rand (1993); Kari (1994, 2005a); Moraal (2000); Mora et al (2006); Soto (2008); Morita (2008). However, all the works reported above deal with infinite CAs. In case of finite CAs, things are bit different. For example, the algorithms of Amoroso and Patt (1972) can not successfully work on finite CAs. Martın del Rey and Rodrıguez Sınchez (2011); Cinkir et al (2011) have studied reversibility of 1-D linear finite CAs having only two states. Recently, Bhattacharjee and Das (2016) have reported an algorithm to decide the reversibility of 1-D finite CAs. The reversibility of 1-D non-uniform CAs has also deeply studied. We discuss about these studies in Section 6.

4.3 Garden-of-Eden

One of the earliest discovered results on CAs was the Garden-of-Eden theorems by Moore (1962) and Myhill (1963). Injectivity and surjectivity properties of CA are correlated by these theorems. A configuration is named as a Garden-of-Eden configuration, if it does not have a predecessor; that is, if it is a non-reachable configuration. In 1962, Moore has shown 18 Kamalika Bhattacharjee et al.

that the existence of mutually erasable configurations in a two-dimensional CA is sufficient for the existence of Garden-of-Eden configurations (Moore (1962)). He has also claimed that existence of a configuration with more than one predecessors ensures existence of another configuration without any predecessor. However, in Myhill (1963), the reverse was proved. He has shown that the extant of mutually indistinguishable configurations is both necessary and sufficient for the extant of Garden-of-Eden configurations. In Amoroso and Cooper (1970), the equivalence between the existence of mutually erasable configurations and mutually indistinguishable configurations has been established. This implies that the converse of Moore’s result is true as well. It has also been shown in the paper that, for finite configurations (Definition 2) both of the above conditions remain sufficient, but neither is then necessary. For finite configurations, a CA is irreversible if and only if a Garden-of-Eden configuration exists. And, a CA is surjective, if and only if it is bijective (Amoroso and Cooper (1970)). So, the existence of Garden-of Eden configurations violates the injectivity property. The relation between global function of infinite CA and its restriction to finite configurations has been established in Richardson (1972). Some other important results are listed in Maruoka and Kimura (1976); Sato and Honda (1977); Toffoli and Margolus (1990); Kari (2005b). Garden-of-Eden theorems for CAs have further been extended to Cayley graphs of groups by Machì and Mignosi (1993); Ceccherini-Silberstein et al (1999). In Capobianco (2007), the surjectivity and surjunctivity of CA in Besicovitch topology is recoded. More- over, in Margenstern and Morita (1999, 2001), CA is defined in hyperbolic plane. In Mar- genstern (2009), it is depicted that, the injectivity and surjectivity properties, proved by Moore and Myhill, are no longer valid for CAs in the hyperbolic plane.

4.4 Topology, dynamics and chaotic behavior of CAs

The global transition function G of an infinite CA is a continuous map on the compact metric D space SZ according to the topology induced by the metric d. This metric d is usually con- sidered as the Cantor distance. Therefore, a CA can be viewed as a discrete time dynamical D system hSZ ,Gi. So, the (infinite) CAs can be studied by topological dynamics and chaos theory. Many definitions of chaos, however, use the notion of sensitivity to initial condition. A CA is sensitive to initial condition, or simply sensitive if and only if there exists a δ > 0 such D D n n that, ∀x ∈ SZ ∀ε > 0 ∃y ∈ SZ ∃n ∈ N : d(x,y) < ε and d(G (x),G (y)) ≥ δ. That is, in a sensitive CA, a (small) change in initial condition would greatly affect the CA in future. A popular definition of chaos is due to Devaney (1986), which says that a dynamical system is chaotic if and only if it is transitive, has dense periodic points, and sensitive to initial conditions. However, a CA is transitive if and only if for any two non-empty open D subsets U and V of SZ , there exists an n ∈ so that Gn(U) ∩V 6= /0.Further, a CA has N D dense periodic points if and only if the set {x ∈ SZ |∃k ∈ : Gk(x) = x} of all periodic D N points is a dense subset of SZ . It has been proved by Codenotti and Margara (1996) that for CAs, transitivity implies sensitivity to initial condition. So, a CA is chaotic in Devaney’s sense if and only if it is transitive and has dense periodic points. Apart from the Devaney’s definition, there are more restrictive definitions of chaos, such as Knudsen chaos, positively expansive chaos, etc. A CA is chaotic according to the definition of Knudsen if and only if it has a dense orbit and sensitive to initial con- ditions. The CA G has a dense orbit if and only if there exists a configuration x so that A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 19

D n ∀y ∈ SZ ∀ε > 0 ∃n ∈ N : d(G (x),y) < ε. On the other hand, a CA is positively expan- sive chaotic if and only if it is transitive, has dense periodic points, and positively expansive. Positive expansivity is a stronger form of sensitivity. A CA is positively expansive CA if and only if there exists a δ > 0, such that for any two different configurations x and y, n n d(G (x),G (y)) ≥ δ for some n ∈ N. However, these definitions of chaos are related. The chaotic behavior of CAs are studied by a number of works; some examples are Mitchell et al (1993); Cattaneo et al (1999, 2000); Acerbi et al (2009). Based on their dynamic behavior, CAs are classified into different classes. One such classification, depending on their degree of equicontinuity, is due to Kurka (1997). A con- D figuration x ∈ SZ is an equicontinuity point of the CA if for every ε > 0, there is a δ > 0 D n n such that ∀y ∈ SZ : d(x,y) < δ implies d(G (x),G (y)) < ε for all n ∈ N. Now, a CA is called equicontinuous if all configurations are equicontinuity points. There is a connection between sensitivity and equicontinuity points of a CA: a CA G is sensitive to initial condi- tions, if the CA does not have any equicontinuity points. Following is the classification of Kurka: (1) equicontinuous CAs, (2) CAs with some equicontinuity points, (3) sensitive but not positively expansive CAs, and (4) positively expansive CAs. Durand et al (2003b) have studied the decision problems to determine whether a given CA belongs to a given class, and they have shown that most of the problems are undecidable. However, for the additive CAs, Dennunzio et al (2009) have studied the directional dynam- ics, and then classified them. Apart from the above work, there are many other works, specially for the 1-D case, that target to classify CAs depending on their dynamical behavior. Wolfram (1984) has reported a classification of ECAs without considering a precise mathematical definition. Culik and Yu (1988) have formalized Wolfram’s classification. In fact, different parameters, discussed in Section 3.4, have been developed to classify the CAs depending on their chaotic behavior. For the two-dimensional space, the generalization of the parameters – sensitivity, neighborhood dominance and activity propagation, is reported in de Oliveira and Siqueira (2006). Another studied behavior of CAs is nilpotency. A CA is nilpotent if for each configu- ration x, Gn(x) = c is a singleton set for sufficiently large n. Obviously, c is a fixed point. Culik et al (1990) have shown that for two or more dimension, the nilpotency of CAs is un- decidable. The same result for 1-D CAs has been proved by Kari (1992). Some more works to study the dynamical properties of CAs, using expansivity, subshift, homomorphism auto- morphisms and endomorphisms are reported in Blanchard and Maass (1997); Ward (1994). Shereshevsky (1992) has defined the left and right Lyapunov exponents for 1-dimensional CAs. Finelli et al (1998) generalized the theory of Lyapunov exponents for D-dimensional CAs and proved that all expansive CAs have positive Lyapunov exponents for almost all the phase space configurations.

4.5

Stephen Wolfram (1985) has introduced CAs as an excellent source of pseudo-randomness. Massive parallelism, simplicity and locality of interactions of CAs, offer many benefits over other techniques, specially in case of hardware implementation. These benefits along with 20 Kamalika Bhattacharjee et al. pseudo-randomness have made CAs as an area of extensive research in VLSI circuit testing (see for example Hortensius et al (1989b); Chaudhuri et al (1997); Das and Sikdar (2010)), Monte-Carlo simulations (see Saraniti and Goodnick (2000)), Field Programmable Gate Arrays (see as example Comer et al (2012)), cryptography (see as example Wolfram (1986a); Das and Chowdhury (2013, 2011); Formenti et al (2014); Leporati and Mariot (2014)) etc. In fact, the most appealing application of pseudo-randomness of CAs is in the domain of cryptography. We briefly discuss these applications in Section 7. However, most of the works on pseudo-randomness have been divided in mainly two directions: – Most of the research have been going on in the first direction, to generate pseudo- random numbers using CAs. Here, generally an integer Xi is generated between zero and Xi some number m (word size of the computer), where the fraction Ui = m is the real num- ber, uniformly distributed between 0 and 1. This number can be generated in several ways. For example, in Wolfram (1986b), the sequence is generated by ECA 30 from the single cell with initial state 1 among all cells, initiated with state 0. In a recent work, Bhattacharjee et al (2017) have used a 3-state 3-neighborhood 1-D CA, and considered a small window of cells. The base-3 numbers, observed through the window, are considered the pseudo-random num- bers. Sometime whole configurations of a finite CA are also considered as numbers. Some other works of generating pseudo-random numbers are Tomassini et al (2000); Alonso-Sanz and Bull (2009). In Sipper and Tomassini (1996); Wang et al (2008), some optimization algorithms are applied to CAs, whereas in Guan and Zhang (2003); Guan and Tan (2004) dynamic behavior is allowed in the cells to generate the pseudo-random numbers. – In the second direction, pseudo-random patterns are generated using finite CAs. Here, pattern means the configuration of a CA of length n, where each cell can take any of the CA states. Note that, in a pattern, individual cell values have significance. For example, a sequence h0110i can be a treated as a number 6, but in case of pattern, it is “0110”. Some notable works on pseudo-random pattern generation using non-uniform CAs are in Das et al (2003b); Das (2007). Here finding of the minimum cell length is important. For example, in Das (2007), a 45-cell CA based pseudo-random pattern generator (PRPG) is designed which beats all existing PRPGs.

4.6 Conservation law

Apart from reversibility, there exist other conservation laws, which are equally important in physics. Various direction of conservation (invariants) laws in CAs are reported in Fredkin and Toffoli (1982); Pivato (2002); Boccara and Fuks´ (2002). Among them number conserv- ing CAs (NCCAs) are the most studied and used concept. Let us interpret the states of cells as numbers. Then, a CA is an NCCA if the sum of the states remains invariant during evolu- tion of the CA. NCCAs are defined with respect to the spatially periodic configurations and finite configurations. Boccara and Fuk´s have given the necessary and sufficient conditions of a 1-D CA to be NCCA, initially for 2 states per cell in Boccara and Fuks´ (1998) and then for any arbitrary number of states in Boccara and Fuks´ (2002). In Pivato (2002), a gen- eral treatment to conserved quantities in 1-D CA is reported. Fuk´s has shown that motion representations can be constructed by 1-D binary NCCAs. Fuks´ (2004) has also extended the work to probabilistic CAs. NCCAs in higher dimensions are also studied by Durand et al (2003a). Further, universality and other dynamics of NCCAs are explored in Moreira (2003); Formenti and Grange (2003). NCCAs have widely appeared as the models of highway traffic. The notable works in this regard are Nagel and Schreckenberg (1992); Nagel (1996); Matsukidaira and Nishinari A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 21

(2003); Kerner (2004). Kohyama (1989, 1991) has used NCCAs for particle conservation. In 2-dimension, the Margolus CA is a number conserving CA; see Margolus (1984). Apart from NCCAs, additive conserved quantities in CAs are introduced and investigated in Hat- tori and Takesue (1991). In Takesue (1995), a necessary and sufficient condition for a given CA rule to profess a staggered invariant is studied. In Morita and Imai (1998); Morita et al (1999), the computational universality of partitioned number-conserving (and reversible) CA is shown by simulating a universal counter machine. However, these CAs are not ex- actly the same as NCCAs, because reducing a partitioned CA to a non-partitioned one is not number preserving. The concept of extending conserved quantities to that of mono- tone quantities was presented in Kurka (2003), considering CAs with vanishing particles. Number conserving property of CAs has also been studied by applying the communication complexity approach; see for example Goles et al (2011). In Das (2011), non-uniform NCCAs are characterized. This paper has reported O(n) time algorithms for verification and synthesis of an n-cell non-uniform NCCA. Dennunzio et al (2014a) have given a generalized definition of number conservation of non-uniform CAs. Further, number conservation property of ECA under asynchronous update has been studied in Hazari and Das (2014).

4.7 Computational tasks

In the CAs literature, two domains related to computation are mostly studied: density classi- fication task and synchronization problems. The problem statement of density classification can be summarized as follows - any initial configuration having more 1s (0s) than 0s (1s) must converge to all 1s (0s) configuration. However, Land and Belew (1995) have proved that it is impossible to solve this problem with 100% accuracy. Because of the impossibility of solving the standard density classification task, research efforts have shifted towards find- ing the best rule which can solve the problem almost perfectly – for one-dimensional CA by Kari and Le Gloannec (2012), for two-dimensional CA by Morales et al (2001); de Oliveira and Siqueira (2006), for non-uniform CA by Maiti et al (2006) and stochastic CA by Fatès (2013). However, Fuks´ (1997) has shown that the density classification task is solvable by running in sequence the trivial combination of elementary rules 184 and 232. A good survey about the problem can be found in de Oliveira (2013). The synchronization problems, like firing squad, queen bee, firing mob, etc. are studied by CAs. The goal of firing squad synchronization problem is designing a CA, which ini- tially has one active cell and evolves to a state, where every cell is simultaneously active. A good number of works on this problem are found in literature; some examples are Noguchi (2004); Umeo et al (2005); Manzoni and Umeo (2014). The firing mob problem, which is a generalization of firing squad problem, is solved by Culik and Dube (1991). However, the queen bee and leader election problems are considered as the inverse problem of firing squad problem. Here, initially states of all cells are identical and by choosing a proper rule, a cell comes to a special state. Smith (1976) has first introduced the problem. Latter the problem has been explored by a number of researchers, such as Mazoyer et al (1999); Beckers and Worsch (2001); Stratmann and Worsch (2002); Banda et al (2015). Another computation problem, named early bird problem has been defined and investi- gated first by Rosenstiehl et al (1972). Here, any cell in the quiescent state may be excited by the outside world. These excitations result in special “bird” states instead of the quies- cent states. The task is to give a transition function such that, after a certain time the first excitation(s) can be distinguished from the latter ones. This problem has been studied by 22 Kamalika Bhattacharjee et al.

Vollmar (1977); Legendi and Katona (1981, 1986). A variation of this problem is the dis- tributed mutual exclusion problem, where some cells of initial configuration are in a special state (called critical section requesting state) and during evolution of the CA, these cells will be in another special state (called critical section executing state) one-by-one. Recently this problem is explored by Roy and Das (2017). Some other computation problems, such as French flag problem (Herman and Liu (1973)), shortest path problem (Adamatzky (1996)), generating discretized circles and parabolae in real time (Delorme et al (1999)) etc. are also discussed in literature.

5 Non-uniformity in cellular automata

Conventionally, all the variants of CAs possess basic three properties - uniformity, syn- chronicity and locality. The uniformity refers to that each of the CA cells are updated by the identical local rule. The synchronicity implies that all the cells are updated simultane- ously; whereas locality refers to that the rules act locally and neighborhood dependencies of each cell is uniform. Note that, the cells perform computation locally, and the global behav- ior of CA is received due to this local computation only. However, synchronicity is a special type of uniformity, where all the cells are updated simultaneously and uniformly. In fact, uniformity is everywhere in CA, in local rule, cell update and in lattice structure. We can summarize this in the following way: – Uniformity in update: all cells are updated simultaneously in each discrete time step. – Uniformity in lattice structure and neighborhood dependency: lattice structure is uni- form and each cell follows similar neighborhood dependency. – Uniformity in local rule: each of the cells updates its state following the same rule. Over the years, researchers have successfully been using classical CA as a modelling tool. However, it has become apparent that many phenomena, such as chemical reactions occurring in a living cell, are found in nature which are not uniform. These new modelling requirements led to a new variant of the CAs. As a result, non-uniformity in CAs has been introduced. Following are the main three variants of non-uniformity in CAs, which we get after relaxing above mentioned constraints of uniformity.

1. Asynchronous cellular automata (ACAs): the cells are not updated at the same (discrete) time step and can be independently updated - breaks the uniform update constraint (dis- cussed in Section 5.1). 2. Automata Network: the CA is on a network and the states of the node evolve with neigh- borhood defined by the network - breaks uniform neighborhood constraint (discussed in Section 5.2). 3. Hybrid or non-uniform cellular automata: cells can assume different local transition functions - breaks uniform local rule constraint (discussed in Section 5.3).

5.1 Asynchronous Cellular Automata (ACAs)

Like other synchronous systems, a CA also assumes a global clock which forces the cells to get updated simultaneously. This assumption of global clock is not very natural, and is relaxed in ACAs. The concept of ACAs and their computational ability has first been developed by Nakamura (1974), it has further been studied by Golze (1978); Nakamura A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 23

(1981); Hemmerling (1982); Ingerson and Buvel (1984); Le Caër (1989). ACAs have been developed on two-dimensional grid by Cori et al (1993) to report the concurrent situations emerged in distributed systems. The word ‘asynchronism’ means that the parts of the system do not share the same time. In asynchronous CAs, cells are independent and so, during the evolution of the system, the cells are updated independently. There are several interpretations on the way of applying asynchronism. By simplifying, it can be said that asynchronism is to break the perfect update scheme. The main asynchronous updating schemes found in literature are fully asynchronous updating and α-asynchronous updating. – Under fully asynchronous updating scheme, a cell is chosen uniformly and randomly at each time step to update. That is, at each step, only one cell is updated. – In α-asynchronous updating scheme, each cell is updated with probability α. This im- plies that a cell does not apply the rule with probability 1 − α, and stays in its old state. The parameter α is known as synchrony rate. Obviously, when α = 1, the CA becomes syn- chronous. In that sense, the classical CAs are special case of α-asynchronous CAs. Latter, Bouré et al (2012) have used other asynchronous updating schemes: β- and γ-asynchronism. Then, Dennunzio et al (2013a) have developed an m-asynchronous CA and generalized the various updating methods used so far. A survey on asynchronous update schemes can be found in Fatès (2014). In one of the pointing work, Hemmerling (1982) has shown the computation equiva- lence of synchronous and asynchronous cellular space. He has also shown that, any d-state deterministic rule can be simulated by a 3d2 state asynchronous rule with same neighbor- hood dependency. From a different point of view, Golze (1978) has shown that, a (D + 1)- dimensional asynchronous rule can simulate a D-dimensional synchronous rule. Dennunzio et al (2012a) showed how fully asynchronous CA can simulate universal Turing machine. In an early work, Golze and Priese (1982) have shown that ACA can implement Petri net. A Petri net is a directed bipartite graph which is used to model distributed systems. Cori et al (1993) have shown latter that ACAs can be used as models of concurrency and distributed systems. The computing abilities of these ACAs have further been investigated by Pighizzini (1994); Droste et al (2000). As shown by Manzoni and Umeo (2014), ACAs can be used to address firing squad synchronization problem. In Blok and Bergersen (1999), the change that occurs in the Game of Life, when the sites get updated with a given probability, are identified. Ruxton and Saravia (1998) have analyzed the sensitivity of ecological system modelled by simple stochastic cellular au- tomata to spatio-temporal ordering. In Tomassini and Venzi (2002); Fatès (2013), asyn- chronous rules are used to address the density classification problem. Suzudo (2004) has studied the usage of genetic algorithms for determining the mass-conservative (also called number-conserving) asynchronous models that would generate nontrivial patterns. It is thought that reversibility and asynchronism are two opposite terms. However, the question of reversibility in ACAs has been studied by Sarkar et al (2012); Sethi et al (2014). Their approach is to study the possibility of returning back to the initial configuration after a finite number of time steps. These so-called reversible ACAs have been used by Das et al (2012) to generate patterns with specific Hamming distance. These reversible ACAs have further been utilized by Sethi and Das (2016) in symmetric-key cryptography. Mariot (2016) has introduced the notion of asynchrony immunity for CAs that could be used for crytog- raphy. In Manzoni (2012), the dynamical properties of CAs, such as injectivity, surjectivity, permutivity, sensitivity, expansivity, transitivity, dense periodic orbits and equicontinuity are re-defined for the asynchronous CAs. 24 Kamalika Bhattacharjee et al.

Convergence of ECAs to fixed points under fully asynchronous update has been studied by Fatès et al (2006). The convergence time of these ACAs have also been explored in this work. Recently, Sethi and Das (2015); Sethi et al (2016) have further studied the convergence of these ACAs, and have used the convergent ACAs in designing an efficient two class pattern classifier.

5.2 Automata Network

Traditionally, cellular automata consist of a regular network with local uniform neighbor- hood dependency. However, in automata network (also called as cellular automata network), this uniform local neighborhood dependency is relaxed. Here, cellular automata rules allow a cell to have an arbitrary number of neighbors, and thus can be set to work on any given network topology, as shown, for example, in Marr and Hütt (2009). As a matter of fact, the rules of automata networks can not be always local. And, since the non-local and local rules are different, it is, therefore, expected that the non-local rules may lead to different behavior from the conventional local rule-based CAs. Some example works in this regard are Boccara and Roger (1994); Newman and Watts (1999); Yang and Yang (2007). The earliest version of such non-uniformity in neighborhoods are found in Jump and Kirtane (1974); Smith (1976). From the 1990s, networks have been used as an important model for solving different complex problems; see as example Adami (1995); Watts and Strogatz (1998). In fact, after the work of Watts and Strogatz (1998), researchers become more interested on automata networks. As noted by Tomassini (2006), we get a wider class of generalized automata networks by extending standard lattice cellular automata and ran- dom Boolean networks. Tomassini et al (2005); Darabos et al (2007) have shown that au- tomata networks with arbitrary topologies perform better than the regular lattice structures for the majority and synchronization problems. The work of Cori et al (1993), which is a pioneering work on ACAs and which models concurrency and distributed systems, also uses automata network. Yang and Yang (2007) have developed a new type of small-world cellular automata by combining local updating rules with a probability of long-range short-cuts to simulate the interactions and behavior of a complex system. Domosi and Nehaniv (2005) have investigated automata network as algebraic structures and developed their theory in line with other algebraic theories, such as semi-groups, groups, rings and fields. They have also shown a new method for the emulation of the behavior of any (synchronous) automata network by the corresponding asynchronous one. Kayama and Imamura (2011) have shown the network representation of Game of Life, where the char- acteristics is like one of Wolfram’s class IV rules. In Kayama (2012), the network derived from ECAs and five neighbor totalistic CA rules are further reviewed. However, the studies in this area are still at a very early stage.

5.3 Non-uniform CAs or Hybrid CAs

Among the above mentioned models, the most popular and studied model is Hybrid CA or Non-uniform CA, where the cells can use different local rules. The study of the non- uniform CA has been started with Pries et al (1986), where the authors have studied the group properties of 1-dimensional finite CAs under null and periodic boundary conditions. In that work, a special type of non-uniform CAs have been investigated, where the cells use Wolfram’s CAs rules (see Table 1). Since then, however, the major thrust of non-uniform A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 25

Cell 0 Cell i−1Cell i Cell i+1 Cell n−1

INOUT IN OUT IN OUT IN OUT IN OUT (FF) . . .(FF) (FF) (FF) . . . (FF)

...... 0 f0 fi fn−1 0 Combinational null boundary logic null boundary

Fig. 8: Implementation of an n-cell non-uniform ECA under null boundary condition

CAs research has been on this class of CAs, see for example Hortensius et al (1989a); Das et al (1992); Chaudhuri et al (1997); Das and Sikdar (2009). We dedicate the next section to survey this class of non-uniform CAs. In recent years, the generalized definition of non-uniform CAs has been given by Cat- taneo et al (2009); Dennunzio et al (2012b), where the cells may follow different rules with different neighborhood dependencies. Formenti and his colleagues have been investigating this class of non-uniform CAs, and they have identified various sub-classes of these CAs. Some basic global properties of non-uniform CAs, such as surjectivity, injectivity, equicon- tinuity, decidability, structural stability etc. have also been explored by Cattaneo et al (2009); Dennunzio et al (2012b, 2014a); Salo (2014).

6 Non-uniform ECAs

Nowadays, research on non-uniform CAs has gained a popularity. The researchers have been exploring them from various directions, and proposing generalized definition of non- uniform CAs. However, since late 1980s until today, the primary focus of non-uniform CAs research has been on a special class of 1-dimensional CAs, where the cells follow Wolfram’s rules. The main reason of choosing this class of CA is two-fold – (1) Wolfram, in early 1980s, showed the efficacy of 3-neighborhood binary CAs in modelling physical systems and in producing complex global behavior, and (2) ease of implementing Wolfram’s CAs rules in hardware. We call these CAs as non-uniform ECAs, to differentiate them from oth- ers. Since the early days, these CAs are explored targeting some hardware-related problems. Obviously, these CAs are finite. In this section, we discuss only about finite non-uniform ECAs. Fig. 8 shows hardware implementation of an n-cell non-uniform ECA under null bound- ary condition. Here, each cell consists of a flip-flop (FF) to store the state of a cell and a com- binational logic circuit to find the next state of the cell. Due to similarity of this structure with finite state machine, many authors, who have been working with finite non-uniform ECAs, consider these CAs as finite state machine (FSM). As a consequence, these authors call the configurations of CAs as states. As we have discussed, however, different cells of a non-uniform ECA may use different rules, so we need a rule vector R = hR0,R1,···Rn−1i to define these CAs (see Defini- tion 6). Here, cell i uses rule Ri, and Ri is presented as a decimal number as shown in Table 1. Obviously, uniform or classical CAs are special cases of non-uniform CAs where R0 = R1 = ··· = Rn−1. In this section, we will survey the research organized to understand 26 Kamalika Bhattacharjee et al.

the behavior of non-uniform ECAs, with respect to two categories: additive/linear CAs and non-linear CAs.

6.1 Linear/additive CAs

A CA is linear if G, the global transition function of the CA, is linear. There are seven ECAs having rules 60,90,102,150,170,204 and 240 which satisfy the linearity conditions (we have excluded rule 0 from the list, which also satisfies the conditions but a trivial one). These are linear ECAs, and the rules are linear rules (see also Section 2.5). However, there is no additive ECAs other than these ECAs. So in literature, the terms “linear CA” and “additive CA” are used interchangeably. A (finite) non-uniform ECA is linear/additive if and only if each of the rules in rule vector is linear/additive. Since there are 7 linear/additive rules, the rule vector R of a lin- ear/additive non-uniform ECA is to be designed with only these 7 rules. The linear ECAs rules can be expressed by XOR logic (see Table 2, which is reproduced directly from Chaud- huri et al (1997)). A linear/additive non-uniform ECA can also be expressed by characteristic matrix, T. The matrix T is a tri-diagonal matrix, where all elements except the elements of main, upper and lower diagonals are always zero (see Section 3.2). In Das et al (1990a, 1992), the matrix algebraic tool has been used for analyzing state transition behavior of this class of CAs. From the matrix algebraic tool and characteristic polynomial, several interest- ing features of the non-uniform ECAs are derived. Apart from the seven linear/additive rules, there are another seven rules which are com- plement of the seven. These rules are named as complemented rules, see Table 2. The CAs with these complemented rules can also be characterized by matrix algebra. In fact, a CA that uses the fourteen rules, seven linear and seven complemented, can be efficiently char- acterized by algebraic tools, see for example Chaudhuri et al (1997); Ganguly et al (2008)1. However, for these CAs, we additionally need an Inversion Vector along with the character- istics matrix. An inversion vector F for such an n-cell CA is defined as following:

 1, if the ith cell uses a complemented rule F = (3) i 0 otherwise

If a configuration y of the CA is successor of an configuration x, then y = T.x + F. Linear/additive CAs are broadly classified as group CAs and non-group CAs, in litera- ture. Next, we briefly discuss about them.

6.1.1 Group cellular automata

A non-uniform ECA is called a group CA if and only if the determinant det(T) = 1. The naming of the subclass of linear/additive non-uniform ECAs as group CAs comes from the fact that, these CAs form cyclic group “under the transformation of operation with T”, see Chaudhuri et al (1997). Group CAs are reversible CAs. In a group CA, therefore, all the configurations are reachable from some other configurations of the CA. In Pries et al (1986), it is stated that if Ri is a group rule then its complement Ri (that is, 255−Ri) is also a group rule, which is proved in Das (1990). A subclass of group CAs is

1 Some authors call the non-uniform CAs with linear/additive and complemented rules as additive CAs. The reason may be that, these CAs can be characterized using the tools of linear CAs. However, strictly speaking, these CAs are not additive, in general. A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 27 maximal length CAs, in which all non-zero configurations lie in the same cycle. As shown by many authors, such as Hortensius et al (1989a); Bardell (1990); Serra et al (1990), these CAs produce pseudo-random patterns having high randomness quality, and are utilized in electronic circuit testing. In case of maximal length CAs, the characteristics polynomial is primitive. Cattell and Muzio (1996) have given us a scheme of synthesizing a maximal length CA from a given primitive polynomial over GF(2). Rules 90 and 150 are used to construct such non-uniform ECAs, and no single rule can produce a maximal length CA. In Cattell and Zhang (1995), the maximal length CAs are synthesized up to size 500, where one or two cells follow rule 150 and the rest follow rule 90. Boundary condition of these maximal length CAs is null. However, Nandi and Chaudhuri (1996) have shown that, for a periodic boundary CA, the characteristic polynomial is factorizable; therefore, there exists no maximal length CA under periodic boundary condition.

6.1.2 Non-group cellular automata

These are irreversible linear/additive non-uniform ECAs. Here, the characteristics matrix T is singular, whereas the T of a group CA is non-singular. Non-group CAs are explored in different areas, see for example Bhattacharjee et al (1995); Chakraborty et al (1996); Chattopadhyay et al (2000); Roncken et al (2000). Any non-group CA is characterized by the following terms - – attractors: cyclic states form attractors. If an attractor contains only a single state, it is said to be in graveyard state or a point state attractor or fixed point. – α-basin or α-tree: the set of state(s) rooted at any attractor state α, is termed as α-basin or α-tree. – depth or height of a CA represents the number of single-step evolution, required by the CA to reach to the nearest cyclic state from a non-reachable (that is, Garden-of-Eden) state. Some important findings about number of predecessors of the all-zero configuration and depth of non-uniform ECAs are reported in Chaudhuri et al (1997). A fraction of all reachable/non-reachable configurations of a uniform CA have been identified by Martin et al (1984). However, in general for any additive CA (uniform/hybrid), the fraction of reachable/non-reachable configurations can be numerated from the knowledge of the num- ber of predecessors of a reachable state. Another scheme has been developed by Das and Sikdar (2008) to identify and count reachable and non-reachable configurations of a finite (uniform/non-uniform) ECA, which can be linear and as well as non-linear. Some fascinating classes of non-group CAs are also explored, like - multiple attractor CAs (MACAs) by Chattopadhyay et al (2000); Maji et al (2003b), depth-1∗ CAs (D1 ∗ CAs) by Chowdhury (1994) and single attractor CAs (SACAs) by Das et al (1992). These CAs have been employed in a broad range of purposes like hashing, see Ganguly et al (2000), classification, see Ganguly et al (2002a); Maji et al (2003b), designing easy and fully testable FSM, see Chowdhury et al (1993), etc.

6.2 Non-Linear CAs

During the early age of non-uniform ECAs, the non-linear non-uniform ECAs have not been widely explored, due to absence of proper characterization tool. In the past, several attempts 28 Kamalika Bhattacharjee et al.

Table 3: First and Last Rule Tables

(a) First rule table (b) Last rule table Rules for Class of Rule class Rule set R0 R1 for Rn−1 for Rn−1 3, 12 I I 17, 20, 65, 68 5, 10 II II 5, 20, 65, 80 6, 9 III III 5, 17, 68, 80 IV 20, 65 V 17, 68 VI 5, 80

have been made to study the characteristics of uniform CAs (linear or nonlinear) qualita- tively and quantitatively in terms of parameters, such as λ parameter (Langton (1990)), Z parameter (Wuensche (1994, 1998)) etc. De Bruijn graph is also considered as a characteri- zation tool of CAs (linear/nonlinear) (Sutner (1991); Provillard et al (2011)). A characterization tool, named reachability tree (see Section 3.3), has been proposed to characterize (finite) non-uniform ECAs Das (2007); Das and Sikdar (2008, 2009). It has been shown that, out of 256 ECAs rules, only 62 rules can design a rule vector of non- uniform reversible ECA under null boundary condition, whereas for periodic boundary con- dition, additional 8 rules, that is, total 70 rules can take part in a rule vector of reversible automaton. However, the position of these rules in a rule vector is not arbitrary. For the pur- pose of getting a rule vector of reversible CA, the 62 rules are classified into six classes, which are related to each other. Table 4 shows the classes and their relations. To get a rule vector of a reversible non-uniform ECA under null boundary condition, one needs to choose a rule from Table 3a, then the subsequent rules from Table 4, and finally the last rule from Table 3b. It can also be observed that the group CAs under null boundary condition can be decided from the tables. In Naskar (2015), reachability tree has been used to distinguish cyclic/acyclic configu- rations from the configuration space of non-linear non-uniform ECA. In the same work, 1-D non-linear non-uniform ECA with point state attractors are also explored using reachabil- ity tree. However, Maiti et al (2010); Ghosh et al (2011) have developed rule vector graph (RVG) for studying invertibility of 3-neighborhood CA with null boundary condition. Non-linear non-uniform ECAs are proved to be efficient in various application fields, like VLSI design and test (Das (2007)), pattern recognition and classification (Maji (2005); Das et al (2009)), etc. Further, designing of pseudo-random pattern generator (PRPG) around reversible non-linear non-uniform ECAs are reported in Das et al (2003b); Das (2007); Das and Sikdar (2010). In Ganguly et al (2002b), the concept of GMACA (generalized MACA) has been intro- duced for non-linear non-uniform ECAs. The efficiencies of MACA and GMACA have been compared with respect to pattern recognition. In Maji (2005), both linear and non-linear non-uniform ECAs have been used for designing a pattern classifier. Fuzzy CA, a natural extension of boolean CA, is analyzed and synthesized using matrix algebraic tool by Maji and Chaudhuri (2005, 2004). This CA has also been used to design pattern classifier. A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 29

Table 4: Class relationship of Ri and Ri+1

Class of Ri Class of Ri Ri+1 I 51, 60, 195, 204 I 85, 90, 165, 170 II 102, 105, 150, 153 III 53, 58, 83, 92, 163, 172, 197, 202 IV 54, 57, 99, 108, 147, 156, 198,201 V 86, 89, 101, 106, 149, 154, 166, 169 VI II 15, 30, 45, 60, 75, 90, 105, 120, 135, I 150, 165, 180, 195, 210, 225, 240 III 15, 51, 204, 240 I 85, 105, 150, 170 II 90, 102, 153, 165 III 23, 43, 77, 113, 142, 178, 212, 232 IV 27, 39, 78, 114, 141, 177, 216, 228 V 86, 89, 101, 106, 149, 154, 166, 169 VI IV 60, 195 I 90, 165 IV 105, 150 V V 51, 204 I 85, 170 II 102, 153 III 86, 89, 90, 101, 105, 106, 149, 150, VI 154, 165,166, 169 VI 15, 240 I 105, 150 IV 90, 165 V

7 Cellular Automata as Technology

Technology refers to the collection of techniques, methods or processes used to provide some services or solutions to problems, or in the accomplishment of an objective, such as scientific invigilation. The CAs have been historically used as a method for simulating bi- ological and physical systems, and utilized to theoretically study such systems. Since late 1980s, however, the CAs have been started to be used as solutions to many real-life prob- lems. In this section, we survey some of such solutions.

7.1 Electronic circuit design

The CAs, particularly non-uniform ECAs, have received their popularity as technology in the era of VLSI. The simplicity, modularity and cascadability of CA have enticed the re- searchers of VLSI domain. Some of these areas are briefly described here.

7.1.1 Early phase developments:

CAs based machines, CAMs (CA Machines), having high degree of parallelism have been developed by Toffoli and Margolus (1987), which are ideally suited for simulation of com- plex systems. Even before the introduction of CAM, CAs have been utilized as parallel mul- tipliers by Atrubin (1965); Cole (1969), parallel processing computers by Manning (1977), 30 Kamalika Bhattacharjee et al. prime number sieves by Fischer (1965), and sorting machine by Nishio (1981). Design of fault-tolerant computing machine by Nishio and Kobuchi (1975) and nanometer-scale clas- sical computer by Benjamin and Johnson (1997) are also commendable works.

7.1.2 VLSI Design and Test:

Hortensius et al (1989b,a) has proposed non-uniform ECA based pseudo random pattern generator (PRPG) for built-in self-test (BIST) in VLSI circuits. Some of the major contri- butions in the research of PRPGs are reported in Das (1990); Tsalides et al (1991); Chowd- hury (1994); Das and Sikdar (2010). The CAs are also proposed as a framework for BIST structures by Tsalides (1990); Das (1990); Chowdhury (1994); Das (2007); Chakraborty and Chowdhury (2009) and as a deterministic test pattern generator by Albicki and Khare (1987); Das and Chaudhuri (1989); Das (1990, 2007). Utilizing the scalability of non- uniform ECAs, a test solution for multi-core chips has been proposed in Das and Sikdar (2010). While testing a CUT (Circuit-Under-Test) with pseudo-random patterns, a set of patterns may be prohibited to the CUT which may adversely affect the circuit. Non-uniform ECAs based solutions to this problem have been proposed by Ganguly et al (2002c); Das et al (2003b); Das (2007) that can generate pseudo-random-patterns without PPS (Prohib- ited Pattern Set). Finally, a universal test pattern generator, termed as the UBIST (Universal BIST) has been reported in Das and Chaudhuri (1993); Das et al (2003a). This UBIST is able to generate any one of the four types of test patterns - (i) pseudo-random, (ii) pseudo- exhaustive, (iii) pseudo-random without PPS (Prohibited Pattern Set), and (iv) deterministic.

7.1.3 Synthesis of Finite-State Machine (FSM):

Mitra et al (1991); Misra et al (1992) have depicted the design of testable FSM with CAs. In Chowdhury et al (1993); Chakraborty et al (1996), some fascinating properties of a non- group CA and its dual, and their relationship are reported. These papers have also explored a particular class of non-group CAs, named as D1∗CAs, which have been recommended “as an ideal test machine which can be efficiently embedded in a finite state machine to enhance the testability of the synthesized design”, see Chakraborty et al (1996).

7.1.4 Security and others

A good number of works have been reported in literature that deal with CAs based en- cryption, cryptography and authentication techniques; see for example Nandi et al (1994); Bao (2004); Seredynski et al (2004); Seredynski and Bouvry (2005); Das and Chowdhury (2011, 2013); Formenti et al (2014). Other notable works, related to electronic circuit design are non-uniform ECAs based error correcting codes by Chowdhury et al (1994); Paul and Chowdhury (2000), signature analysis by Hortensius et al (1990); Das et al (1990b), etc. For more discussion, see Chaudhuri et al (1997).

7.2 Computer vision and machine intelligence

A group of researchers have also explored CAs in the fields of image processing, pattern recognition etc. These fields are roughly named as computer vision and machine intelli- gence. A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 31

7.2.1 Image processing:

CAs, specially 2-dimensional CAs, are used for image processing. They can address all the significant image processing works like translation, zooming, rotation, segmentation, thin- ning, compression, edge detection and noise reduction, etc., see for example Rosin (2006, 2010); Kazar and Slatnia (2011). Khan (1998) has shown that using hybrid CAs, it is pos- sible to rotate any image through an arbitrary angle. In Paul et al (1999), a new GF(2) CA based transform coding scheme for gray level and color still images has been proposed. Some works regarding edge detection and noise reduction are reported in Wongthanavasu and Sadananda (2003); Sadeghi et al (2012).

7.2.2 Pattern recognition:

CAs have been a popular tool for pattern recognition and classification since long, see for example Jen (1986); Raghavan (1993); Chaudhuri et al (1997). As shown in the book by Chaudhuri et al (1997), MACAs (multiple attractor CAs) can act as a natural classifier. The correlation between MACA and Hamming Hash Family (HHF) is shown in Ganguly et al (2000). Hamming hash family has inherent capacity to address classification task. This basic framework of linear non-uniform ECA is extended to GMACA (generalized MACA) and utilized for modelling the associative memory, see Maji et al (2003a); Maji (2005). In Maji and Chaudhuri (2004), fuzzy CAs have been explored as an efficient pattern classifier. Non-linear non-uniform ECAs based pattern classifiers have further been developed by Das et al (2009). Recently, an asynchronous CA based pattern classifier is reported by Sethi et al (2016).

7.2.3 Compression and others:

In Bhattacharjee et al (1995), some methods are proposed to perform text compression using CA as a technology. In Lafe (1997), cellular automata transforms are proposed for digital image compression and data encryption. It is shown that, CAs can generate orthogonal, semi-orthogonal, bi-orthogonal and non-orthogonal bases. Non-uniform ECA based trans- forms have been presented by Paul et al (2000); Shaw et al (2004b, 2006) for developing ef- ficient schemes of image and document compression. Some other related works are reported in Lafe (2002); Ye and Li (2008). A technology, called Encompression, where encryption and compression are married, has been reported in Shaw et al (2003, 2004a).

7.3 Medical science

Since the seminal work of von Neumann in 1950, CA has attracted attention of computer scientists and biologists as an excellent tool to model self-replicating system. The reason of choosing CA for biological modelling is – (1) it is fast and easily implementable and (2) the visual result of the simulation provides remarkable resemblance with the original experiment. In Burks and Farmer (1984), the research on modelling the evolution and role of DNA sequences within the framework of CA has been initiated. Ermentrout and Edelstein- Keshet (1993) have reviewed a number of biologically motivated CAs, such as deterministic or Eurelian automata, lattice gas models and solidification models, heuristic CA etc. and shown the effectiveness of CAs in understanding a physical process. In Mitra et al (1996), a pioneering work on modelling amino acid using GF(22) CA, called as amino acid CA 32 Kamalika Bhattacharjee et al.

(AACA), has been reported. Some other interesting works are recorded in dos Santos and Coutinho (2001); Moreira and Deutsch (2002); Xiao et al (2006); Santos et al (2013). CpG island detection in DNA sequence is a known problem in biological sequence anal- ysis. Ghosh et al (2007) has addressed this problem. In Ghosh et al (2010), a noteworthy class of non-uniform ECAs, known as Equal Length Cycle CAs, has been proposed to pre- dict and classify the enzymes. In Ghosh et al (2012), another notable class of CAs, termed as restricted 5-neighborhood CA (R5NCA) has been introduced to predict protein structure, and to develop a protein modelling CA machine (PCAM). Here, a R5NCA rule is used to model an amino acid of a protein chain. This PCAM has been used for synthesis of protein structure using an organized knowledge base, see Ghosh et al (2014).

8 Conclusion

Cellular automaton has gone through a long journey from the early period of von Neumann to elementary form of Wolfram, and to the modern trends of research using this simple yet beautiful model. In this survey, various milestones of development regarding CAs are briefly depicted, such as the variety of types, different characterization tools, global behavior and non-uniformity. During this journey of CAs, different types of automata have been developed by varying the parameters of CAs. Based on neighborhood dependencies of cells, various types of CAs have been developed. Similarly, varying dimension of cellular space, states per cell, local rules, we get various types of CAs. In this survey we have discussed about characterization tools, such as de Bruijn graph, matrix algebra, reachability tree, etc, which have been used to understand the behavior of CAs. The global behavior of CAs, which are results of simple local interactions, are very interesting. We have surveyed some of the behavior, such as universality, reversibility, num- ber conservation, computational ability, etc. Still, there are few more behavior of CAs, such as language recognition, which are not covered in this survey. Then, we have focused our discussion on the non-classical CAs - asynchronous CAs, au- tomata networks, and non-uniform CAs. We have noted that, in recent past, a good attention have been put on these non-classical CAs. Among them, the most explored non-classical CAs are (finite) non-uniform ECAs, where the local rules are always ECAs rules. We have dedicated a section for these CAs. Lastly, we have discussed about the potential of CAs as technology. CAs have been used as solutions to many real-life problems. In fact, in this era of VLSI, the CAs, which can efficiently be implemented in hardware, can take a lead role to solve many real-life problems. This survey is a brief history of cellular automata. We have tried to arrange a tour to different corners of the developments. As a result, many concepts are stated informally, and the writing style remains primarily narrative. However, a good number of references have been added in support of the presented concepts. Interested readers may go to these references to explore their interests.

Acknowledgements The authors gratefully acknowledge the anonymous reviewers for their comments and suggestions, which have helped to improve the quality and readability of the paper. A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 33

References

Acerbi L, Dennunzio A, Formenti E (2009) Conservation of some dynamical properties for operations on cellular automata. Theor Comput Sci 410(38-40):3685–3693 Adak S, Naskar N, Maji P, Das S (2016) On synthesis of non-uniform cellular automata having only point attractors. J Cellular Automata 12(1-2):81–100 Adamatzky AI (1996) Computation of shortest path in cellular automata. Mathl Comput Modelling 23(4):105–113 Adami C (1995) Self-organized criticality in living systems. Physics Letters A 203(1):29 – 32 Albert J, Culik II K (1987) A simple universal cellular automaton and its one-way and totalistic version. Complex Systems 1:1–16 Albicki A, Khare M (1987) Cellular Automata used for test pattern generation. In: Proc. of Int’l conf. Com- puter Design, pp 56–59 Alonso-Sanz R, Bull L (2009) Elementary cellular automata with minimal memory and random number generation. Complex Systems 18(2):195 – 213 Amoroso S, Cooper G (1970) The garden-of-eden theorem for finite configurations. Proc of the American Mathematical Society 26(1):158–164 Amoroso S, Patt YN (1972) Decision procedures for surjectivity and injectivity of parallel maps for tessela- tion structures. J Computer and System Sciences 6:448–464 Arbib MA (1966) Simple self-reproducing universal automata. Information and Control 9:177–189 Atrubin AJ (1965) A one-dimensional real-time iterative multiplier. IEEE Trans on Electronic Computers EC-14(3):394–399 Banda P, Caughman J, Pospichal J (2015) Configuration symmetry and performance upper bound of one- dimensional cellular automata for the leader election problem. J Cellular Automata 10(1-2):1–21 Banks ER (1970) Universality in cellular automata. In: Proc. of IEEE Conference Record of 11th Annual Symposium on Switching and Automata Theory, 1970, IEEE, pp 194–215 Banks ER (1971) Information Processing and Transmission in Cellular Automata. PhD thesis, MIT Bao F (2004) Cryptanalysis of a partially known cellular automata cryptosystem. IEEE Trans on Computers 53(11):1493–1497 Bardell PH (1990) Analysis of Cellular Automata Used as Pseudo-random Pattern Generators. In: Proc. of Intl. Test Conference, pp 762–768 Beckers A, Worsch T (2001) A perimeter-time ca for the queen bee problem. Parallel Computing 27(5):555– 569 Benjamin SC, Johnson NF (1997) A Possible Nanometer-scale Computing Device based on an Adding Cel- lular Automaton. Applied Physics Letters 70(17):2321 – 2323 Betel H, de Oliveira PPB, Flocchini P (2013) Solving the parity problem in one-dimensional cellular au- tomata. Natural Computing 12(3):323–337 Bhattacharjee K, Das S (2016) Reversibility of d-state finite cellular automata. J Cellular Automata 11(2- 3):213–245 Bhattacharjee K, Paul D, Das S (2017) Pseudo-random number generation using a 3-state cellular automaton. Intl J Mod Physics C 28(06):1750,078 Bhattacharjee S, Bhattacharya J, Chaudhuri PP (1995) An Efficient Data Compression Hardware based on Cellular Automata. In: Proc. of Data Compression Conference (DCC95), p 472 Blanchard F, Maass A (1997) Dynamical properties of expansive one-sided cellular automata. Israel J Math- ematics 99(1):149–174 Blok HJ, Bergersen B (1999) Synchronous versus asynchronous updating in the “game of life”. Phys Rev E 59:3876–3879 Boccara N, Fuks´ H (1998) Cellular automaton rules conserving the number of active sites. J Phys A : Math Gen 31:6007 Boccara N, Fuks´ H (2002) Number-conserving cellular automaton rules. Fundam Inf 52(1-3):1–13 Boccara N, Roger M (1994) Some properties of local and nonlocal site exchange deterministic cellular au- tomata. Intl J Modern Physics C 5(03):581–588 Bohm D (1980) Wholeness and the implicate order. Routledge, ISBN 0-203-99515-5 Bouré O, Fatès N, Chevrier V (2012) Probing robustness of cellular automata through variations of asyn- chronous updating. Natural Computing 11(4):553–564 Burks C, Farmer D (1984) Towards modeling dna sequences as automata. Physica D: Nonlinear Phenomena 10(1-2):157–167 Capobianco S (2007) Surjectivity and surjunctivity of cellular automata in besicovitch topology. In: Proc. of Intl. workshop on Cellular Automata and Discrete Complex Systems, AUTOMATA 2007 34 Kamalika Bhattacharjee et al.

Cattaneo G, Formenti E, Margara L, Mauri G (1999) On the dynamical behavior of chaotic cellular automata. Theor Comput Sci 217(1):31 – 51 Cattaneo G, Finelli M, Margara L (2000) Investigating topological chaos by elementary cellular automata dynamics. Theor Comput Sci 244(1 - 2):219 – 241 Cattaneo G, Dennunzio A, Margara L (2004) Solution of some conjectures about topological properties of linear cellular automata. Theor Comput Sci 325(2):249 – 271, theoretical Aspects of Cellular Automata Cattaneo G, Dennunzio A, Formenti E, Provillard J (2009) Non-uniform cellular automata. In: Proc. of 3rd Intl. Conf. Language and Automata Theory and Applications, LATA, pp 302–313 Cattell K, Muzio JC (1996) Synthesis of one-dimensional linear hybrid cellular automata. IEEE Trans on Computer-Aided Design of Integrated Circuits and Systems 15(3):325–335 Cattell K, Zhang S (1995) Minimal cost one-dimensional linear hybrid cellular automata of degree through 500. J ELECTRONIC TESTING: Theory and Applications 6(2):255–258 Ceccherini-Silberstein TG, Machi A, Scarabotti F (1999) Amenable groups and cellular automata. Annales de l’institut Fourier 49(2):673–685 Chakraborty R, Chowdhury DR (2009) A novel seed selection algorithm for test time reduction in BIST. In: Proc. of the Eighteentgh Asian Test Symposium, ATS 2009, Taiwan, pp 15–20 Chakraborty S, Chowdhury DR, Chaudhuri PP (1996) Theory and Application of Non-Group Cellular Au- tomata for Synthesis of Easily Testable Finite State Machines. IEEE Trans on Computers 45(7):769–781 Chattopadhyay P, Choudhury PP, Dihidar K (1999) Characterisation of a particular hybrid transformation of two-dimensional cellular automata. Computers & Mathematics with Applications 38(5 - 6):207 – 216 Chattopadhyay S, Adhikari S, Sengupta S, Pal M (2000) Highly Regular, Modular, and Cascadable Design of Cellular Automata-Based Pattern Classifier. IEEE Trans on VLSI Sys 8(6):724–735 Chaudhuri PP, Chowdhury DR, Nandi S, Chatterjee S (1997) Additive Cellular Automata – Theory and Applications, vol 1. IEEE Computer Society Press, USA, ISBN 0-8186-7717-1 Cheybani S, Kertész J, Schreckenberg M (2000) Stochastic boundary conditions in the deterministic nagel- schreckenberg traffic model. Phys Rev E 63:016,107 Chopard B, Droz M (1998) Cellular Automata Modelling of Physical Systems, Cambridge University Press Chowdhury DR (1994) Theory and Applications of Additive Cellular Automata for Reliable and Testable VLSI Circuit Design. PhD thesis, IIT, Kharagpur, India Chowdhury DR, Chakraborty S, Vamsi B, Chaudhuri PP (1993) Cellular Automata based synthesis of easily and fully testable FSMs. In: Proc. of Intl. Conf. on Computer Aided Design, ICCAD, pp 650–653 Chowdhury DR, Basu S, Gupta IS, Chaudhuri PP (1994) Design of CAECC — Cellular automata based error correcting code. IEEE Trans on Computers 43(6):759–764 Cinkir Z, Akin H, Siap I (2011) Reversibilty of 1d cellular automata with periodic boundary over finite fields Zp. J Stat Phys 143:807–823 Codd EF (1968) Cellular Automata, Academic Press Inc. Codenotti B, Margara L (1996) Transitive cellular automata are sensitive. The American Mathematical Monthly 103(1):58–62 Cole SN (1969) Real time computation by n-dimensional iterative arrays of finite state machines. IEEE Trans on Computers C-18:55 – 77 Comer JM, Cerda JC, Martinez CD, Hoe DH (2012) Random number generators using cellular automata implemented on fpgas. In: Proc. of 44th Southeastern Symposium on System Theory (SSST), 2012, pp 67–72 Cook M (2004) Universality in elementary cellular automata. Complex systems 15(1):1–40 Cori R, Metivier Y, Zielonka W (1993) Asynchronous mappings and asynchronous cellular automata. Infor- mation and Computation 106(2):159 – 202 Culik K (1987) On invertible cellular automata. Complex Systems 1(6):1035–1044 Culik K, Dube S (1991) An efficient solution to the firing mob problem. Theor Comput Sci 91:57–69 Culik K, Yu S (1988) Undecidability of cellular automata classification schemes. Complex Systems 2:177– 190 Culik K, Hard LP, Yu S (1990) Computation theoretic aspects of cellular automata. Physica D 45(1-3):357– 378 Darabos C, Giacobini M, Tomassini M (2007) Performance and robustness of cellular automata computation on irregular networks. Advances in Complex Systems 10:85–110 Das AK (1990) Additive Cellular Automata : Theory and Application as a Built-in Self-test Structure. PhD thesis, IIT, Kharagpur, India Das AK, Chaudhuri PP (1989) An Efficient On-chip Deterministic Test Pattern Generation Scheme. Micro- processing & Microprogramming 26:195–204 Das AK, Chaudhuri PP (1993) Vector space theoretic analysis of additive cellular automata and its applica- tions for pseudo-exhaustive test pattern generation. IEEE Trans on Computers 42(3):340–352 A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 35

Das AK, Ganguly A, Dasgupta A, Bhawmik S, Chaudhuri PP (1990a) Efficient characterisation of cellular automata. IEE Proc E – Computers and Digital Techniques 137(1):81–87 Das AK, Saha D, Chowdhury AR, Misra S, Chaudhuri PP (1990b) Signature analyzer based on additive cellular automata. In: Proc. of 20th Fault Tolerant Computing Systems, pp 265–272 Das AK, Sanyal A, Chaudhuri PP (1992) On characterization of cellular automata with matrix algebra. Infor- mation Sciences 61(3):251 – 277 Das S (2007) Theory and Applications of Nonlinear Cellular Automata In VLSI Design. PhD thesis, Bengal Engineering and Science University, Shibpur, India Das S (2011) Characterization of non-uniform number conserving cellular automata. In: Proc. of Intl. work- shop on Cellular Automata and Discrete Complex Systems, AUTOMATA 2011, Chile, pp 17–28 Das S, Chowdhury DR (2011) Cryptographically suitable maximum length cellular automata. J Cellular Automata 6(6):439–459 Das S, Chowdhury DR (2013) CAR30: A new scalable stream cipher with . Cryptography and Com- munications 5(2):137–162 Das S, Sikdar BK (2008) Characterization of non-reachable states in irreversible ca state space. In: Proc. of Intl. Conf. on Cellular Automata, Research and Industry, ACRI 2008, Japan, Springer Berlin Heidelberg, pp 160–167 Das S, Sikdar BK (2009) Characterization of 1-d periodic boundary reversible ca. Electr Notes Theor Comput Sci 252:205–227 Das S, Sikdar BK (2010) A scalable test structure for multicore chip. IEEE Trans on CAD of Integrated Circuits and Systems 29(1):127–137 Das S, Ganguly N, Sikdar BK, Chaudhuri PP (2003a) Design of a Universal BIST (UBIST) Structure. In: Proc. of 16th Intl. Conf. on VLSI Design, pp 161–166 Das S, Kundu A, Sen S, Sikdar BK, Chaudhuri PP (2003b) Non-Linear Celluar Automata Based PRPG Design (Without Prohibited Pattern Set) In Linear Time Complexity. In: Proc. of Asian Test Symposium, pp 78–83 Das S, Sikdar BK, Chaudhuri PP (2004) Characterization of Reachable/Nonreachable Cellular Automata States. In: Proc. of Intl. Conf. on Cellular Automata, Research and Industry, ACRI 2004, Netherlands, Springer Berlin Heidelberg, pp 813–822 Das S, Mukherjee S, Naskar N, Sikdar BK (2009) Characterization of single cycle ca and its application in pattern classification. Electr Notes Theor Comput Sci 252:181–203 Das S, Sarkar A, Sikdar BK (2012) Synthesis of reversible asynchronous cellular automata for pattern gen- eration with specific hamming distance. In: Proc. of Intl. Conf. on Cellular Automata, Research and Industry, ACRI 2012, Greece, Springer Berlin Heidelberg, pp 643–652 Delorme M, Mazoyer J, Tougne L (1999) Discrete parabolas and circles on 2d cellular automata. Theor Comput Sci 218(2):347 – 417 Dennunzio A, Lena PD, Formenti E, Margara L (2009) On the directional dynamics of additive cellular automata. Theoretical Computer Science 410(47):4823 – 4833 Dennunzio A, Formenti E, Manzoni L (2012a) Computing issues of asynchronous ca. Fundam Inf 120(2):165–180 Dennunzio A, Formenti E, Provillard J (2012b) Non-uniform cellular automata: Classes, dynamics, and de- cidability. Inf Comput 215:32–46 Dennunzio A, Formenti E, Manzoni L, Mauri G (2013a) m-asynchronous cellular automata: from fairness to quasi-fairness. Natural Computing 12(4):561–572 Dennunzio A, Formenti E, Provillard J (2013b) Local rule distributions, language complexity and non- uniform cellular automata. Theor Comput Sci 504:38 – 51 Dennunzio A, Formenti E, Provillard J (2014a) Three research directions in non-uniform cellular automata. Theor Comput Sci 559:73–90 Dennunzio A, Formenti E, Weiss M (2014b) Multidimensional cellular automata: closing property, quasi- expansivity, and (un)decidability issues. Theor Comput Sci 516:40 – 59 Devaney RL (1986) An introduction to chaotic dynamical systems. Addison-Wesley Di Gregorio S, Trautteur G (1975) On reversibility in cellular automata. J Computer and System Sciences 11(3):382–391 Domosi P, Nehaniv CL (2005) Algebraic theory of automata networks: An Introduction. SIAM monographs on discrete mathematics and applications, Society for Industrial and Applied Mathematics, ISBN: 978- 0-89871-569-9 Droste M, Gastin P, Kuske D (2000) Asynchronous cellular automata for pomsets. Theor Comput Sci 247(1- 2):1–38 Dubacq JC (1995) How to simulate turing machines by invertible one-dimensional cellular automata. Intl J Foundations Comput science 6(4):395–402 36 Kamalika Bhattacharjee et al.

Durand B (1993) Global properties of 2d cellular automata: Some complexity results. In: Proc. of 18th Intl. Symposium, MFCS’93, Poland, Springer Berlin Heidelberg, pp 433–441 Durand B, Formenti E, Róka Z (2003a) Number-conserving cellular automata i: decidability. Theor Comput Sci 299(1-3):523–535 Durand B, Formenti E, Varouchas G (2003b) On undecidability of equicontinuity classification for cellular automata. Dis Math and Theor Computer Science 3:117–128 Durand-Lose JO (1998) About the universality of the billiard ball model. In: Proc. Intl. Colloquium Universal Machines and Computations, MCU’98, France, pp 118–132 Dyer C (1980) One-way bounded cellular automata. Information Control 44:261–281 Ermentrout GB, Edelstein-Keshet L (1993) Cellular automata approaches to biological modeling. J theor Biol 160(1):97–133 Fatès N (2013) Stochastic Cellular Automata Solutions to the Density Classification Problem - When ran- domness helps computing. Theory of Computing Systems 53(2):223–242 Fatès N (2014) Guided tour of asynchronous cellular automata. J Cellular Automata 9(5-6):387–416 Fatés N (2017) FiatLux : cellular automata and discrete complex systems simulator. http://fiatlux. loria.fr/, [Online; accessed August 25, 2017] Fatès N, Thierry E, Morvan M, Schabanel N (2006) Fully asynchronous behavior of double-quiescent ele- mentary cellular automata. Theor Comput Sci 362(1-3):1–16 Finelli M, Manzini G, Margara L (1998) Lyapunov exponents versus expansivity and sensitivity in cellular automata. J Complexity 14(2):210 – 233 Fischer PC (1965) Generation of primes by a one-dimensional real-time iterative array. J ACM 12:388–394 Formenti E, Grange A (2003) Number conserving cellular automata ii: dynamics. Theor Comput Sci 304:269–290 Formenti E, Imai K, Martin B, Yunès JB (2014) Advances on random sequence generation by uniform cellular automata. In: Calude CS, Freivalds R, Kazuo I (eds) Computing with New Resources: Essays Dedicated to Jozef Gruska on the Occasion of His 80th Birthday, Springer International Publishing, Cham, pp 56–70 Fredkin E, Toffoli T (1982) Conservative logic. Intl J Theoretical Physics 21:219–253 Frisch U, Hasslacher B, Pomeau Y (1986) Lattice gas automata for the navier-stokes equation. Phys Rev Lett 56(14):1505–1508 Fuks´ H (1997) Solution of the density classification problem with two cellular automata rules. Physics Review E 55:R2081–R2084 Fuks´ H (2004) Probabilistic cellular automata with conserved quantities. Nonlinearity 17(1):159 Gandin CA, Rappaz M (1997) A 3d cellular automaton algorithm for the prediction of dendritic grain growth. Acta Materialia 45(5):2187–2195 Ganguly N, Halder D, Deb J, Sikdar BK, Chaudhuri PP (2000) Hashing Through Cellular Automata. In: Proc. of 8th Intl. Conf. of Advance Computing and Communication, pp 95 – 101 Ganguly N, Maji P, Dhar S, Sikdar BK, Chaudhuri PP (2002a) Evolving cellular automata as pattern classifier. In: Proc. of Intl. Conf. on Cellular Automata, Research and Industry, ACRI 2002, Switzerland, Springer Berlin Heidelberg, pp 56–68 Ganguly N, Maji P, Sikdar BK, Chaudhuri PP (2002b) Generalized Multiple Attractor Cellular Automata (GMACA) For Associative Memory. Int J of Pattern Recognition and Artificial Intelligence, Special Issue: Computational Intelligence for Pattern Recognition 16(7):781–795 Ganguly N, Sikdar BK, Chaudhuri PP (2002c) Design of an On-Chip Test Pattern Generator Without Pro- hibitited Pattern Set (PPS). In: Proc. of ASP-DAC/VLSI Design 2002, India, pp 689–694 Ganguly N, Sikdar BK, Chaudhuri PP (2008) Exploring cycle structures of additive cellular automata. Fun- dam Inform 87(2):137–154 Gardner M (1971) On cellular automata self-reproduction, the garden of eden and the game of ‘Life’. Scien- tific American 224(2):112–118 Ghosh S, Laskar N, Mahapatra S, Chaudhuri PP (2007) Probabilistic cellular automata model for identifi- cation of cpg island in DNA string. In: Proc. of Indian Intl. Conf. on Artificial Intelligence (IICAI), pp 1490–1509 Ghosh S, Bachhar T, Maiti NS, Mitra I, Chaudhuri PP (2010) Theory and application of equal length cycle cellular automata (ELCCA) for enzyme classification. In: Proc. of Intl. Conf. on Cellular Automata, Research and Industry, ACRI 2010, Italy, pp 46–57 Ghosh S, Maiti NS, Chaudhuri PP, Sikdar BK (2011) On invertible three neighborhood null-boundary uniform cellular automata. Complex Systems 20:47–65 Ghosh S, Maiti NS, Chaudhuri PP (2012) Theory and application of restricted five neighborhood cellular automata (r5nca) for protein structure prediction. In: Proc. of Intl. Conf. on Cellular Automata, Research and Industry, ACRI 2012, Greece, Springer Berlin Heidelberg, pp 360–369 A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 37

Ghosh S, Maiti NS, Chaudhuri PP (2014) Cellular automata model for protein structure synthesis (PSS). In: Proc. of Intl. Conf. on Cellular Automata, Research and Industry, ACRI 2014, Poland, pp 268–277 Goles E, Moreira A, Rapaport I (2011) Communication complexity in number-conserving and monotone cellular automata. Theor Comput Sci 412(29):3616 – 3628 Golze U (1978) (a-)synchronous (non-)deterministic cell spaces simulating each other. J Computer and Sys- tem Sciences 17(2):176 – 193 Golze U, Priese L (1982) Petri net implementations by a universal cell space. Information and Control 53(1 - 2):121 – 138 Grinstein G, Jayaprakash C, He Y (1985) Statistical mechanics of probabilistic cellular automata. Phys Rev Lett 55:2527–2530 Guan S, Tan SK (2004) Pseudorandom Number Generation With Self-Programmable Cellular Automata. IEEE Trans on CAD 23(7):1095–1101 Guan S, Zhang S (2003) An Evolutionary Approach to the Design of Controllable Cellular Automata Struc- ture for Random Number Generation. IEEE Trans on CAD 7(1):23–36 Hattori T, Takesue S (1991) Additive conserved quantities in discrete-time lattice dynamical systems. Physica D: Nonlinear Phenomena 49(3):295 – 322 Hazari R, Das S (2014) Number conservation property of elementary cellular automata under asynchronous update. Complex Systems 23:177–195 Hedlund GA (1969) Endomorphisms and automorphisms of the shift dynamical system. Mathematical Sys- tems Theory 3:320–375 Hemmerling A (1982) On the computational equivalence of synchronous and asynchronous cellular spaces. Elektronische Informationsverarbeitung und Kybernetik 18(7/8):423–434 Herman GT, Liu WH (1973) The daughter of celia, the french flag, and the firing squad. SIMULATION 21(2):33–41 Hortensius PD, McLeod RD, Card HC (1989a) Parallel random number generation for VLSI systems using cellular automata. IEEE Trans on Computers C-38(10):1466–1473 Hortensius PD, McLeod RD, Pries W, Miller DM, Card HC (1989b) Cellular automata-based pseudorandom number generators for built-in self-test. IEEE Trans on Computer-Aided Design of Integrated Circuits and Systems 8(8):842–859 Hortensius PD, McLeod RD, Card HC (1990) Cellular automata based signature analysis for built-in self-test. IEEE Trans on Computers C-39(10):1273–1283 Imai K, Morita K (2000) A computation-universal two-dimensional 8-state triangular reversible cellular au- tomaton. Theor Comput Sci 231(2):181 – 191 Ingerson TE, Buvel RL (1984) Structure in asynchronous cellular automata. Physica D: Nonlinear Phenom- ena 10(1 - 2):59 – 68 Itô M, Ôsato N, Nasu M (1983) Linear cellular automata over Zm. J Comput System Sci 27(1):125–140 Jen E (1986) Invariant strings and pattern-recognizing properties of one-dimensional cellular automata. J Statistical Physics 43(1):243–265 Jin J, Wu ZH (2012) A secret image sharing based on neighborhood configurations of 2-d cellular automata. Optics & Laser Technology 44(3):538 – 548 Jump JR, Kirtane JS (1974) On the interconnection structure of cellular automata networks. Information Control 24:74–91 Kari J (1990) Reversibility of 2d cellular automata is undecidable. Physica D 45:386–395 Kari J (1992) The nilpotency problem of one-dimensional cellular automata. SIAM J Comput 21(3):571–586 Kari J (1994) Reversibility and surjectivity problems of cellular automata. J Comput System Sci 48(1):149– 182 Kari J (2005a) Reversible Cellular Automata, Springer Berlin Heidelberg, pp 57–68 Kari J (2005b) Theory of cellular automata: A survey. Theor Comput Sci 334(1-3):3–33 Kari J, Le Gloannec B (2012) Modified traffic cellular automaton for the density classification task. Fundam Inf 116(1-4):141–156 Kayama Y (2012) Network view of binary cellular automata. In: Proc. of Intl. Conf. on Cellular Automata, Research and Industry, ACRI 2012, Greece, Springer Berlin Heidelberg, pp 224–233 Kayama Y, Imamura Y (2011) Network representation of the game of life. J Artificial Intelligence and Soft Computing Research Vol. 1, No. 3:233–240 Kazar O, Slatnia S (2011) Evolutionary cellular automata for image segmentation and noise filtering using genetic algorithms. J Applied Computer Science & Mathematics 5(10):33–40 Kerner BS (2004) Three-phase traffic theory and highway capacity. Physica A: Statistical Mechanics and its Applications 333(C):379–440 Khan AR (1998) Replacement of some Graphics Routines with the help of 2D Cellular Automata Algorithms for Faster Graphics Operations. PhD thesis, University of Kashmir 38 Kamalika Bhattacharjee et al.

Kohyama T (1989) Cellular automata with particle conservation. Progress of Theoretical Physics 81(1):47–59 Kohyama T (1991) Cluster growth in particle-conserving cellular automata. J Statistical Physics 63(3-4):637– 651 Kurka P (1997) Languages, equicontinuity and attractors in cellular automata. Ergodic theory and dynamical systems 17(02):417–433 Kurka P (2003) Cellular automata with vanishing particles. Fundamenta Informaticae 58(2003):203–221 Lafe O (1997) Data compression and encryption using cellular automata transforms. Engineering Applica- tions of Artificial Intelligence 10(6):581 – 591 Lafe OE (2002) Method and apparatus for video compression using sequential frame cellular automata trans- forms. US Patent 6,456,744 Land M, Belew RK (1995) No perfect two-state cellular automata for density classification exists. Phys Rev Lett 74:5148–5150 Langton CG (1990) Computation at the edge of chaos. Physica D 42:12–37 Le Caër G (1989) Comparison between simultaneous and sequential updating in 2n+1 − 1 cellular automata. Physica A 157(2):669 – 687 Legendi T, Katona E (1981) A 5 state solution of the early bird problem in a one dimensional cellular space. Acta Cybernetica 5(2):173–179 Legendi T, Katona E (1986) A solution of the early bird problem in an n-dimensional cellular space. Acta Cybern 7(1):81–87 Leporati A, Mariot L (2014) Cryptographic properties of bipermutive cellular automata rules. J Cellular Automata 9:437–475 Li J, Demaine E, Gymrek M (2010) Es.268 the mathematics in toys and games, spring 2010. (massachusetts institute of technology: Mit opencourseware). In: http://ocw.mit.edu (Accessed) Li W, Packard NH, Langton CG (1990) Transition Phenomena in Cellular Automata rule space. Physica D 45:77–94 Lindgren K, Nordahl MG (1990) Universal computation in simple one-dimensional cellular automata. Com- plex Systems 4(3):299–318 Machì A, Mignosi F (1993) Garden of eden configurations for cellular automata on cayley graphs of groups. SIAM J Discret Math 6(1):44–56 Maiti NS, Munshi S, Chaudhuri PP (2006) An analytical formulation for cellular automata (CA) based so- lution of density classification task (DCT). In: Proc. of Intl. Conf. on Cellular Automata, Research and Industry, ACRI 2006, Springer Intl. Publishing, pp 147–156 Maiti NS, Ghosh S, Munshi S, Chaudhuri PP (2010) Linear time algorithm for identifying the invertibility of null-boundary three neighborhood cellular automata. Complex Systems 19(1):89–113 Maji P (2005) Cellular Automata Evolution for Pattern Recognition. PhD thesis, Jadavpur University, Kolkata, India Maji P, Chaudhuri PP (2004) Fmaca: A fuzzy cellular automata based pattern classifier. In: Proc. of 9th Intl. Conference on Database Systems for Advanced Applications, DASFAA 2004, Springer Berlin Heidel- berg, pp 494–505 Maji P, Chaudhuri PP (2005) Fuzzy cellular automata for modeling pattern classifier. IEICE Trans on Infor- mation and Systems E88-D(4):691–702 Maji P, Ganguly N, Chaudhuri PP (2003a) Error Correcting Capability of Cellular Automata Based Associa- tive Memory. IEEE Trans on Systems, Man and Cybernetics, Part A 33(4):466–480 Maji P, Shaw C, Ganguly N, Sikdar BK, Chaudhuri PP (2003b) Theory and application of cellular automata for pattern classification. Special issue of Fundamenta Informaticae on Cellular Automata 58(3):321–354 Manning FB (1977) An approach to highly integrated, computer-maintained cellular arrays. IEEE Trans on Computers C-26:536 – 552 Manzoni L (2012) Asynchronous cellular automata and dynamical properties. Natural Computing 11(2):269– 276 Manzoni L, Umeo H (2014) The firing squad synchronization problem on ca with multiple updating cycles. Theor Comput Sci 559:108 – 117, non-uniform Cellular Automata Margenstern M (2009) About the garden of eden theorems for cellular automata in the hyperbolic plane. Electronic Notes in Theor Comput Sci 252:93–102 Margenstern M, Morita K (1999) A polynomial solution for 3-sat in the space of cellular automata in the hyperbolic plane. J Universal Computer Science 5(9):563–573 Margenstern M, Morita K (2001) Np problems are tractable in the space of cellular automata in the hyperbolic plane. Theor Comput Sci 259(1-2):99–128 Margolus N (1984) Physics-like models of computation. Physica D: Nonlinear Phenomena 10(1 - 2):81 – 95 Mariot L (2016) Asynchrony immune cellular automata. In: Proc. of Intl. Conf. on Cellular Automata, Re- search and Industry, ACRI 2016, Morocco, Springer International Publishing, Cham, pp 176–181 A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 39

Mariot L, Leporati A, Dennunzio A, Formenti E (2017) Computing the periods of preimages in surjective cellular automata. Natural Computing 16(3):367–381 Marr C, Hütt MT (2009) Outer-totalistic cellular automata on graphs. Physics Letters A 373(5):546 – 549 Martin B (1994) A universal cellular automata in quasi-linear time and its s-m-n form. Theoritical Computer Science 123(2):199–237 Martin O, Odlyzko AM, Wolfram S (1984) Algebraic Properties of Cellular Automata. Comm Math Phys 93:219–258 Martinez GJ, McIntosh HV, Mora JCST, Vergara SVC (2008) Determining a regular language by glider-based structures called phases fi_1 in . J Cellular Automata, Special Issues 3(3):231–270 Maruoka A, Kimura M (1976) Condition for injectivity of global maps for tessellation automata. Information and Control 32(2):158–162 Maruoka A, Kimura M (1979) Injectivity and surjectivity of parallel maps for cellular automata. J Computer and System Sciences 18(1):47 – 64 Matsukidaira J, Nishinari K (2003) Euler-lagrange correspondence of cellular automaton for traffic-flow mod- els. Phys Rev Lett 90:088,701(1–4) Mazoyer J, Nichitiu C, Rémila E (1999) Compass permits leader election. In: Proc. of the Tenth Annual ACM- SIAM Symposium on Discrete Algorithms, Society for Industrial and Applied Mathematics, SODA ’99, pp 947–948 McCulloch WS, Pitts W (1943) A logical calculus of the ideas immanent in nervous activity. The bulletin of mathematical biophysics 5(4):115–133 Miller DB, Fredkin E (2005) Two-state, reversible, universal cellular automata in three dimensions. In: Proc. of the 2nd conference on Computing frontiers, ACM, pp 45–51 Misra S, Mitra B, Chaudhuri PP (1992) Synthesis of self-testable sequential logic using programmable cellu- lar automata. In: Proc. of Intl. Conference on VLSI Design, pp 193–198 Mitchell M, Hraber PT, Crutchfield JP (1993) Revisiting the edge of chaos: Evolving cellular automata to perform computations. Complex Systems 7:89–130 Mitra B, Panda PR, Chaudhuri PP (1991) A flexible scheme for state assignment based on characteristics of the FSM. In: Proc. of Intl. Conf. on Computer Aided Design, ICCAD, California, pp 226–229 Mitra S, Das S, Chaudhuri PP, Nandi S (1996) Architecture of a VLSI chip for modeling amino acid sequence in proteins. In: Proc. of 9th Intl. Conference on VLSI Design, 1996, pp 316–317 Mo Y, Ren B, Yang W, Shuai J (2014) The 3-dimensional cellular automata for hiv infection. Physica A: Statistical Mechanics and its Applications 399:31 – 39 Moore EF (1962) Machine models of self-reproduction. In: Proc. Symp. Appl. Math, vol 14, pp 17–33 Mora JCST, Martínez GJ, McIntosh HV (2006) The inverse behavior of a reversible one-dimensional cellular automaton obtained by a single welch diagram. J Cellular Automata 1(1):25–39 Mora JCST, Hernandez MG, Vergara SVC (2008) Pair diagram and cyclic properties characterizing the in- verse of reversible automata. J Cellular Automata, Special Issue 3(3):205–218 Moraal H (2000) Graph-theoretical characterization of invertible cellular automata. Physica D: Nonlinear Phenomena 141(1):1–18 Morales FJ, Crutchfield JP, Mitchell M (2001) Evolving two-dimensional Cellular Automata to Perform Density Classification : A report on work in Progress. Parallel Computing 27:571–585 Moreira A (2003) Universality and decidability of number-conserving cellular automata. Theor Comput Sci 292(3):711–721 Moreira J, Deutsch A (2002) Cellular automaton models of tumor development: A critical review. Advances in Complex Systems 05(02n03):247–267 Moreno JL, Whitin ES, Jennings HH (1932) Application of the group method to classification. National committee on prisons and prison labor, New York. Reprinted in The first book on group pyschotherapy,3d ed., 1957 [pp. 3 - 103] Morita K (1995) Reversible simulation of one-dimensional irreversible cellular automata. Theor Comput Sci 148(1):157–163 Morita K (2008) Reversible computing and cellular automata - a survey. Theor Comput Sci 395(1):101 – 131 Morita K (2016) Universality of 8-state reversible and conservative triangular partitioned cellular automata. In: International Conference on Cellular Automata, Springer International Publishing, pp 45–54 Morita K, Harao M (1989) Computation universality of one dimensional reversible injective cellular au- tomata. IEICE Trans E 72:758–762 Morita K, Imai K (1998) Number-conserving reversible cellular automata and their computation-universality. In: Proc. of Satellite Workshop on Cellular Automata MFCS’98, pp 51–68 Morita K, Margenstern M, Imai K (1999) Universality of reversible hexagonal cellular automata. RAIRO- Theor Inf Appl 33(6):535–550 40 Kamalika Bhattacharjee et al.

Morita K, Tojima Y, Imai K (1999) A simple computer embedded in a reversible and number conserving two-dimensional cellular space. In: Proceedings of LA Symposium’99, Hakone Myhill J (1963) The converse of moore’s garden of eden theorem. In: Proc. of American Mathematical Soci- ety, vol 14, pp 685–686 Nagel K (1996) Particle hopping models and traffic flow theory. Phys Rev E 53:4655–4672 Nagel K, Schreckenberg M (1992) A cellular automaton model for freeway traffic. J de physique I 2(12):2221–2229 Nakamura K (1974) Asynchronous cellular automata and their computational ability. Systems, Computers, Controls 5(5):58–66 Nakamura K (1981) Synchronous to asynchronous transformation of polyautomata. J Computer and System Sciences 23(1):22 – 37 Nandi S, Chaudhuri PP (1996) Analysis of periodic and intermediate boundary 90/150 cellular automata. IEEE Trans on Computer 45(1):1–12 Nandi S, Kar BK, Chaudhuri PP (1994) Theory and Application of Cellular Automata in Cryptography. IEEE Trans on Computers 43(12):346–357 Naskar N (2015) Characterization and Synthesis of Non-Uniform Cellular Automata with Point State Attrac- tors. PhD thesis, Indian Institute of Engineering Science and Technology, Shibpur, India Neumann JV (1966) Theory of Self-Reproducing Automata. University of Illinois Press, USA Newman MEJ, Watts DJ (1999) Scaling and percolation in the small-world network model. Phys Rev E 60(6):7332–7342 Nishio H (1981) Real time sorting of binary numbers by one-dimensional cellular automata. Tech. rep., Kyoto University Nishio H, Kobuchi Y (1975) Fault tolerant cellular space. J Compututer and System Sciences 11:150–170 Noguchi K (2004) Simple 8-state minimal time solution to the firing squad synchronization problem. Theor Comput Sci 314(3):303 – 334 de Oliveira GMB, Siqueira SRC (2006) Parameter characterization of two-dimensional cellular automata rule space. Physica D: Nonlinear Phenomena 217(1):1 – 6 de Oliveira PPB (2013) Conceptual connections around density determination in cellular automata. Proc of Intl workshop on Cellular Automata and Discrete Complex Systems, AUTOMATA 2013, Germany pp 1–14 Ollinger N (2002) The quest for small universal cellular automata. In: Proc. of 29th Intl. Colloquium Au- tomata, Languages and Programming, ICALP 2002, Spain, Springer Berlin Heidelberg, pp 318–329 Ollinger N (2003) The intrinsic universality problem of one-dimensional cellular automata. In: Proc. of Intl. Symposium on Theoretical Aspects of Computer Science, STACS 2003, Springer, pp 632–641 Packard NH, Wolfram S (1985) Two-dimensional cellular automata. J Statistical Physics 38(5/6):901–946 Paul K, Chowdhury DR (2000) Application of GF(2p) CA in Burst Error Correcting Codes. In: Proc. of Intl. Conf. of VLSI Design, pp 562–567 Paul K, Chowdhury DR, Chaudhuri PP (1999) Cellular Automata Based Transform Coding for Image Com- pression. In: Proc. of Intl. Conference on High Performance Computing (HiPC), pp 269–273 Paul K, Chowdhury DR, Chaudhuri PP (2000) Scalable Pipelined Micro-Architecture for Wavelet Transform. In: Proc. of Intl. Con. on VLSI Design, pp 144–147 Pighizzini G (1994) Asynchronous automata versus asynchronous cellular automata. Theor Comput Sci 132(1–2):179 – 207 Pivato M (2002) Conservation laws in cellular automata. Nonlinearity 15(6):1781 Pries W, Thanailakis A, Card HC (1986) Group properties of cellular automata and VLSI applications. IEEE Trans on Computers C-35(12):1013–1024 Provillard J, Formenti E, Dennunzio A (2011) Non-uniform cellular automata and distributions of rules. arXiv preprint arXiv:11081419 Raghavan R (1993) Cellular automata in pattern recognition. Information Science 70:145–177 Martın del Rey A, Rodrıguez Sınchez G (2011) Reversibility of linear cellular automata. Applied Mathemat- ics and Computation 217(21):8360–8366 Richardson D (1972) Tessellations with local transformations. J Comput Systems Sci 6:373–388 Roncken M, Stevens K, Pendurkar R, Rotem S, Chaudhuri PP (2000) Ca-bist for asynchronous circuits: a case study on the rappid asynchronous instruction length decoder. In: Proc. of Advanced Research in Asynchronous Circuits and Systems (ASYNC 2000), pp 62–72 Rosenstiehl P, Fiksel JR, Holliger A (1972) R.C. Read (Ed.), Graph Theory and Computing, Academic Press, New York, chap Intelligent graphs: Networks of finite automata capable of solving graph problems, pp 219–265 Rosin PL (2006) Training cellular automata for image processing. Trans Img Proc 15(7):2076–2087 A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 41

Rosin PL (2010) Image processing using 3-state cellular automata. Computer Vision and Image Understand- ing 114(7):790 – 802 Roy S, Das S (2017) Distributed mutual exclusion problem in cellular automata. J Cellular Automata 12(6):493–512 Ruxton G, Saravia LA (1998) The need for biological realism in the updating of cellular automata models. Ecological Modelling 107(2-3):105–112 Sadeghi S, Rezvanian A, Kamrani E (2012) An efficient method for impulse noise reduction from images using fuzzy cellular automata. AEU - Intl J Electronics and Communications 66(9):772 – 779 Salo V (2014) Realization problems for nonuniform cellular automata. Theor Comput Sci 559:91–107 Santos J, Villot P, Diéguez M (2013) Protein folding with cellular automata in the 3d hp model. In: Proc. of the 15th Annual Conf. Companion on Genetic and Evolutionary Computation, GECCO ’13, pp 1595–1602 dos Santos RMZ, Coutinho S (2001) Dynamics of HIV Approach : A Cellular Automata Approach. Physical Review Letters 87(16) Saraniti M, Goodnick SM (2000) Hybrid fullband cellular automaton/monte carlo approach for fast simula- tion of charge transport in semiconductors. IEEE Trans on Electron Devices 47(10):1909–1916 Sarkar A, Mukherjee A, Das S (2012) Reversibility in asynchronous cellular automata. Complex Systems 21(1):71 Sarkar P (2000) A brief history of cellular automata. ACM Comput Surv 32(1):80–107 Sarkar P, Barua R (1998) Multi-dimensional σ-automata, π-polynomial and generalized s-matrices. Theoret- ical Computer Science 197(1-2):111–138 Sato T, Honda N (1977) Certain relations between properties of maps of tessellation automata. J Computer and System Sciences 15(2):121 – 145 Seredynski F, Bouvry P, Zomaya AY (2004) Cellular automata computations and secret key cryptography. Parallel Computing 30(5 - 6):753 – 766 Seredynski M, Bouvry P (2005) Block cipher based on reversible cellular automata. New Generation Com- puting 23(3):245–258 Serra M, Slater T, Muzio JC, Miller DM (1990) The analysis of one-dimensional linear cellular automata and their aliasing properties. IEEE Trans on CAD 9(7):767–778 Sethi B, Das S (2015) Recent Advances in Natural Computing: Selected Results from the IWNC 7 Sym- posium, Springer Japan, chap Convergence of Asynchronous Cellular Automata (Under Null Boundary Condition) and Their Application in Pattern Classification, pp 35–55 Sethi B, Das S (2016) On the use of asynchronous cellular automata in symmetric-key cryptography. In: Mueller P, Thampi SM, Alam Bhuiyan MZ, Ko R, Doss R, Alcaraz Calero JM (eds) Security in Com- puting and Communications: 4th International Symposium, SSCC 2016, Jaipur, India, September 21-24, 2016, Proceedings, Springer Singapore, Singapore, pp 30–41 Sethi B, Fatès N, Das S (2014) Reversibility of elementary cellular automata under fully asynchronous update. In: Proc. of 11th Annual Conf. Theory and Applications of Models of Computation, TAMC 2014, India, Springer Intl. Publishing, pp 39–49 Sethi B, Roy S, Das S (2016) Asynchronous cellular automata and pattern classification. Complexity 21(S1):370–386 Shaw C, Chatterji D, Maji P, Sen S, Roy BN, Chaudhuri PP (2003) A pipeline architecture for encompression (encryption + compression) technology. In: Proc. of VLSI Design, pp 277–282 Shaw C, Maji P, Saha S, Sikdar BK, Roy S, Chaudhuri PP (2004a) Cellular automata based encompression technology for voice data. In: Proc. of Intl. Conf. on Cellular Automata, Research and Industry, ACRI 2004, Netherlands, pp 258–267 Shaw C, Sikdar BK, Maiti NC (2004b) CA based document compression technology. In: Proc. of 11th Intl. Conf. on Neural Information Processing, ICONIP, pp 679–685 Shaw C, Das S, Sikdar BK (2006) Cellular automata based encoding technique for wavelet transformed data targeting still image compression. In: Proc. of Intl. Conf. on Cellular Automata, Research and Industry, ACRI 2006, France, pp 141–146 Shereshevsky MA (1992) Lyapunov Exponent for one-dimensional Cellular Automata. J Nonlinear Sci 2:1–8 Siap I, Akin H, Uguz˘ S (2011) Structure and reversibility of 2d hexagonal cellular automata. Comput Math Appl 62(11):4161–4169 Sikdar BK, Paul K, Biswas GP, Boppana V, Yang C, Mukherjee S, Chaudhuri PP (2000) Theory and appli- cation of gf(2p) cellular automata as on-chip test pattern generator. In: Proc. of 13th Intl. Conf. on VLSI Design, 2000, pp 556–561 Sikdar BK, Ganguly N, Karmakar A, Chowdhury S, Chaudhuri PP (2001) Multiple Attractor Cellular Au- tomata for Hierarchical Diagnosis of VLSI Circuits. In: Proc. of 10th Asian Test Symposium, Japan, pp 385 – 390 42 Kamalika Bhattacharjee et al.

Sikdar BK, Ganguly N, Chaudhuri PP (2002) Design of hierarchical cellular automata for on-chip test pattern generator. IEEE Trans on Computer-Aided Design of Integrated Circuits and Systems 21(12):1530–1539 Sipper M, Tomassini M (1996) Generating parallel random number generators by cellular programming. Intl J Modern Phys 7(2):180–190 Smith AR III (1971a) Cellular automata complexity trade-offs. Info & Control 18:466–482 Smith AR III (1971b) Simple computation-universal cellular spaces. J ACM 18(3):339–353 Smith AR III (1976) Introduction to and survey of polyautomata theory. Automata Languages Development pp 405–422 Soto JMG (2008) Computation of explicit preimages in one-dimensional cellular automata applying the de bruijn diagram. J Cellular Automata, Special Issues 3(3):219–230 Stratmann M, Worsch T (2002) Leader election in d-dimensional ca in time diam log(diam). Future Gener Comput Syst 18(7):939–950 Sutner K (1991) De bruijin graphs and linear cellular automata. Complex Systems 5(1):19–30 Suzudo T (2004) Spatial pattern formation in asynchronous cellular automata with mass conservation. Phys- ica A: Statistical Mechanics and its Applications 343:185–200 Takesue S (1995) Staggered invariants in cellular automata. Complex Systems 9(2):149–168 Terrier V (2004) Two-dimensional cellular automata and their neighborhoods. Theor comp sci 312(2):203– 222 Thatcher JW (1964) Universality in the von neumann cellular model. Tech. rep., DTIC Document Toffoli T (1977) Computation and construction universality of reversible cellular automata. J Computer and System Sciences 15:213–231 Toffoli T, Margolus N (1987) Cellular Automata Machines: A New Environment for Modeling. MIT Press, Cambridge, MA, USA Toffoli T, Margolus NH (1990) Invertible cellular automata: A review. Physica D: Nonlinear Phenomena 45(1):229 – 253 Tomassini M (2006) Generalized automata networks. In: Proc. of Intl. Conf. on Cellular Automata, Research and Industry, ACRI 2006, France, Springer Berlin Heidelberg, pp 14–28 Tomassini M, Venzi M (2002) Artificially evolved asynchronous cellular automata for the density task. In: Proc. of Intl. Conf. on Cellular Automata, Research and Industry, ACRI 2002, Switzerland, Springer Berlin Heidelberg, pp 44–55 Tomassini M, Sipper M, Perrenoud M (2000) On the generation of high-quality random numbers by two- dimensional cellular automata. IEEE Trans on Computers 49(10):1146–1151 Tomassini M, Giacobini M, Darabos C (2005) Evolution and dynamics of small-world cellular automata. Complex Systems 15:261–284 Tsalides P (1990) Cellular Automata based Built-In Self-Test Structures for VLSI Systems. Elect Lett 26(17):1350–1352 Tsalides P, York TA, Thanailakis A (1991) Pseudo-random Number Generators for VLSI Systems based on Linear Cellular Automata. IEEE Proc E Comput Digit Tech 138(4):241–249 Uguz˘ S, Akin H, Siap I (2013) Reversibility algorithms for 3-state hexagonal cellular automata with periodic boundaries. Intl J Bifurcation and Chaos 23(06):1350,101 Uguz˘ S, Sahin U, Akin H, Siap I (2014) Self-replicating patterns in 2d linear cellular automata. Intl J Bifur- cation and Chaos 24(1) Umeo H, Hisaoka M, Sogabe T (2005) A survey on optimum-time firing squad synchronization algorithms for one-dimensional cellular automata. Intl J Unconventional Computing 1(4):403–426 Vichniac GY (1984) Simulating physics with cellular automata. Physica D: Nonlinear Phenomena 10(1):96 – 116 Vollmar R (1977) On two modified problems of synchronization in cellular automata. Acta Cybernetica 3(4):293–300 Voorhees B (1997) Some parameters characterizing cellular automata rules. Complex Systems 11(5):373–386 Voorhees B (2008) Remarks on applications of de bruijn diagrams and their fragments. J Cellular Automata 3(3):187 – 204 Wang Q, Yu S, Ding W, Leng M (2008) Generating high-quality random numbers by cellular automata with pso. In: Proc. of 4th Intl. Conf. on Natural Computation, ICNC’08, pp 430–433 d Ward T (1994) Automorphisms of Z -subshifts of finite type. Indagationes Mathematicae 5(4):495 – 504 Watts DJ, Strogatz SH (1998) Collective dynamics of ‘small-world’ networks. Nature 393(6684):440–442 Wolfram S (1983) Statistical mechanics of cellular automata. Rev Mod Phys 55(3):601–644 Wolfram S (1984) Universality and complexity in cellular automata. Physica 10:1–35 Wolfram S (1985) Origins of randomness in physical systems. Physics Review Letters 55:449–452 Wolfram S (1986a) Cryptography with Cellular Automata. Advances in Cryptology - Crypto’85, Springer- Verlag 218:429–432 A Survey of Cellular Automata: Types, Dynamics, Non-uniformity and Applications 43

Wolfram S (1986b) Random sequence generation by cellular automata. Advances in Applied Mathematics pp 123–169 Wolfram S (1994) Cellular Automata and Complexity–Collected Papers, Addison Wesley Wolfram S (2002) A New kind of Science. Wolfram-Media Wongthanavasu S, Sadananda R (2003) A ca-based edge operator and its performance evaluation. J Visual Communication and Image Representation 14(2):83 – 96 Wuensche A (1994) Complexity in one-d cellular automata: Gliders, basins of attraction and the z parameter. Working papers 94-04-025, Santa Fe Institute Wuensche A (1998) Classifying Cellular Automata Automatically. Santa Fe Institute Working Paper 98-02- 018 Wuensche A (2017) Discrete Dynamics Lab. http://www.ddlab.com/, [Online; accessed August 25, 2017] Xiao X, Shao S, Huang Z, Chou K (2006) Using pseudo amino acid composition to predict protein structural classes: Approached with complexity measure factor. J Comput Chem 27(4):478–482 Yang XS, Yang YZ (2007) Cellular automata networks. In: Proc. of Unconventional Computing, Luniver Press, pp 280–302 Ye R, Li H (2008) A novel image scrambling and watermarking scheme based on cellular automata. In: Proc. of Intl. Symposium on Electronic Commerce and Security, 2008, pp 938–941