Classification of Two Dimensional Cellular Automata Rules for Symmetric Pattern Generation

Cellular automata (CA) are parallel computational models that comprise of a grid of cells. CA is mainly used for modeling complex systems in various fields, where the geometric structure of the lattices is different. In the absence of a CA model to accommodate different types of lattices in CA, an angle-based CA model is proposed to accommodate various lattices. In the proposed model, the neighborhood structure in a two dimensional cellular automata (2D-CA) is viewed as a star graph. The vertices of the proposed graph are determined by a parameter, angle (θ). Based on the angle (θ), the neighborhood of the CA, which is treated as the vertices of the graph, varies. So this model is suitable for the representation of different types of two dimensional lattices such as square lattice, rectangular lattice, hexagonal lattice, etc. in CA. A mathematical model is formulated for representing CA rules which suit for different types of symmetric lattices. The star graph representation helps to find out the internal symmetries exists in CA rules. Classification of CA rules based on the symmetry exists in the rules, which generates symmetric patterns are discussed in this work.


Introduction
Cellular automata (CA) [1] are computational model which consists of a grid of cells where each of the cells acts as a finite automaton.The neighborhood of a cell C ij in a two dimensional CA is the set of surrounding cells on which the updation of C ij depends upon.The updation of each cell is based on a transition function, which is called a rule of the CA.Data are represented as states of the cell in a CA.The states of each cell get updated in unit time steps in parallel, based on rules which are characterized by the neighborhood in synchronous fashion.The states of the CA get updated by the application of rules uniformly in each cell in the CA and it produces patterns at each time step.The output pattern of the CA shows the dynamic and complex behavior.One of the reasons for the complex behavior of the CA is due to the various properties exists in the CA rules.The pattern generated by the CA is the cumulative observation of the output of the CA in successive time steps.
Cellular automata have enormous applications in various domains such as engineering, physics, biology, etc. CA are used for modeling complex systems [2][3][4][5][6].This has motivated the interest to do the research on the structure of cellular automata.The major components of the CA are its rules that vary according to the number of states, the size of the neighborhood and the geometric structure of the lattice.Since, CA is used as a computational model to model complex problems; the underlying lattices of the CA are different in shape.The primary objective of this work is to propose a model which can represent various types of symmetric lattices and find out the behavior of the rules characterized by the proposed neighborhood structure.Here the neighborhood of a CA is viewed as a type of star graph, so the rules of the model vary according to the lattice structure and size of the neighborhood.In this proposed work, we classify the rules based on the internal symmetric behavior that exists in the rules, which are leading to a symmetric pattern.
The existing neighborhood structures used in CA are using a fixed neighborhood structure for a specific lattice.Major neighboring structures such as vonNeumann neighborhood [7] contains five neighborhood cells and the Moore neighborhood [8] contains nine neighborhood cells for each cell in a two dimensional CA.Wolfram has done an extensive study on totalistic CA [9] based on two dimensional cellular automata with the Moore neighborhood structure, where the updation of every cell in a CA is based on the sum of the state values of the neighborhood of every cell.A.R. Khan [10] used a different approach to represent rules in a rectangular nine neighborhood CA.In a nine neighborhood CA, fixed positional weight is assigned [10] to each cell in the neighborhood of a cell C ij to indicate the dependency of the neighborhood with the cell C ij to update the cell C ij .In Ref. [10] rule 1 indicates the dependency of the cell C ij on itself.Rule 2 indicates the dependency of the cell C ij on its right neighborhood and rule 4 indicate the dependency of the cell C ij on its bottom diagonal cell; rule 8 indicates the dependency of the cell C ij on its bottom cell, etc. in such a way that the nine neighboring cells are considered as nine distinct rules.Figure 1 refers to the two dimensional CA model described in [10] shows the dependency of the neighborhood cells to the cell to be updated, C ij .In another approach, two dimensional CA is viewed as a tree [11] with k + 1 cell structure where each cell has k neighbors.In Ref. [11] the nodes are indexed by numbers 1, 2, 3, .., k and the root node is indexed by (k + 1), the rules are defined based on the traditional approach [1].In order to represent a hexagonal lattice, a seven neighborhood [12] structure is used analogously to a CA model described in [10].To update a cell in a hexagonal lattice, the dependency of the six surrounding cells [12] on the cell to be updated is considered.In Ref. [12] analogous to the two dimensional model described in [10] positional weight is assigned to each cell in clockwise direction to indicate the dependency of the neighborhood cells on the cells to be updated.
Symmetry 2018, 10, x FOR PEER REVIEW 2 of 17 the model vary according to the lattice structure and size of the neighborhood.In this proposed work, we classify the rules based on the internal symmetric behavior that exists in the rules, which are leading to a symmetric pattern.
The existing neighborhood structures used in CA are using a fixed neighborhood structure for a specific lattice.Major neighboring structures such as vonNeumann neighborhood [7] contains five neighborhood cells and the Moore neighborhood [8] contains nine neighborhood cells for each cell in a two dimensional CA.Wolfram has done an extensive study on totalistic CA [9] based on two dimensional cellular automata with the Moore neighborhood structure, where the updation of every cell in a CA is based on the sum of the state values of the neighborhood of every cell.A.R. Khan [10] used a different approach to represent rules in a rectangular nine neighborhood CA.In a nine neighborhood CA, fixed positional weight is assigned [10] to each cell in the neighborhood of a cell  to indicate the dependency of the neighborhood with the cell  to update the cell  .In Ref. [10] rule 1 indicates the dependency of the cell  on itself.Rule 2 indicates the dependency of the cell  on its right neighborhood and rule 4 indicate the dependency of the cell  on its bottom diagonal cell; rule 8 indicates the dependency of the cell  on its bottom cell, etc. in such a way that the nine neighboring cells are considered as nine distinct rules.Figure 1 refers to the two dimensional CA model described in [10] shows the dependency of the neighborhood cells to the cell to be updated,  .In another approach, two dimensional CA is viewed as a tree [11] with  + 1 cell structure where each cell has  neighbors.In Ref. [11] the nodes are indexed by numbers 1, 2, 3, . .,  and the root node is indexed by ( + 1), the rules are defined based on the traditional approach [1].In order to represent a hexagonal lattice, a seven neighborhood [12] structure is used analogously to a CA model described in [10].To update a cell in a hexagonal lattice, the dependency of the six surrounding cells [12] on the cell to be updated is considered.In Ref. [12] analogous to the two dimensional model described in [10] positional weight is assigned to each cell in clockwise direction to indicate the dependency of the neighborhood cells on the cells to be updated.Cellular automata rules have the immense computation power.Depending upon the structure of the neighborhood and the nature of the operations used to define rules [13], the characteristics of the rule may change.In order to find out an exact CA rule for a particular application, we need to classify the CA rules according to its properties.One such property that exists in the CA rule is the internal symmetry exists in it.The output pattern of CA at any iteration varies according to the rule of the CA.The various ways of classification of the rules are discussed in Ref. [14], classification of CA rules into reversible rules, self-symmetric rules and symmetry on pair rules are using matrix algebra on a hexagonal neighborhood model.Linear CA rules are classified based on the patterns generated at  iteration [15] using fixed positional weight 2D-CA model [10].Two dimensional CA rules are classified into symmetric rules and nonequivalent rules under black and white () transformations [11] on the possible permutations in the rule table.Uniform group rules in a two dimensional cellular automata [14] are classified into four classes based on the characteristic matrix called T matrix.Totalistic rules, outer totalistic rules [9] are classified on a 2D-CA based on the number of neighborhoods considered for the updating of each cell.Cellular automata rules have the immense computation power.Depending upon the structure of the neighborhood and the nature of the operations used to define rules [13], the characteristics of the rule may change.In order to find out an exact CA rule for a particular application, we need to classify the CA rules according to its properties.One such property that exists in the CA rule is the internal symmetry exists in it.The output pattern of CA at any iteration varies according to the rule of the CA.The various ways of classification of the rules are discussed in Ref. [14], classification of CA rules into reversible rules, self-symmetric rules and symmetry on pair rules are using matrix algebra on a hexagonal neighborhood model.Linear CA rules are classified based on the patterns generated at k th iteration [15] using fixed positional weight 2D-CA model [10].Two dimensional CA rules are classified into symmetric rules and nonequivalent rules under black and white (BW) transformations [11] on the possible permutations in the rule table.Uniform group rules in a two dimensional cellular automata [14] are classified into four classes based on the characteristic matrix called T matrix.Totalistic rules, outer totalistic rules [9] are classified on a 2D-CA based on the number of neighborhoods considered for the updating of each cell.
Symmetry is a property existing in objects; it has a lot of applications [16][17][18][19] in day to day life in various fields.CA is used for modeling complex systems in various domains, in various types Symmetry 2018, 10, 772 3 of 18 of underlying lattices.So a CA model which is capable of generating symmetric patterns helps to model lots of applications [20] in various fields such as architecture, biology, human body, etc. where symmetry plays a vital role.Based on the symmetric nature of the CA rules, one can decide that whether the CA can generate symmetric patterns or not.Various studies exist on symmetry in CA rules based on various methods.Internal symmetries of CA rules based on permutation states [21], β-calculus, and a universal map derived based on β-calculus [22], discrete Walsh analysis [23], and polynomial representation of one dimensional CA [24] symmetropy [25] are the various methods that exist to measure the symmetry of CA rules.If the rule possesses symmetry, it reflects in the output pattern.By modeling symmetric objects in a CA, one can identify the anomalies present in the objects easily based on the symmetric patterns generated from the objects.So, the main objectives of this paper are as follows.
In the absence of a generic CA model to represent various types of lattices, the main objective of this paper is to propose an angle-based CA model to accommodate various types of symmetric lattices and propose a generic mathematical equation to represent CA rules for any symmetric lattice.In this paper, we propose the classification of CA rules based on the amount of the internal symmetries that exists in the CA rules, which will lead to symmetric patterns generated by a CA.

Angle-Based Address for Cells in a Lattice
Since one of the objectives of this paper is to represent various types of symmetric lattices using CA, a mechanism is required to accommodate various types of lattice in a CA.A finite lattice is a regular arrangement of objects such as rectangle, circle, hexagon, etc. called a rectangular grid, circular grid, or hexagonal grid, respectively.Here we assume a two dimensional CA with two states.In order to accommodate various types of symmetric lattice, we use polar coordinate system to refer a cell with respect to the cell to be updated.The cell to be updated is considered as the pole and the horizontal line drawn from the pole is the polar axis (initial line).For this purpose, we define the distance of a cell from the pole as the number of cells traversed (other than the cell to be updated) by the line joining the pole and the center of the cell.For example, in a rectangular lattice, the distance of a neighbor cell from the cell to be updated is one unit.In various symmetric lattices, the neighboring cells w.r.t. a pole is arranged at different angles such as 60 • in a hexagonal lattice, 45 • in a rectangular lattice, etc.In order to accommodate various symmetric lattices in a two dimensional CA, we define the polar angle (Φ) and input angle (θ) as follows.

Definition 1 (Polar angle (Φ) of a cell).
It is the angle measured in the counter clockwise direction from the reference point (pole) to the center of a neighboring cell in the unit distance in a two dimensional regular lattice.
The reference point is considered as the center of the cell to be updated.The polar angle of each cell varies according to the pole.Every cell will have a unique polar angle w.r.t. a fixed pole.

Definition 2 (Input angle (θ))
. It is a constant, which is determined by the formula, θ = 360 • /p, 0 < θ ≤ 180 • where p is a positive even integer which produces θ as a whole number.
Figure 2 shows the addressing of cells w.r.t a cell in a rectangular lattice.We refer a neighboring cell as C(1, Φ), as the distance from the cell to be updated C(0, 0) to a neighboring cell is one unit and Φ is the polar angle measured between C(0, 0) and any specific neighboring cell.In the two dimensional CA, the existing neighborhood structures such as Moore neighborhood and von Neumann neighborhood uses fixed neighborhood size.With an idea of having a flexible number of neighborhoods in any type of symmetric lattice, and to have a general representation of neighborhood, an n-star graph CA (nSG-CA) is proposed to represent the neighborhood structure in a two dimensional CA.

An n-Star Graph Cellular Automata Model for Two Dimensional CA Definition 3 (Graph). A graph is an ordered pair, G = (V, E), where V is the vertex set and E is the edge set [26].
For example, a graph G is shown in Figure 3.In the two dimensional CA, the existing neighborhood structures such as Moore neighborhood and von Neumann neighborhood uses fixed neighborhood size.With an idea of having a flexible number of neighborhoods in any type of symmetric lattice, and to have a general representation of neighborhood, an n-star graph CA (nSG-CA) is proposed to represent the neighborhood structure in a two dimensional CA.

An n-Star Graph Cellular Automata Model for Two Dimensional CA Definition 3 (Graph).
A graph is an ordered pair, G = (V, E), where V is the vertex set and E is the edge set [26].
For example, a graph G is shown in Figure 3.In the two dimensional CA, the existing neighborhood structures such as Moore neighborhood and von Neumann neighborhood uses fixed neighborhood size.With an idea of having a flexible number of neighborhoods in any type of symmetric lattice, and to have a general representation of neighborhood, an n-star graph CA (nSG-CA) is proposed to represent the neighborhood structure in a two dimensional CA.

An n-Star Graph Cellular Automata Model for Two Dimensional CA Definition 3 (Graph). A graph is an ordered pair, G = (V, E), where V is the vertex set and E is the edge set [26].
For example, a graph G is shown in Figure 3. Figure 3 is a sample n-star graph.The vertex set in the n-star graph, G as shown in Figure 3
is the set of nonempty binary states. iii.

𝑁 describes the finite set of neighborhood of each cell 𝐶 , 𝑁 = {𝐶 } 𝑈 {𝑁} and {𝐶 } ∩ { 𝑁} = 𝛷
where  is the cell to be updated in a two dimensional lattice,  indicates the distance of the cell  from the cell to be updated, and  indicates the polar angle of the cell  with the cell to be updated, so  is (0, 0) and  is the set of the neighborhood of the cell  , which excludes cell  from the set  .iv.In the graph G = (V, E), where

𝑓 is the transition function, defines the local rule to be applied to each cell
Definition 4 (n-star graph).It is defined as a type of star graph with one internal node and N leaves.The vertex set in the n-star graph, G as shown in Figure 3
L is a two dimensional regular lattice.ii.
S is the set of nonempty binary states.iii.N b describes the finite set of neighborhood of each cell where C ij is the cell to be updated in a two dimensional lattice, i indicates the distance of the cell C from the cell to be updated, and j indicates the polar angle of the cell C with the cell to be updated, so C ij is C(0, 0) and N is the set of the neighborhood of the cell C ij , which excludes cell C ij from the set N b .
iv. f is the transition function, defines the local rule to be applied to each cell, f : S t+1 (C ij ) = S t (C ij ), S t (n 1 ), S t (n 2 ), . . . ,S t (n 8 ), where S t+1 (C ij ) indicates the successor state of the cell C ij at t + 1 time step, S t (C ij ) indicates the current state of the cell C ij at t time step and S t (n 1 ), . . ., S t (n 8 ), indicates the current state of each cell in the neighbourhood of C ij .
The neighborhood structure of 2D-CA is can be viewed as one type of a star graph, so it can be called as n-star graph where 'n' indicates the neighborhood structure.

Definition 6 (n-Star graph cellular automata model (nSG-CA)).
It is a type of star graph cellular automata, where the cell to be updated and its neighborhood in a two dimensional CA are viewed as an n-star graph,nSG-CA = (L, S, N b , N, f , V, E), where: i.
L is a regular symmetric lattice where cells are arranged in such a way that, each cell C ij is surrounded by an even number of cells in unit distance.ii.
S is the set of binary states.iii.N b describes the finite set of neighborhood of each cell C ij in an nSG-CA, N b = C ij U N and C ij ∩ N = Φ, the cardinality, |N b | at every cell position must be odd.iv.N is the set of neighborhood cells of each cell C ij , excluding the cell C ij .

v.
f is the transition function termed as a rule in nSG-CA which is characterized by the neighborhood as in the definition of 2D-CA.vi.V is the set of vertices in the nSG-CA; for each cell in nSG-CA, the cells in the neighborhood N b is mapped into vertices V such that C ij is mapped into V 0 and every element in N is mapped into vertices of the n-star graph such that n vii.E is the set of edges in the nSG-CA, which is formed by connecting each cell in the neighbourhood with C ij such as The nSG-CA model for a rectangular lattice with nine neighborhood is shown in Figure 4, where C ij is the cell to be updated and the cells in the neighborhood such as n 1 , n 2 , n 3 , ..., n 8 are equivalent to: The neighborhood structure of 2D-CA is can be viewed as one type of a star graph, so it can be called as n-star graph where 'n' indicates the neighborhood structure.

Definition 6 (n-Star graph cellular automata model (nSG-CA)). It is a type of star graph cellular automata, where the cell to be updated and its neighborhood in a two dimensional CA are viewed as an n-star graph,nSG-CA = (𝐿, 𝑆, 𝑁 , 𝑁, 𝑓, 𝑉, 𝐸), where: i. L is a regular symmetric lattice where cells are arranged in such a way that, each cell 𝐶 is surrounded by an even number of cells in unit distance. ii.
is the set of binary states.
iii.  describes the finite set of neighborhood of each cell  in an nSG-CA,  =    and  ∩  = , the cardinality, | | at every cell position must be odd.

iv.
is the set of neighborhood cells of each cell  , excluding the cell  .The nSG-CA model for a rectangular lattice with nine neighborhood is shown in Figure 4, where  is the cell to be updated and the cells in the neighborhood such as  ,  ,  , . . .,  are equivalent to:

Generic Rule Convention of nSG-CA Model
In a star graph CA, the state of each cell gets updated at every time step based on a rule, which is characterized by the neighborhood.A cell in the neighborhood of  is indicated as  , where  is unit distance and  is , the polar angle of the neighborhood cell.The CA rules are defined based on the dependency of the cell to be updated with the neighboring cells, i.e., the dependency of  , the cell to be updated with  , any cell in the neighborhood of  is defined as that, the state of  at every time step take part in the updation of  .The rule may depend on a maximum of |  | cells in a neighborhood structure, which include the cell  , and its N neighborhood in the unit distance.Different rules are used to update a cell  , based on the dependency of  with its neighbourhood cells.
Since rules are characterized by the neighborhood, every rule can also be represented as a star graph.
In order to distinguish the rules, a positional weight,  is assigned to each cell in the neighborhood.The positional weight of each cell  in the neighborhood w.r.t the  , the cell to be

Generic Rule Convention of nSG-CA Model
In a star graph CA, the state of each cell gets updated at every time step based on a rule, which is characterized by the neighborhood.A cell in the neighborhood of C ij is indicated as n ij , where i is unit distance and j is Φ, the polar angle of the neighborhood cell.The CA rules are defined based on the dependency of the cell to be updated with the neighboring cells, i.e., the dependency of C ij , the cell to be updated with n ij , any cell in the neighborhood of C ij is defined as that, the state of n ij at every time step take part in the updation of C ij .The rule may depend on a maximum of |N b | cells in a neighborhood structure, which include the cell C ij , and its N neighborhood in the unit distance.Different rules are used to update a cell C ij , based on the dependency of C ij with its neighbourhood cells.
Since rules are characterized by the neighborhood, every rule can also be represented as a star graph.
In order to distinguish the rules, a positional weight, P w is assigned to each cell in the neighborhood.The positional weight of each cell n ij in the neighborhood w.r.t the C ij , the cell to be updated is determined by the equation, where Φ is the polar angle of each neighborhood cells, n ij N with the C ij the cell to be updated.
The positional weight, P w of the cell to be updated, is 2 0 .The positional weight of each cell varies according to the cell to be updated.In Equation ( 1), the positional weight, P w n ij , of each cell represents the rule number characterizing the dependency of the cell to be updated, C ij to each element n ij N of its neighborhood cell.The C ij has got dependency only on itself, referred as rule 1.If the cell C ij has dependency on two or more cells, the rule number is calculated by the arithmetic sum of the rule numbers of the relevant cells.
For example, for a circular lattice shown in Figure 5, five neighborhood structures are used.nSG-CA rule 14 refers to the three neighborhood dependency of the cell C ij to its three neighbors is calculated by the formulae 2 3 + 2 2 + 2 1 , where 2 0 is the positional weight of the cell to be updated (C ij ).The total number of rules for a two dimensional CA depends on the value of neighborhood, N b .The total number of rules of the nSG-CA model is 2 N b , which includes the rule characterizing no dependency.For an nSG-CA with a hexagonal lattice has 7 neighborhoods and its positional weight with respect to the cell to be updated (C ij ) is shown in Figure 6.
Symmetry 2018, 10, x FOR PEER REVIEW 6 of 17 where  is the polar angle of each neighborhood cells,  ϵ N with the  the cell to be updated.
The positional weight,  of the cell to be updated, is 2 .The positional weight of each cell varies according to the cell to be updated.In Equation ( 1), the positional weight,  ( ), of each cell represents the rule number characterizing the dependency of the cell to be updated,  to each element    of its neighborhood cell.The  has got dependency only on itself, referred as rule 1.If the cell  has dependency on two or more cells, the rule number is calculated by the arithmetic sum of the rule numbers of the relevant cells.
For example, for a circular lattice shown in Figure 5, five neighborhood structures are used.nSG-CA rule 14 refers to the three neighborhood dependency of the cell  to its three neighbors is calculated by the formulae 2 + 2 + 2 , where 2 is the positional weight of the cell to be updated ( ).The total number of rules for a two dimensional CA depends on the value of neighborhood,  .The total number of rules of the nSG-CA model is 2 , which includes the rule characterizing no dependency.For an nSG-CA with a hexagonal lattice has 7 neighborhoods and its positional weight with respect to the cell to be updated ( ) is shown in Figure 6.In this paper, X-OR is the operation used to update a cell   based on its rule number.X-OR is a binary operator and it is commutative.
The total number of rules for different types of two dimensional lattice is different.For a hexagonal lattice, the size of the neighborhood for each cell  ,| | is 7, so the total rules are 2 7 = 128, in a square lattice, for each cell  with five neighborhood has 32 rules and for each cell  in a rectangular lattice with nine neighborhood can generate 512 rules.A variant of hexagonal lattice, where a cell is placed at every 30° w.r.t the cell to be updated has | | = 13.So the total number of rules are 2 13 .So in order to find out a rule for a particular application, classification of cellular automata is required.

Classification of Two Dimensional Cellular Automata Rules
One principal direction of research in cellular automata is to study the CA dynamics (patterns) which evolves in successive time steps.A detailed analysis of CA dynamics will enable us to understand the emergent behavior of a pattern and the computational capacity of a CA.In other words, CA classification based on the study of its dynamics has been the major focus of researchers.
where  is the polar angle of each neighborhood cells,  ϵ N with the  the cell to be updated.
The positional weight,  of the cell to be updated, is 2 .The positional weight of each cell varies according to the cell to be updated.In Equation ( 1), the positional weight,  ( ), of each cell represents the rule number characterizing the dependency of the cell to be updated,  to each element    of its neighborhood cell.The  has got dependency only on itself, referred as rule 1.If the cell  has dependency on two or more cells, the rule number is calculated by the arithmetic sum of the rule numbers of the relevant cells.
For example, for a circular lattice shown in Figure 5, five neighborhood structures are used.nSG-CA rule 14 refers to the three neighborhood dependency of the cell  to its three neighbors is calculated by the formulae 2 + 2 + 2 , where 2 is the positional weight of the cell to be updated ( ).The total number of rules for a two dimensional CA depends on the value of neighborhood,  .The total number of rules of the nSG-CA model is 2 , which includes the rule characterizing no dependency.For an nSG-CA with a hexagonal lattice has 7 neighborhoods and its positional weight with respect to the cell to be updated ( ) is shown in Figure 6.In this paper, X-OR is the operation used to update a cell   based on its rule number.X-OR is a binary operator and it is commutative.
The total number of rules for different types of two dimensional lattice is different.For a hexagonal lattice, the size of the neighborhood for each cell  ,| | is 7, so the total rules are 2 7 = 128, in a square lattice, for each cell  with five neighborhood has 32 rules and for each cell  in a rectangular lattice with nine neighborhood can generate 512 rules.A variant of hexagonal lattice, where a cell is placed at every 30° w.r.t the cell to be updated has | | = 13.So the total number of rules are 2 13 .So in order to find out a rule for a particular application, classification of cellular automata is required.

Classification of Two Dimensional Cellular Automata Rules
One principal direction of research in cellular automata is to study the CA dynamics (patterns) which evolves in successive time steps.A detailed analysis of CA dynamics will enable us to understand the emergent behavior of a pattern and the computational capacity of a CA.In other words, CA classification based on the study of its dynamics has been the major focus of researchers.In this paper, X-OR is the operation used to update a cell C ij based on its rule number.X-OR is a binary operator and it is commutative.
The total number of rules for different types of two dimensional lattice is different.For a hexagonal lattice, the size of the neighborhood for each cell C ij ,|N b | is 7, so the total rules are 2 7 = 128, in a square lattice, for each cell C ij with five neighborhood has 32 rules and for each cell C ij in a rectangular lattice with nine neighborhood can generate 512 rules.A variant of hexagonal lattice, where a cell is placed at every 30 • w.r.t the cell to be updated has |N b | = 13.So the total number of rules are 2 13 .So in order to find out a rule for a particular application, classification of cellular automata is required.

Classification of Two Dimensional Cellular Automata Rules
One principal direction of research in cellular automata is to study the CA dynamics (patterns) which evolves in successive time steps.A detailed analysis of CA dynamics will enable us to understand the emergent behavior of a pattern and the computational capacity of a CA.In other words, CA classification based on the study of its dynamics has been the major focus of researchers.The CA dynamics vary according to the CA rules.To comprehend the behavior of the rules in the proposed model, it is necessary to have a classification based on their properties.Symmetry is a property exists in CA rules.If a CA rule is symmetric its equivalent pattern is also symmetric.Based on this property, classification of CA rules of nSG-CA model for any heterogeneous symmetric lattice is discussed.Since the nSG-CA model is a type of star graph representation of the neighborhood structure, rules are characterized by the neighborhood, each rule in an nSG-CA can also be represented as a star graph.In order to distinguish the neighborhood structure and rule, the star graph representation of a rule is denoted as r-star graph, where r denote rule.

Definition 7 (r-star graph).
It is a subgraph of n-star graph, in which all the vertices and edges are the subsets of nSG-CA.
In order to measure the symmetry in a star graph, graph automorphism [26] can be used.

Definition 9 (Vertex bijection in a graph).
A vertex bijection f : V(G 1 ) → V(G 2 ) between two graphs G 1 and G 2 if, the total number of edges between every pair of vertices V i and V j in graph G 1 is equal to the total number of edges between their images f (V i ) and f (

The set of automorphisms defines a permutation group known as the automorphisms
. The set of automorphisms of a graph G under the operation, composition of functions, forms a subgroup of the symmetric group of V(G) called the automorphism group [26,27] of G.For example, the total number of automorphism for a star graph (S N ) is N!.In Ref. [28], graph automorphism is used to find the symmetries in a cellular automata, where the global dynamics of a CA are viewed as a graph.So, the concept of graph automorphism can be used as a transformation in an r-star graph to measure the symmetry in a rule.

CA Rules Based on Symmetry
The r-star graph representation of rule 62 in a rectangular lattice with nine neighborhood nSG-CA is shown in Figure 7.In rule 62, the cell C ij depends on five neighborhood cells among nine neighborhoods for its updation.The dependant cells of C ij are marked using bold line and the nondependant cells are marked using a dotted line in the r-star graph representation of rule 62.

CA Rules Based on Symmetry
The r-star graph representation of rule 62 in a rectangular lattice with nine neighborhood nSG-CA is shown in Figure 7.In rule 62, the cell  depends on five neighborhood cells among nine neighborhoods for its updation.The dependant cells of  are marked using bold line and the nondependant cells are marked using a dotted line in the r-star graph representation of rule 62. (2 where  is coefficient and   {0, 1}, * is the multiplication operator.

4.1.1.Representation of a given rule
A rule f can be represented as where a is coefficient and a {0, 1}, * is the multiplication operator.For example, Rule 25 in a rectangular lattice with five neighborhoods can be represented as shown in Figure 8.
For example, Rule 25 in a rectangular lattice with five neighborhoods can be represented as shown in Figure 8.  Automorphisms of a graph is a permutation of its vertex set that preserves incidences of vertices and edges.Since automorphism of a graph is a structure preserving vertex bijection, a transformation is required for the possible mapping of vertices in the r-star graph.So a transformation called -transformation is defined as follows.The set of all -transformations of the rule  are the set of automorphisms of the r-star graph; that is !.It is equivalent to the total automorphisms of the star graph.

Definition 12 (Symmetric rule). A rule 𝑓 is said to be symmetric rule, if ∃ a bijective 𝜣
transformation such that  = .
One of the major focus of this work is to find out the symmetric rules (local internal symmetry), which generate symmetric patterns w.r.t. the line  = 90°.The following theorem supports to define the symmetry in rules w.r.t vertical axis, line  = 90°.
Theorem 1.In a two state two dimensional nSG-CA, the reflection of the edge ((0, 0), (1,  )) Automorphisms of a graph is a permutation of its vertex set that preserves incidences of vertices and edges.Since automorphism of a graph is a structure preserving vertex bijection, a transformation is required for the possible mapping of vertices in the r-star graph.So a transformation called Θ-transformation is defined as follows.
The Θ-transform on f is defined as, The set of all Θ-transformations of the rule f are the set of automorphisms of the r-star graph; that is N!.It is equivalent to the total automorphisms of the star graph.

Definition 12 (Symmetric rule).
A rule f is said to be symmetric rule, if ∃ a bijective Θ transformation such that f Θ = f .One of the major focus of this work is to find out the symmetric rules (local internal symmetry), which generate symmetric patterns w.r.t. the line θ = 90 • .The following theorem supports to define the symmetry in rules w.r.t vertical axis, line θ = 90 • .Theorem 1.In a two state two dimensional nSG-CA, the reflection of the edge (C(0, 0), C(1, l θ)) w.r.t line θ = 90 • in the r-star graph of any rule f is (C(0, 0), C(180 − l θ)).
Proof.Without loss of any generality, we assume a rectangular lattice for two dimensional nSG-CA.Let C(1, lθ) be a cell in the neighborhood of C(0, 0).By the description of our nSG-CA model, the polar angle(θ), between the edge (C(0, 0), C(1, l θ)) with the initial line is l θ.Then the angle between the edge (C(0, 0), C(1, l θ)) with the axis of reflection θ = 90 • is 90 − lθ.In a reflection of a line w.r.t an axis, the axis of reflection should bisect the angle between the original line and the reflected line.The only line which will make an angle 90 − lθ with the axis of reflection θ = 90 • is the edge of the star graph which will have a polar angle of lθ + 90 − l θ + 90 − l θ = 180 − l θ, as shown in Figure 9  Based on the above Theorem 1, the symmetry in rules w.r.t. the line  = 90°, which is denoted as self symmetry is defined.

Algorithm to Identify the Nature of Symmetry in CA Rules
The following algorithm (Algorithm 1) is used to identify the nature of symmetry in CA rules.

Algorithm 1. Identification of type of symmetry in a rule.
Input: Rule number,  Output: Returns the pairwise symmetric pair rules of  or Conclude that  is self-symmetric Initialization 1 Let 2 be a partition of  with coefficient 1 2 Let  be a horizontal line passing through the cell to be updated on -Axis.Based on the above Theorem 1, the symmetry in rules w.r.t. the line θ = 90 • , which is denoted as self symmetry is defined.

Definition 13 (Self-symmetry in a rule).
A rule f is said to be self symmetric in the r-star graph, if it satisfies the following conditions: 1.

Algorithm to Identify the Nature of Symmetry in CA Rules
The following algorithm (Algorithm 1) is used to identify the nature of symmetry in CA rules.

Description of Algorithm
The algorithm to identify the nature of symmetry for a given rule is shown in Algorithm1.In order to identify the nature of symmetry exists in a rule, the given rule is partitioned into powers of 2 based on the Equation (2).Assuming that a horizontal line L is passed through the cell to be updated and it contains two partitions such as 2 i in the left side of cell to be updated and 2 j in the right side of the cell to be updated.Each partition of a rule is either at the top or bottom of the line L. Thus, two cases are considered.Case 1 checks whether the partition is in the top of the line L or not and find out the equivalent reflection of each partition.Case 2 checks for the partitions which are in the bottom of the line L and find out its equivalent reflections.Case 3 checks whether the partition includes the cell to be updated or not and find out the reflection.If the sum of the reflections of a rule is same as the given rule number, then conclude that the given rule is self-symmetric and the sum of the reflections of its partitions of the given rule differs from the given rule, then conclude that they are pairwise symmetric rules.The Algorithm 1 takes polynomial time complexity only to check the nature of the rules.

Illustration
Consider a rule 25 in a hexagonal lattice with seven neighborhoods.The partitions of the rule 25 with coefficient 1 are 2 4 , 2 3 , and 2 0 .Consider each of the partitions, 2 p as 2 4 , then 2 p equals 2 i so, the image is 2 1 .The second partition is 2 3 , so consider 2 p as 2 3 which is lesser than 2 p , then d = 4-3, i.e., 1.Then the image is 2 1+1 i.e., 2 2 .The third partition is 2 0 , then the image is 2 0 itself.So the sum of 2 1 , 2 2 , and 2 0 is 7, which is not equal to 25.So conclude that rule 7 and rule 25 are pairwise symmetric rules in a hexagonal lattice with seven neighborhoods.

Global Symmetry (Symmetry in Pattern)
The local internal symmetry of the rule f is discussed in the session 4.2.The connection between local internal symmetries and the dynamics of nSG-CA is provided by global symmetries, which are obtained as concatenations of local internal symmetries.Figure 10 shows the r-star graph of a self-symmetric rule, in the figure 10, the edges present in the r-star graph is marked as bold.If the rule is self symmetric, the cell state set of the rule is partitioned into three disjoint sets w.r.t. the vertical line.They are as follows:   To illustrate this, let us consider a rule f , )} are local internal symmetries of the rule f as shown in the Figure 10.The cell state set of can be divided into three sets.They are, the right side of the vertical line A 3 = {C(0, 0)} is the cell on the vertical line.nSG-CA is a dynamical system ((Z K ) z x, (Z K ) z , f ) where evolution is the state space (Z K ) z x, (Z K ) z is obtained in discrete steps by the repeated iteration of the global evolution rule.
F : (Z K ) z x, (Z K ) z → (Z K ) z x, (Z K ) z , where K = {0, 1}.The global evolution rule F is induced by a local rule f : (Z K ) 2r+1 x, (Z K ) 2r+1 → Z K , 2r is the number of neighbors of the central cell.If f is self symmetric, then the rule set can be partitioned into three disjoint sets.Let A 1 is the cells of the left side, A 2 is the cells on the right side of the vertical line, θ = 90 • , and A 3 is on the vertical line.For the input configuration x, the evolving state set of A 1 and the evolving state of A 2 are symmetric, because of the internal symmetry of each cell.The evolving state set of A 3 are also symmetric since, cells of A 3 are on the vertical line.Therefore, the self-symmetric rule f generates symmetric pattern F, which is symmetric w.r.t.line θ = 90 • obtained by A 1 , A 2 and A 3 act on an input configuration x.

Results
There are two types of symmetric rules with respect to line θ = 90 • in an nSG-CA model.They are pairwise symmetric rules and self-symmetric rules.The nSG-CA model is based on null boundary conditions.X-OR is considered as the operator for the experiments.Consider a rectangular lattice with five neighborhood cells.Figure 11 shows the initial seed image, where * represents 1 and space represents 0. In order to generate a pattern, X-OR operation is applied to all the cells in the neighborhood with the cell to be updated.The uniform rule is applied to all the cells w.r.t the cell to be updated at each time step in parallel.Null boundary conditions are applied.The symmetry axis is a vertical line passing through 90 • .Figure 12 shows the pattern of rule 19 and rule 25 in a rectangular lattice with five neighborhood structure.The evolving pattern in four iterations are shown in the Figure 12.From the figure, it is observed that both the patterns are pairwise symmetric.i.e., symmetric with respect to axis, θ = 90 • .Figure 13 shows the pattern of the rule 31 in a rectangular lattice with five neighborhoods at 8th iteration, which shows a self-symmetric pattern.
nSG-CA is a dynamical system (( ) x, ( ) , ) where evolution is the state space ( ) x, ( ) is obtained in discrete steps by the repeated iteration of the global evolution rule.
: ( ) x, ( ) → ( ) x, ( ) , where  = {0,1}.The global evolution rule  is induced by a local rule : ( ) x, ( ) →  , 2 is the number of neighbors of the central cell.If  is self symmetric, then the rule set can be partitioned into three disjoint sets.Let  is the cells of the left side,  is the cells on the right side of the vertical line,  = 90°, and  is on the vertical line.For the input configuration , the evolving state set of  and the evolving state of  are symmetric, because of the internal symmetry of each cell.The evolving state set of  are also symmetric since, cells of  are on the vertical line.Therefore, the self-symmetric rule  generates symmetric pattern , which is symmetric w.r.t.line  = 90° obtained by  ,  and  act on an input configuration .

Results
There are two types of symmetric rules with respect to line  = 90° in an nSG-CA model.They are pairwise symmetric rules and self-symmetric rules.The nSG-CA model is based on null boundary conditions.X-OR is considered as the operator for the experiments.Consider a rectangular lattice with five neighborhood cells.Figure 11 shows the initial seed image, where * represents 1 and space represents 0. In order to generate a pattern, X-OR operation is applied to all the cells in the neighborhood with the cell to be updated.The uniform rule is applied to all the cells w.r.t the cell to be updated at each time step in parallel.Null boundary conditions are applied.The symmetry axis is a vertical line passing through 90°. Figure 12 shows the pattern of rule 19 and rule 25 in a rectangular lattice with five neighborhood structure.The evolving pattern in four iterations are shown in the Figure 12.From the figure, it is observed that both the patterns are pairwise symmetric.i.e., symmetric with respect to axis,  = 90°.Figure 13 shows the pattern of the rule 31 in a rectangular lattice with five neighborhoods at 8th iteration, which shows a self-symmetric pattern.In order to understand the behavior of the X-OR rule, an evolution of X-OR for four iterations on a symmetric initial seed is shown in Figure 14.From this, one can observe that if the input is symmetric and if we apply a symmetric rule it generates a symmetric pattern at every time step.In order to understand the behavior of the X-OR rule, an evolution of X-OR for four iterations on a symmetric initial seed is shown in Figure 14.From this, one can observe that if the input is symmetric and if we apply a symmetric rule it generates a symmetric pattern at every time step.The classification of symmetric rules in a rectangular lattice with five neighborhood is shown in Table 1.The total 31 rules are into five classes based on the number of cells dependent on the cells to be updated among the five neighborhood cells.Thus 5 C1 indicates dependency of one neighborhood to the cell to be updated among five neighborhoods; 5 C2, 5 C3, 5 C4, 5 C5 indicates the dependency of two, three, four, and five neighborhood cells to the cell to be updated, respectively.14) ( 27) - The classification of symmetric rules in a rectangular lattice with five neighborhood is shown in Table 1.The total 31 rules are classified into five classes based on the number of cells dependent on the cells to be updated among the five neighborhood cells.Thus 5 C 1 indicates dependency of one neighborhood to the cell to be updated among five neighborhoods; 5 C 2 , 5 C 3 , 5 C 4 , 5 C 5 indicates the dependency of two, three, four, and five neighborhood cells to the cell to be updated, respectively.21) R( 30) -R( 20) R( 26) -Consider a hexagonal lattice with seven neighborhoods and an initial seed image shown in Figure 11.Then, Figures 15 and 16 indicate two pair rules which are generating pairwise symmetric patters.Figure 16 indicates the pattern of rule 28 in a hexagonal lattice for six iterations.The Pattern generated for Rule 14 in a hexagonal lattice for six iterations is shown in Figure 16.Self-symmetric pattern of rule 97 for eight iterations is shown in Figure 17.
The classification of symmetric rules in a rectangular lattice with five neighborhood is shown in Table 1.The total 31 rules are classified into five classes based on the number of cells dependent on the cells to be updated among the five neighborhood cells.Thus 5 C1 indicates dependency of one neighborhood to the cell to be updated among five neighborhoods; 5 C2, 5 C3, 5 C4, 5 C5 indicates the dependency of two, three, four, and five neighborhood cells to the cell to be updated, respectively.14) ( 27) -(24,18) ( 17) (22,28) ( 21) ( 30) -( 20) ( 26) -Consider a hexagonal lattice with seven neighborhoods and an initial seed image shown in Figure 11.Then, Figures 15 and 16 indicate two pair rules which are generating pairwise symmetric patters.Figure 16 indicates the pattern of rule 28 in a hexagonal lattice for six iterations.The Pattern generated for Rule 14 in a hexagonal lattice for six iterations is shown in Figure 16.Self-symmetric pattern of rule 97 for eight iterations is shown in Figure 17.The classification of symmetric rules in a hexagonal lattice with seven neighborhood cells are shown in Table 2.There are 128 rules in a two dimensional CA with hexagonal lattice including rule 0. These rules are classified into seven classes based on the number of cells dependent on the cells to be updated among the seven neighborhood cells.Thus 7 C1 indicates dependency of one neighborhood to the cell to be updated among seven neighborhoods cells; 7 C2, 7 C3, 7 C4, 7 C5, 7 C6, 7 C7 indicates the dependency of two, three, four, five, six, and seven neighborhood cells to the cell to be updated respectively.PR denote pairwise symmetric rules, which are mentioned in brackets and self-denote the self-symmetric rules in a two dimensional CA with hexagonal lattice.There are no pairwise symmetric rules in 7 C7 category.The classification of symmetric rules in a hexagonal lattice with seven neighborhood cells are shown in Table 2.There are 128 rules in a two dimensional CA with hexagonal lattice including rule 0. These rules are classified into seven classes based on the number of cells dependent on the cells to be updated among the seven neighborhood cells.Thus 7 C1 indicates dependency of one neighborhood to the cell to be updated among seven neighborhoods cells; 7 C2, 7 C3, 7 C4, 7 C5, 7 C6, 7 C7 indicates the dependency of two, three, four, five, six, and seven neighborhood cells to the cell to be updated respectively.PR denote pairwise symmetric rules, which are mentioned in brackets and self-denote the self-symmetric rules in a two dimensional CA with hexagonal lattice.There are no pairwise symmetric rules in 7 C7 category.The classification of symmetric rules in a hexagonal lattice with seven neighborhood cells are shown in Table 2.There are 128 rules in a two dimensional CA with hexagonal lattice including rule 0. These rules are classified into seven classes based on the number of cells dependent on the cells to be updated among the seven neighborhood cells.Thus 7 C 1 indicates dependency of one neighborhood to the cell to be updated among seven neighborhoods cells; 7 C 2 , 7 C 3 , 7 C 4 , 7 C 5 , 7 C 6 , 7 C 7 indicates the dependency of two, three, four, five, six, and seven neighborhood cells to the cell to be updated respectively.PR denote pairwise symmetric rules, which are mentioned in brackets and self-denote the self-symmetric rules in a two dimensional CA with hexagonal lattice.There are no pairwise symmetric rules in 7 C 7 category.used bilaterally symmetry analysis of the pattern generated from the models; CA is used for image processing [35] applications.
The main application of the nSG-CA model is to find out the asymmetry in symmetric images such as brain anomaly detection, anomaly detection in mammograms, etc.The brain exhibits a high level of bilateral symmetry and it gets violated in the presence of an anomaly.So with the pairwise symmetric rules, one can find out the anomaly in brain images.Similarly like any other objects which exhibits symmetry with respect to line θ = 90 • .
Since CA is used for modeling complex systems the nSG-CA model is suitable for modeling different types of symmetric regular lattices such as the square lattice, rectangular lattice, hexagonal lattice, etc.In crashworthy applications, in order to absorb more crash energy, different variants hexagonal lattice such as honeycomb structures [37,38] where cells are placed in 60 • , 30 • , 15 • , etc. are used.Since cellular automata can be used as a platform to simulate crash worthy applications [39], using the nSG-CA model, one can simulate any applications with honeycomb structures because, the representation of honeycomb structure is easy with this proposed model.Moreover, all the rules of the proposed model are bilaterally symmetric.Since the symmetric rules are capable of generating symmetric patterns, using this nSG-CA model, one can generate symmetric patterns based on various types of lattice to model various complex systems.

Comparison with Existing Models
The existing two dimensional CA models such as the Moore neighborhood [1] and von Neumann neighborhood [8] are used for the representation of rectangular lattices with nine neighborhoods and five neighborhoods.Other fixed weight neighborhood models [10] and the seven neighborhood hexagonal model [12], which is based on the fixed weight neighborhood model, also exist.Instead of multiple models, one can represent any symmetric lattice such as a rectangular lattice, hexagonal lattice, circular lattice, square lattice, etc. using the nSG-CA model based on an angle itself.
In many of the applications, in order to generate bilateral symmetric patterns i.e., vertical symmetric patterns, pairwise symmetrical CA rules are required.The classification of symmetric rules discussed in [14][15][16] requires exponential time complexity to identify a pairwise symmetric rules which can generate a bilateral symmetric pattern, because they are defined based on a permutation approach.However in this work an algorithm is proposed to find the self-symmetric rule and a pairwise symmetric rule in polynomial time, which generates bilateral symmetric patterns.

Conclusions
This paper has described a cellular automata model with which one can model any uniform CA with various types of regular lattices such as rectangular lattice, circular lattice, hexagonal lattice etc. where each cell is surrounded by an even number of cells.A mathematical formula is proposed to generate rules in a 2D-CA based on various types of underlying lattice.A polynomial time algorithm is proposed to identify self-symmetric rules and pairwise symmetric rules in any type of symmetric lattice in a two dimensional CA, which are capable of generating symmetric patterns.This paper focused on the symmetry w.r.t the middle of the lattice.The scope of this paper can be extended to study any type of symmetry with reference to any axis.The results of this paper can be applied to anomaly detection in symmetric objects that exists in nature, leading to many vital applications such as brain tumor, facial anomaly etc.

Figure 2 .
Figure 2. Angle-based addressing of a cell in a rectangular lattice.

Figure 3
Figure3is a sample n-star graph.The vertex set in the n-star graph, G as shown in Figure3is, V = {V } U {V , V , V , V , V , V , V , V } and edge set, E = { e = (V , V ), e = (V , V ), … , e = (V , V )}.Definition 5 (2D-CA).It is a two dimensional cellular automata have five tuples, 2 = (, ,  , , ), where: i. is a two dimensional regular lattice.ii. is the set of nonempty binary states.iii.describes the finite set of neighborhood of each cell ,  = { }  {} and { } ∩ { } =  where  is the cell to be updated in a two dimensional lattice,  indicates the distance of the cell  from the cell to be updated, and  indicates the polar angle of the cell  with the cell to be updated, so  is (0, 0) and  is the set of the neighborhood of the cell  , which excludes cell  from the set  .iv.  is the transition function, defines the local rule to be applied to each cell, :  ( ) =  ( ),  ( ),  ( ), …,  ( ), where  ( ) indicates the successor state of the cell  at  + 1

Figure 2 .
Figure 2. Angle-based addressing of a cell in a rectangular lattice.

Figure 2 .
Figure 2. Angle-based addressing of a cell in a rectangular lattice.
315 • ) Symmetry 2018, 10, x FOR PEER REVIEW 5 of 17 time step,  ( ) indicates the current state of the cell  at  time step and  ( ), …,  ( ), indicates the current state of each cell in the neighbourhood of  .
is mapped into vertices V such that  is mapped into  and every element in  is mapped into vertices of the n-star graph such that  →  ,  →  ,  →  , …  →  for all   .vii. is the set of edges in the nSG-CA, which is formed by connecting each cell in the neighbourhood with  such as {( ,  ), {( ,  ), … {( ,  )}.

Figure 4 .
Figure 4. n-star graph CA(nSG-CA) neighborhood model of a rectangular lattice with nine neighborhood cells.

Figure 4 .
Figure 4. n-star graph CA(nSG-CA) neighborhood model of a rectangular lattice with nine neighborhood cells.

Figure 7 .
Figure 7. r-star graph representation of rule 62 in rectangular lattice with nine neighborhood nSG-CA.

Figure 7 .
Figure 7. r-star graph representation of rule 62 in rectangular lattice with nine neighborhood nSG-CA.

Figure 8 .
Figure 8. r-star graph representation of rule 25 in five neighborhood nSG-CA.

Figure 8 .
Figure 8. r-star graph representation of rule 25 in five neighborhood nSG-CA.

Figure 9 .
Figure 9. Reflection in the r-star graph.

Figure 9 .
Figure 9. Reflection in the r-star graph.
(a) State set in the left side of the vertical line; (b) State set on the right side of the vertical line; (c) State set is on the vertical line.Symmetry 2018, 10, x FOR PEER REVIEW 11 of 17 (b) State set on the right side of the vertical line; (c) State set is on the vertical line.

Figure 10 .
Figure 10.r-star graph of a self-symmetric rule.To illustrate this, let us consider a rule ,  = (0,0) ⊕ C(1,45°) ⊕ C(1,135°) ⊕ C(1,225°) ⊕ C(1, 315°),  = (0, 90°, 270°, 90°, 270°) is a transform of the rule , since  =  and  is a symmetric rule, { C(1,135°), C(1,45°)}, {C(1,225°), C(1, 315°)} are local internal symmetries of the rule  as shown in the Figure 10.The cell state set of  is  = { (0,0), C(1,45°), C(1,135°), C(1,225°), C(1, 315° )} can be divided into three sets.They are,  = { C(1,135°), C(1,225°)} is on the left side of the vertical line  = { C(1,45°), C(1, 315° )} is in the right side of the vertical line  = { (0,0)} is the cell on the vertical line.nSG-CA is a dynamical system (( ) x, ( ) , ) where evolution is the state space ( ) x, ( ) is obtained in discrete steps by the repeated iteration of the global evolution rule.: ( ) x, ( ) → ( ) x, ( ) , where  = {0,1}.The global evolution rule  is induced by a local rule : ( ) x, ( ) →  , 2 is the number of neighbors of the central cell.If  is self symmetric, then the rule set can be partitioned into three disjoint sets.Let  is the cells of the left side,  is the cells on the right side of the vertical line,  = 90°, and  is on the vertical line.For the input configuration , the evolving state set of  and the evolving state of  are symmetric, because of the internal symmetry of each cell.The evolving state set of  are also symmetric since, cells of  are on the vertical line.Therefore, the self-symmetric rule  generates symmetric pattern , which is symmetric w.r.t.line  = 90° obtained by  ,  and  act on an input configuration .

Figure 10 .
Figure 10.r-star graph of a self-symmetric rule.

Figure 12 .
Figure 12.Pattern evolution of of rule 19 and rule 25 in a five neighborhood rectangular lattice.

Figure 13 .
Figure 13.Self-symmetric pattern of rule 31 with five neighborhoods at 9th iteration in a rectangular lattice.

Figure 12 .
Figure 12.Pattern evolution of of rule 19 and rule 25 in a five neighborhood rectangular lattice.

Figure 12 .
Figure 12.Pattern evolution of of rule 19 and rule 25 in a five neighborhood rectangular lattice.

Figure 13 .
Figure 13.Self-symmetric pattern of rule 31 with five neighborhoods at 9th iteration in a rectangular lattice.

Figure 13 .
Figure 13.Self-symmetric pattern of rule 31 with five neighborhoods at 9th iteration in a rectangular lattice.

Figure 14 .
Figure 14.Evolution of an X-OR operation of rule 10 in a rectangular axis-5 neighborhood CA based on an initial seed in four steps.

Figure 14 .
Figure 14.Evolution of an X-OR operation of rule 10 in a rectangular axis-5 neighborhood CA based on an initial seed in four steps.

Figure 17 .
Figure 17.Self-symmetric pattern of rule 97 at 7th iteration in a hexagonal lattice.

Figure 17 .
Figure 17.Self-symmetric pattern of rule 97 at 7th iteration in a hexagonal lattice.

Figure 17 .
Figure 17.Self-symmetric pattern of rule 97 at 7th iteration in a hexagonal lattice.

Algorithm 1. Identification of type of symmetry in a rule.
Let 2 i and 2 j be two partitions coincide with L such that 2 i is on the left side and 2 j is on the right side w.r.t the cell to be updated.

Table 1 .
Classification of rules in a rectangular CA lattice with N = 5, where PR denotes pairwise symmetric rules and self-denotes self-symmetric rules.

Table 1 .
Classification of rules in a rectangular CA lattice with N = 5, where PR denotes pairwise symmetric rules and self-denotes self-symmetric rules.

Table 1 .
Classification of rules in a rectangular CA lattice with N = 5, where PR denotes pairwise symmetric rules and self-denotes self-symmetric rules.

Table 2 .
Classification of rules in a hexagonal lattice with seven neighboring cells.

Table 2 .
Classification of rules in a hexagonal lattice with seven neighboring cells.