0% found this document useful (0 votes)
18 views25 pages

Bidesh Complex System

This paper presents a method for synthesizing scalable single length cycle, single attractor cellular automata (SACAs) in linear time, specifically O(n). It introduces a graph-based tool called the next state transition diagram (NSRTD) to explore SACA properties and enables the construction of larger SACAs from existing configurations in constant time. The research contributes to the understanding and application of SACAs in various fields, including authentication and cryptography.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views25 pages

Bidesh Complex System

This paper presents a method for synthesizing scalable single length cycle, single attractor cellular automata (SACAs) in linear time, specifically O(n). It introduces a graph-based tool called the next state transition diagram (NSRTD) to explore SACA properties and enables the construction of larger SACAs from existing configurations in constant time. The research contributes to the understanding and application of SACAs in various fields, including authentication and cryptography.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Synthesis of Scalable Single Length Cycle,

Single Attractor Cellular Automata in


Linear Time

Bidesh Chakraborty
Department of Computer Science and Engineering
Haldia Institute of Technology, Haldia
Purba Medinipur, West Bengal 721657, India
Mamata Dalui
Department of Computer Science and Engineering
National Institute of Technology, Durgapur
Paschim Burdwan, West Bengal 713209, India
Biplab K. Sikdar
Department of Computer Science and Technology
Indian Institute of Engineering Science and Technology, Shibpur
Howrah, West Bengal 711103, India

This paper proposes the synthesis of single length cycle, single attractor
cellular automata (SACAs) for arbitrary length. The n-cell single length
cycle, single attractor cellular automaton (SACA), synthesized in linear
time O(n), generates a pattern and finally settles to a point state called
the single length cycle attractor state. An analytical framework is
developed around the graph-based tool referred to as the next state
transition diagram to explore the properties of SACA rules for three-
neighborhood, one-dimensional cellular automata. This enables synthe-
sis of an n + 1-cell SACA from the available configuration of an n-cell
SACA in constant time and an (n + m)-cell SACA from the available
configuration of n-cell and m-cell SACAs also in constant time.

Keywords: cellular automata; single length cycle, single attractor


cellular automata; SACA; scalable test structure; NSRTD; linear time

1. Introduction

The cellular automaton (CA), an autonomous finite-state machine,


consists of a number of cells organized in the form of a lattice. Over
the years, it has proven its efficiency as a powerful modeling tool
[1–6]. However, complete characterization of such a machine is still
an open research area. In [7] Martinez reports several classifications
of elementary cellular automata (ECAs), including Wolfram’s classifi-
cation, Wuensche’s classification, and Li and Packard’s classification,
and proposes a new classification based on memory functions. The
asymptotic behavior of one-dimensional cellular automata (CAs) is
https://doi.org/10.25088/ComplexSystems.30.3.415
416 B. Chakraborty, M. Dalui and B. K. Sikdar

explored in [8], where the complex behavior of CAs with an increas-


ing number of symbols and neighborhood size has been illustrated.
During characterization of the three-neighborhood, one-dimensional
CA state space, the researchers identified a set of CA states called
attractors, toward which neighboring states asymptotically approach
in the course of their dynamic evolution [9]. The attractors of
linear/additive CAs are identified and explored in [10–12].
A graph-based solution for null-boundary invertible CAs was pro-
posed in [13] and that for periodic boundary CAs in [14]. However,
to model a wide variety of physical systems that are nonhomogeneous
in nature, a nonhomogeneous CA structure (also called a hybrid CA)
is evolved as an alternative to the uniform structure [15, 10]. Charac-
terizations of single length cycle, single attractor cellular automata
(SACAs) over hybrid structures, especially beyond the linear domain,
are yet to be explored. Such a hybrid CA (i.e., SACA) is of prime inter-
est in devising schemes for different applications, especially in authen-
tication, cache coherency verification and cryptography [10, 16–18].
A number of papers have reported on how to characterize the prop-
erties of SACAs based on the attractors. However, such schemes
mostly rely on graphical analysis [19]. This paper provides complete
characterization of SACA rules, employed for the design, to get better
insight into their cascadable structure leading to the desired scalable
design. With this target, we classify 256 three-neighborhood CA rules
into nine groups and consider the relationship between two consecu-
tive cell rules to enable analysis/synthesis of SACAs of any arbitrary
length in linear time.
The precise contribution of this research is summarized below.
◼ A scheme is proposed for the synthesis of an n-cell scalable SACA struc-
ture in O(n) time. The graph-based tool, referred to as the next state
RMT transition diagram (NSRTD), is effectively employed for the syn-
thesis of SACAs.
◼ A design methodology is proposed for constructing an n + 1-cell
SACA from an available n-cell SACA in constant time.
◼ A constant time solution is reported for constructing an (n + m)-cell
SACA from the available n-cell and m-cell SACAs.
◼ A hardware structure is proposed to realize the synthesis of n + 1-cell
and (n + m)-cell SACAs from the n-cell and m-cell SACAs.
The next section provides CA preliminaries relevant for current
work.

2. Cellular Automaton Preliminaries

A CA can be viewed as an autonomous finite-state machine. A CA


cell has two states: 0 or 1, and the next state of the ith CA cell is
Complex Systems, 30 © 2021
Synthesis of Scalable SACAs in Linear Time 417

St+1
i  fi Sti-1 , Sti , Sti+1 , where Sti-1 , Sti and Sti+1 are the present states of
the left neighbor, self and right neighbor of the ith cell at time t. fi is
the next state function. The St  St1 , St2 , … , Stn  at t is the present
state of the CA.
The fi can be expressed in the form of a truth table (Table 1). The
decimal equivalent of the eight outputs is called “rule” Ri . In a two-
state three-neighborhood CA, there can be 28 (256) rules. Three such
rules, 80, 176 and 194, are illustrated in Table 1. The first row lists
the possible 23 (8) combinations of the present states of cells i - 1, i
and i + 1 at time t. The last three rows indicate the next states of the
ith cell at time t + 1, forming the rules 80 (NS  Si-1 · S′i+1 ), 176
(NS  Si-1 · S′i + Si-1 · Si+1 ) and 194 (NS  S′i-1 · S′i · Si+1 + Si-1 Si ).
Definitions 1–4 are relevant to make understanding the CA theory
included in this paper easier.
A combination of present states Sti-1 , Sti , Sti+1 , shown in
Definition 1.
the first row of Table 1, is referred to as the rule min term (RMT).
For example, column 100 of Table 1 is the fourth RMT. The next
states corresponding to this are 0 for rule 194 and 1 for rules 80 and
176. The RMT 0 (000) is 0 in rules 80, 176 and 192 (Table 1). An
RMT is represented as T(m), m  0, 1, 2, 3, 4, 5, 6, 7, that is,
T(m)  T. The RMT for CA cell i at time t is denoted as Tti (m). For
example, Tti 0 denotes cell 1 RMT T0 at time t. However, in the dia-
grams in this paper, an RMT is represented only by the corresponding
decimal number m.

Parent States 111 110 101 100 011 010 001 000 Rule
RMT (7) (6) (5) (4) (3) (2) (1) (0)
next state 0 1 0 1 0 0 0 0 80
next state 1 0 1 1 0 0 0 0 176
next state 1 1 0 0 0 0 1 0 194

Table 1. RMT of the CA rules.

Definition 2.An RMT x0y (x1y) in a CA rule is called passive (self-


replicating) if the RMT x0y (x1y) is 0 (1). On the other hand, if an
RMT x0y (x1y) is 1 (0), it is active (non-self-replicating). The RMT
T0 (000) is 0 and RMT T6 (110) is 1 in rule 80 (Table 1). These
two RMTs are passive. On the other hand, RMT T4 (100) in rule
80 is active, as it is 1 (Table 1).
Definition 3.
An RMT string (RS) is defined as a sequence of consec-
utive RMTs that appear in a state of the CA. It is represented by the

https://doi.org/10.25088/ComplexSystems.30.3.415
418 B. Chakraborty, M. Dalui and B. K. Sikdar

sequence of RMTs T1 , T2 , … , Tn , where Ti ∈ T  T0, T1,


T2, T3, T4, T(5), T6, T(7). For example, the state 1101 of a
four-cell null-boundary CA can be represented by the RS
T1 , T2 , T3 , T4   T3, T6, T(5), T2.
Definition 4.
A rule is balanced if it has an equal number of zeros and
ones out of its eight RMTs; otherwise, the rule is unbalanced.
All the rules in Table 1 are unbalanced, whereas rule 170
(10101010) with an equal number of zeros and ones is a balanced
rule.
The set ℛ  〈ℛ1 , ℛ2 , … , ℛi , … , ℛn 〉 of rules configures the cells of
an n-cell CA. If all the ℛi are the same, the CA is a uniform CA; other-
wise, it is a nonuniform/hybrid CA. For the current paper, we con-
sider null boundary CAs as in Figure 1, where the left neighbor of the
leftmost cell as well as the right neighbor of the rightmost cell is 0.
A CA is reversible if its states form only cycles in the state transi-
tion diagram; otherwise, the CA is irreversible (Figure 2(a)). A set of
states of a CA can form a loop (cycle) (0 → 0, 8 → 8 and 2 → 5 → 2
of Figure 2(a)). Such a loop is called an attractor. An attractor forms
a basin with the states that lead to the attractor (0-basin of Fig-
ure 2(a) contains eight states, including the attractor state 0). The
cycles 0 → 0 and 8 → 8 are single length cycle attractors, called the
point state, which is of our current interest.

Figure 1. An n-cell null boundary CA.

Figure 2. State transition diagrams of irreversible CAs.

Complex Systems, 30 © 2021


Synthesis of Scalable SACAs in Linear Time 419

CAs of Figure 2(a) have a single length cycle attractor (state 0/state
8) and can be referred to as a single length cycle attractor CA (SLCA).
However, an SLCA producing a single graph and having only one sin-
gle length cycle attractor in its state transitions is called a single length
cycle, single attractor CA (SACA). An n-cell uniform CA with rule
192 forms a single graph with a single length cycle attractor in its
state transition for all n, and therefore, it is an SACA (Figure 2(b))
and 192 is an SACA rule.
The class of SACA rules is widely used to devise test structures for
on-chip testing [20–24]. In three-neighborhood null-boundary rules,
41 out of 256 CA rules are SACA rules [25] (Table 2). Hybridization
of these 41 SACA rules can also generate SACAs. However, the time
complexity to synthesize hybrid n-length SACAs is O41n ; that is, an
NP-complete problem.
In the following sections, we report on the synthesis of a scalable
SACA structure involving all 41 three-neighborhood SACA rules. The
synthesis of an SACA is the outcome of an NSRT diagram of the CA,
introduced in the next section.

Group Rules for SACA


2 34, 48
3 2, 16, 32, 42, 56, 98, 112, 162, 176
4 0, 10, 15, 24, 40, 66, 80, 85, 96, 130, 144, 160, 170, 184,
226, 240, 255
5 8, 64, 128, 138, 143, 152, 168, 194, 208, 213, 224
6 136, 192

Table 2. CA rules for uniform SACAs.

3. Next State Rule Min Term Transition Diagram

The graph-based tool, referred to as the next state RMT transition dia-
gram (NSRTD), is introduced to characterize the SLCA state space. It
provides a methodology to determine the presence of single length as
well as multilength cycle attractors in a nonuniform CA state transi-
tion diagram. The following definitions are essential for describing
the NSRTD [19].
If RMT Tti is the ith -cell RMT based on which cell i
Definition 5.
changes its state at time step t, then the next cell RMTs (NCRs) of Tti
are the RMTs Tti+1  2⨯Ti mod 8, 2⨯Ti + 1 mod 8 of the
i + 1th -cell rule, based on which the i + 1th cell can change its state
at the tth time step. If the ith -cell RMT of a CA is T1, then its NCRs

https://doi.org/10.25088/ComplexSystems.30.3.415
420 B. Chakraborty, M. Dalui and B. K. Sikdar

are T2 (2⨯T1 mod 8) and T3 (2⨯T1 + 1 mod 8). The possible
NCRs of the eight RMTs are shown in Table 3.

RMT Ti of the ith Cell Rule RMTs Ti+1 of the i + 1th Cell Rule
T(0)/T(4) T(0), T(1)
T(1)/T(5) T(2), T(3)
T(2)/T(6) T(4), T(5)
T(3)/T(7) T(6), T(7)

Table 3. Relationship between Ti and Ti+1 (next cell RMT).

Definition 6. If Tti is the ith -cell RMT corresponding to the present state
St of a CA at time t, then the next state RMT (NSR) is the ith -cell
RMT (Tt+1
i ) corresponding to the next state S
t+1 of the CA at time

t + 1. The sequence of NSRs based on which the ith CA cell changes


its state during a CA run is called the next state RMT sequence
(NSRS). That is, an NSRS for cell i (denoted as NSRSi ) is
T0i , T1i , … , Tti , Tt+1 t+1 is the NSR of Tt for cell i. For
i , …, where Ti i
the ith -cell rule Ri of a CA, then all possible NSRSs can be represented
by a directed graph G(V, E), called an NSRS graph, where all the
Tti ∈ V and eTti , Tt+1
i  ∈ E, where Ti
t+1 is the NSR of Tt .
i
Definition 7. Two NSRSs defined for CA cells i and i + 1 (NSRSi and
NSRSi+1 ) are called compatible if the jth NSRs of the two are related
in the sense that the jth NSR of NSRSi+1 is the NCR (Table 3) of the
jth NSR of NSRSi .
NSRTD: The NCR, NSR, NSRS and NSRS graph of a CA enable
constructing the set of directed graphs called NSRTD as a two-dimen-
sional arrangement of nodes. Each node is an RMT and each NSRTD
represents an attractor. The edge Tti , Tt+1i  ∈ E, such that Ti
t+1 is the
t t t t
NSR of Ti and also the edge Ti , Ti+1  ∈ E, such that Ti+1 is the NCR
of Tti . Further, the nodes Tti (∀ t) form an NSRS for CA cell i.
If the ith -cell RMT, based on which cell changes its state, is Ti xyz,
and l and r are the present states of cell i - 2 and cell i + 2,
respectively, then the NSR can be dl ddr , where the RMT xyz of the ith
CA cell rule Ri is d, dl  RMT lxy of the i - 1th -cell rule Ri-1 , and
dr  RMT yzr of the i + 1th CA cell rule Ri+1 . The derivation of
NSR for the cells of a five-cell null-boundary CA 2, 194, 80, 176, 32
is shown in Figure 3. For the first cell, dl  x  0 and
y  z  r  0  1. That is, the NSR of RMT T0 xyz  000 is

Complex Systems, 30 © 2021


Synthesis of Scalable SACAs in Linear Time 421

Figure 3. Finding NSRs for null-boundary CA 2, 194, 80, 176, 32.

dl ddr  ‘0’RMT xyz RMT yzr (where dl  0, d  RMT xyz,


dr  RMT yzr  ‘0’‘RMT 000’ ‘RMT000’  000 (RMT T0 of rule
2 is 0 and RMT T0 of rule 194 is 0)—that is, NSR of RMT T0 is
T0 (000). Similarly, NSR for RMT T1 is T2. The RMTs of the
first cell and corresponding NSRs for the CA 2, 194, 80, 176, 32
are noted in columns 1 and 2 of Table 4(a), respectively. The NSRs of
RMTs corresponding to the second cell and intermediate cell are
noted in columns 4 and 6 of Table 4(a), respectively. The NSRs of the
second to last cell and the last cell are noted in columns 2 and 4 of
Table 4(b), respectively.

First Cell Second Cell Intermediate Cell


RMT NSR RMT NSR RMT NSR
(1) (2) (3) (4) (5) (6)
T(0) T(0), T(1) T(0) T(0) T(0) T(0)
T(1) T(2) T(1) T(2) T(1) T(0)
T(2) T(0) T(2) T(4), T(5) T(2) T(5), T(1)
T(3) T(1) T(3) T(4), T(5) T(3) T(0), T(1), T(4), T(5)
T(4) T(0) T(4) T(2), T(6)
T(5) T(0) T(5) T(0), T(4)
T(6) T(2), T(3) T(6) T(3), T(7)
T(7) T(2), T(3) T(7) T(0), T(1), T(4), T(5)
(a)

Table 4. (continues)

https://doi.org/10.25088/ComplexSystems.30.3.415
422 B. Chakraborty, M. Dalui and B. K. Sikdar

Second to Last Cell Last Cell


RMT NSR RMT NSR
(7) (8) (9) (10)
T(0) T(0), T(4) T(0) T(0), T(4)
T(1) T(0), T(4) T(2) T(0), T(4)
T(2) T(0) T(4) T(0)
T(3) T(0) T(6) T(0), T(4)
T(4) T(2), T(6)
T(5) T(2), T(6)
T(6) T(0)
T(7) T(2)
b

Table 4. NSRs for the cells of a null-boundary nonuniform CA


2, 194, 80, 176, 32.

Property 1. NSR of an RMT Ti of the ith -cell rule Ri will be Ti itself


(Tti
 Tt+1
i ) if the RMTs Ti-1 of Ri-1 , Ti of Ri and Ti+1 of Ri+1 are
passive.
Property 2. In an RS, if RMTs Ti and Ti+1 are passive ∀ i  1 to n - 1,
where Ti+1 is the NCR of Ti , the RMTs of that RS form compatibility
classes of self-loops ∀ i  1, 2, … , n, which creates a path consisting
of self-loops in the NSRTD.
The NSRS graphs for the CA 2, 194, 80, 176, 32 are shown in
Figure 4. For the first cell of the CA 2, 194, 80, 176, 32, the NSRs
of RMT T0 are T0 and T1, the NSR of T1 is T2 and the NSR
of T2 is T0. Further, the NSR of T3 for the first cell is T1
(column 2 of Table 4). These result in the NSRS graph of Figure 4(a)
for the first cell (the RMT T(m) is denoted as “m”). Figures 4(b) to (e)
are the NSRS graphs for the second, intermediate, second to last and
the last cells, respectively.
Figure 5 represents the NSRTD of the CA 2, 194, 80, 176, 32. It
defines that if the cell1 changes its state at time t on RMT T0, then
in the next time step t + 1 it also changes its state on T0
(Figure 4(a)). Further, while cell1 changes its state on T0, cell2 can
change its state on T0 or T1 at time t (NCR of cell1 , Table 3). In
Figure 5, the T0 is chosen because T0 has a self-loop. The NCR of
cell2 is T0 where T0 has a self-loop. For the same reason, T0 is
chosen from the third, fourth and last cells. It is composed of the only
path of length n as shown in Figure 5. Such an n-length path can be

Complex Systems, 30 © 2021


Synthesis of Scalable SACAs in Linear Time 423

found for any arbitrary value of n. Since there is no such n-length


path having a multilength cycle, the CA 2, 194, 80, 176, 32 does
not have a multilength cycle. However, the presence of an n-length
path with only single length cycles indicates the presence of a single
length cycle attractor. All cells, cell1 through cell5 of Figure 5, change
their state on RMT 0 (T0), thus the CA 2, 194, 80, 176, 32 is an
SACA for any length n with an all-zeros attractor.

Figure 4. NSRS graphs for the CA 2, 194, 80, 176, 32.

Figure 5. NSRT diagram for CA 2, 194, 80, 176, 32.

In general, for an n-cell CA, an n-length path in the NSRTD con-


sisting of only self-loops corresponds to a single length cycle attractor
and an n-length path in an NSRTD with multilength cycles corre-
sponds to a multilength cycle attractor. The number of such n-length
paths denotes the number of attractors. The following properties of
NSRS graphs and NSRTD guide the identification of SLCA rules for
uniform CA as well as for nonuniform CA, as described in [19].

https://doi.org/10.25088/ComplexSystems.30.3.415
424 B. Chakraborty, M. Dalui and B. K. Sikdar

Property 3.
If there is no multilength cycle in NSRS graphs of a CA,
the CA cannot have a multilength cycle.
Property 4.
If there is no multilength cycle in the NSRTD of a CA, the
CA cannot have a multilength cycle.

Group Rules for SACA


0 51
1 19, 35, 49, 50, 55, 59, 115, 179
2 3, 17, 18, 23, 27, 33, 34, 39, 43, 48, 53, 54, 57, 58, 63, 83, 99,
113, 114, 119, 123, 147, 163, 177, 178, 183, 187, 243
3 1, 2, 7, 11, 16, 21, 22, 25, 26, 31, 32, 37, 38, 41, 42, 47, 52, 56,
61, 62, 67, 81, 82, 87, 91, 97, 98, 103, 107, 112, 117, 118, 121,
122, 127, 131, 145, 146, 151, 155, 161, 162, 167, 171, 176, 181,
182, 185, 186, 191, 211, 227, 241, 242, 247, 251
4 0, 5, 6, 9, 10, 15, 20, 24, 29, 30, 36, 40, 45, 46, 60, 65, 66, 71, 75,
80, 85, 86, 89, 90, 95, 96, 101, 102, 105, 106, 111, 116, 120, 125,
126, 129, 130, 135, 139, 144, 149, 150, 153, 174, 158, 159, 160,
165, 166, 169, 170, 175, 180, 184, 189, 190, 195, 209, 210,215,
219, 225, 226, 231, 235, 240, 245, 246, 249, 250, 255
5 4, 8, 13, 14,28, 44, 64, 69, 70, 73, 74, 79, 84, 88, 93, 94, 100, 104,
109, 110, 124, 128, 133, 134, 137, 138, 143, 148, 152, 157, 164,
168, 173, 174, 188, 193, 194, 199, 203, 208, 213, 214, 217, 218,
223, 224, 229, 230, 233, 234, 239, 244, 248, 253, 254
6 12, 68, 72, 78, 92, 108, 132, 136, 141, 142, 156, 172, 192, 197,
198, 201, 202, 207, 212, 216, 222, 228, 232, 237, 238, 252
7 76, 140, 196, 200, 205, 206, 220, 236
8 204

Table 5. Classification of CA rules.

4. Characterization of Cellular Automata Rules for SACAs

This section reports on the characterization of rule ℛi in respect of its


contribution toward the state transition behavior of a CA (ℛ) that con-
verges to a particular state (attractor). Since the next state of a single
length cycle attractor is the attractor itself, there should be at least
one RMT (Section 2) of each cell rule ℛi of ℛ (CA) for which the cell i
does not change its state in the next time step. In rule ℛi , if the RMT
T0, T1, T4 or T(5) is 0, then the CA cell i, configured with ℛi ,
does not change its state. Similarly, if the RMT T2, T3, T6 or
T(7) is 1 in a rule Ri , a cell configured with ℛi can stick to its current
state in the next time step.

Complex Systems, 30 © 2021


Synthesis of Scalable SACAs in Linear Time 425

Property 5. [25] A rule ℛi can contribute to the formation of single


length cycle attractor(s) if at least one of the RMTs T0, T1, T4 or
T(5) is 0 (passive), and/or at least one of the RMTs T2, T3, T6 or
T(7) is 1, that is, passive.
A CA synthesized with arbitrary rules may result in one or more
attractors with multilength cycles. To find the CA rules forming
SACAs, the 256 rules are classified in nine groups (Table 5) based on
Property 5 [25]). It is observed that to form an SACA, the CA rule
should follow Property 5. However a rule (e.g., rule 204) that main-
tains Property 5 for all its RMTs cannot form an SACA. This leads to
the following property.
Property 6.
[25] To form a uniform SACA with rule ℛi , the ℛi must
deny Property 5 for some RMTs.
For example, rule 34 of group 2 denies Property 5 for six RMTs.
On the other hand, rule 143 of group 5 denies Property 5 for three
RMTs. Each of these rules is an SACA rule. Table 2 displays all the
SACA rules.
Definition 8. A rule ℛi is the complement of ℛi if each RMT of ℛi is
the complement of the corresponding RMTs of ℛi .
Theorem 1.An SACA rule having a majority of ones in RMTs always
forms a nonzero attractor.
Proof. If a majority of RMTs are 1 in an SACA rule, it implies that a
majority of 0 RMTs T0, T1, T4, T(5) are active. This implies
that a majority of passive RMTs are 1. Now, a path of self-loops in
NSRTD, which identifies an SACA, will consist of passive RMTs,
some of which are essentially 1-RMTs. Hence, such a path in NSRTD
will lead to a nonzero attractor. □
Figure 6(b) shows the NSRT diagram of rule 85. The nodes one,
three and five in the NSRTD contain passive RMT 1, so it forms a
nonzero attractor with value 10101.
Theorem 2. If the consecutive pair of RMTs of an SACA rule exhibits
different next states, then the complement of the rule also forms an
SACA.
Proof. A consecutive pair of RMTs of an SACA rule exhibiting a dif-
ferent next state indicates if RMT T0 is 01 then RMT T1 is 10.
Similarly, if RMT T2 is 01 then RMT T3 is 10 and so on. Then
the RMTs are 10101010 (01010101), of which RMTs T1, T2,
T(5), T6 T0, T3, T4, T(7) deny Property 5. Now the RMT of
the complement rule is 01010101 (10101010).

https://doi.org/10.25088/ComplexSystems.30.3.415
426 B. Chakraborty, M. Dalui and B. K. Sikdar

From the NSRT diagrams (Figures 6(a) and (b)) it can be seen that
both rules ℛi and ℛi have a single n-length path, where n is the num-
ber of CA cells. So we can say that both of the rules form an SACA. □
Theorem 3. If a rule ℛi and its complement ℛi are SACA rules, then
one of ℛi or ℛi has an all-zeros attractor and the other has a nonzero
attractor.
Proof. If rule ℛi is an SACA with zero attractor, then the passive
RMTs of ℛi must be a subset of the set of 0-RMTs
(T0, T1, T4, T(5)). However, only the passive RMT T0 can
lead to the formation of a path with a self-loop on RMT T0 that cor-
responds to a zero attractor. If RMT T0 is a passive RMT in ℛi ,
then RMT T1 and T2 must be passive in ℛi (following Theo-
rem 2). So a self-loop path for ℛi will start from either of the RMTs
T1 or T2. Though T1 is a 0-RMT, its NCR is T2, T3
(Table 3), which are 1-RMTs, and any path of a self-loop in the
NSRTD with one or more 1-RMTs corresponds to a nonzero attrac-
tor. Hence the proof. □
The rule ℛi  170 (10101010) and its complement ℛi  85
(01010101) are both SACA rules where rule ℛi forms an all-zeros
attractor and ℛi forms a nonzero attractor.
The next section describes the synthesis of SACAs in linear time.

Figure 6. NSRT diagram of uniform 170 and 85.

5. Synthesis of SACAs

The 41 SACA rules are reported in Table 2. The design of a hybrid


SACA of length n (for n ≥ 5) from Table 2, in linear time, is our
prime objective. Further, we want to devise a mechanism for synthe-
sizing length-n + 1 SACAs from a length-n SACA structure as well as

Complex Systems, 30 © 2021


Synthesis of Scalable SACAs in Linear Time 427

a length-(n + m) SACA from the available structures of length-n and


length-m SACAs.
To satisfy the given objective, the SACA rules are organized in
three different tables: Tables 6 through 8. Table 6 lists the rules that
can be selected as the first cell rule (ℛ1 ) of the SACAs to be synthe-
sized. The rules in Table 7 are for the intermediate cell rules
(ℛi , i  2, 3, … , n - 1). Table 8 defines the rules for the last cell (ℛn )
of the SACAs. The logic behind the construction of these three tables
is given in the following.

Rules for ℛ1 Class of ℛ2


2 IA, IB
8 IIA, IIB
15 III

Table 6. First rule table.

Class of ℛi ℛi Class of ℛi+1 Class of ℛn-1


IA 0, 2, 66, 128, 130, 194 IV NA
IB 8, 16, 24, 40, 64, 192 V NA
IIA 8, 24, 40, 56, 128, 136 VI NA
IIB 0, 16, 32, 48 VII NA
III 0, 2, 8, 10, 15, 128, 130, 136, 138 VIII NA
IV 0, 8, 16, 24, 32, 40, 48, 56, 64, 80, IV IX
96, 112, 128, 144, 160, 176, 192,
208, 224, 240
V 15, 85, 143, 213, 255 V X
VI, VIII 0, 8, 16, 24, 32, 40, 48, 56, 128, VI, VIII XI
136, 144, 152, 160, 168, 176, 184
VII 0, 15, 85, 143, 213 VII XII
IX, XI 0, 8, 16, 24, 32, 40, 48, 56, 128, XIII NA
136, 144, 152, 160, 168, 176, 184
X, XII 0, 66, 96, 98, 128, 136 XIV NA

Table 7. Class relationship between ℛi and ℛi+1 .

Rule Class for ℛn Rule Set for ℛn


XIII 16, 32, 48
XIV 16, 48

Table 8. Last rule table.

https://doi.org/10.25088/ComplexSystems.30.3.415
428 B. Chakraborty, M. Dalui and B. K. Sikdar

Table 6: Since the current design is concerned with the null bound-
ary CA, there are 16 effective rules for the leftmost (ℛ1 ) cell. The
RMTs T4, T(5), T6 and T(7) are to be treated as do not care for
ℛ1 as the present state of the left neighbor of the first cell is always 0
(Figure 1). So only four RMTs, T0, T1, T2 and T3, are effective
for ℛ1 . Therefore, the rules 2 (00000010) and 34 (00100010) have
the same effect when selected as ℛ1 . The second column of Table 6
shows the class of the second cell rule ℛ2 when ℛ1 is selected as per
column 1. The rule ℛ2 , selected from Table 7, must be compatible
with ℛ1 . That is, self-loop NSRS (NSRS of length 1) of rule ℛ2 must
be the NCR of ℛ1 (Section 3). All such rules can be classified in five
classes: IA, IB, IIA, IIB and III. For example, if rule 2 is selected as ℛ1
from Table 6, then the second cell rule (ℛ2 ) can be selected from
class IA or IB of Table 7. Like all other rules of class IA or IB,
rule 194 is also compatible with rule 2 as self-loop NSRS on RMT
T0 of rule 194 is the NCR (self-loop NSRS) of RMT T0 of rule 2.
The details of class identification of rules follow in the subsequent
discussions.
Table 7: All intermediate rules (ℛ2 , ℛ3 , … , ℛn-1 ) for a CA can be
selected from Table 7. Since the left and right neighbors of an interme-
diate cell are not null, all the RMTs T0, T1, … , T(7) are effective
for an intermediate cell rule. The relation between ℛi and ℛi+1 is such
that the self-loop NSRS of ℛi+1 must be the NCR of self-loop NSRS
of rule ℛi . For example, if the second cell rule (ℛ2 ) is selected as 194
from class IA, then the next cell rule ℛ3 (ℛi+1 ) must belong to class IV
following Table 7. Similarly, if rule 80 (following row six of Table 7)
is chosen as the third cell rule (ℛ3 ), then the next cell rule ℛ4 (ℛn-1 )
belongs to class IX (column 4 of Table 7) for getting an SACA of
length n  5. Here, we select rule 176 following row 10 of Table 7 as
the fourth cell rule. The class of the last cell rule, which is associated
with the fourth cell rule (ℛ4 ), is XIII (last column of row 10 of
Table 7). The fifth (last) cell rule ℛ5 is to be selected from Table 8.
For obtaining an SACA of length n > 5, the rule selection for ℛ1 , ℛ2
and ℛ3 is the same as that of the case for n  5 (as discussed earlier).
The next successive cell rules ℛ4 , ℛ5 , … , ℛn-2 can be selected from
class IV (same class as that of ℛ3 ). For example, for n  7, we have
selected ℛ1  2, ℛ2  194, ℛ3  80. Now, ℛ4 can be chosen from
the class of ℛ3 (class IV). Say, ℛ4  224. Similarly, ℛ5  240 has
been chosen from class IV. Next, ℛ6 (ℛn-1 ) should be chosen from
class IX (column 4 of Table 7). Here, we have chosen ℛ6  176
(ℛn-1 ) from Table 7 and ℛ7 (ℛn ) should be chosen consulting Table 8.

Complex Systems, 30 © 2021


Synthesis of Scalable SACAs in Linear Time 429

Note that some rows in Table 7 for the fourth column are marked
with NA. This is to indicate that these rows do not correspond to
classes of intermediate cell rules (cli ) that are immediately followed by
the class of the n - 1 cell rule cln-1 .
Table 8: Like the first cell, there are 16 effective rules for the last
cell of an SACA. Here, the RMTs T1, T3, T(5), T(7) are do not
care and T0, T2, T4, T6 are effective, as the present state of the
right neighbor of cell n (ℛn ) is always 0. Based on the class defined in
Table 7, the last cell rule is chosen from Table 8. For the example
design of a five-cell SACA, the class of the last cell rule is defined as
XIII. So any one of the rules 16/32/48 (row 1 of Table 8) can be cho-
sen for ℛ5 . Let it be rule 32. Then the synthesized five-cell SACA is
2, 194, 80, 176, 32. Similarly, for a seven-cell SACA, the ℛ7 should
be chosen from the last rule table (Table 8) and the synthesized seven-
cell SACA is 2, 194, 80, 224, 240, 176, 32.
Algorithm 1 formalizes the steps for synthesis of an n-cell SACA.

Algorithm 1. SACA synthesis.

Input: n (length of SACA), Tables 6 through 8


Output: The SACA ℛ  〈ℛ1 , ℛ2 , … , ℛn 〉
Step 1. Select ℛ1 randomly from Table 6

Step 2. Find cl2 (class of ℛ2 ) from the corresponding row of Table 6

Step 3. Select ℛ2 from the corresponding row of cl2 of Table 7

Step 4. Find cl3 (class of ℛ3 ) from the corresponding row of cl2 of Table 7

Step 5. Select ℛ3 from the corresponding row of cl3 of Table 7

Step 6. If (n > 5) then,

Step 7. for i  3 to n - 3
Step 8. cli+1  cli

Step 9. Select ℛi+1 from the corresponding row of cli+1 of Table 7

Step 10. End for

Step 11. Find cln-1 from the corresponding row of cli+1 (cln-2 ) of
Table 7
Step 12. Select ℛn-1 from the corresponding row of cln-1 of Table 5
Step 13. Find cln (class of ℛn ) from the corresponding row of cln-1 of
Table 7
Step 14. Select ℛn from the corresponding row of cln of Table 8

https://doi.org/10.25088/ComplexSystems.30.3.415
430 B. Chakraborty, M. Dalui and B. K. Sikdar

Step 15. End if

Step 16. If (n   5)

Step 17. Find cl4 (class of ℛ4 ) from the corresponding row of cl3 (as found
in Step 4) of Table 7
Step 18. Select ℛ4 from the corresponding row of cl4 of Table 5
Step 19. Find cl5 (class of ℛ5 ) from the corresponding row of Table 5
Step 20.Select ℛ5 (ℛn ) from the corresponding row of cl5 (cln ) of Table 5

Step 21. End if

Step 22. Output 〈ℛ1 , ℛ2 , … , ℛn 〉

Step 23. End

Complexity: In Algorithm 1, the first (ℛ1 ) and last (ℛn ) cell rules
can be selected in O1 time from Tables 6 and 8, respectively. The
remaining rules (ℛ2 to ℛn-1 ) can be set from Table 7, which requires
n - 2 iterations each of constant time. So the time complexity of Algo-
rithm 1 is O(n).
Example 1. Let us consider the synthesis of a five-cell SACA following
Algorithm 1. At first, rule 2 is selected randomly as ℛ1 from Table 6
(Step 1 of Algorithm 1). Therefore, the class (obtained from Table 6)
for the second cell rule is either IA or IB (Step 2 of Algorithm 1).
From class IB of Table 7, say rule 192 is selected randomly as ℛ2
(Step 3 of Algorithm 1). Say rule 15 as ℛ3 has been chosen randomly
from class V (Step 5 of Algorithm 1). Now, the condition in Step 16 is
satisfied. So rule 66 as ℛ4 belonging to class X can be chosen ran-
domly. At Step 19 of Algorithm 1, the cl5 is XIV (class of ℛ5 ). There-
fore, the last cell rule ℛ5 can be selected randomly as 16 from
class XIV of Table 8. So the five-cell SACA thus constructed is
2, 192, 15, 66, 16.
A minor modification of Algorithm 1 can allow controlling the syn-
thesis of an SACA with an all-zeros attractor or with a nonzero attrac-
tor. Algorithm 2 describes the procedure to synthesize such an SACA
with the desired attractor state. It reads the attr (desired attractor) as
input and then synthesizes an SACA having the attractor attr.

Algorithm 2. Scalable SACA synthesis.

Input: n (length of SACA), Tables 6 through 8, attr


Output: The SACA ℛ  〈ℛ1 , ℛ2 , … , ℛn 〉 with specified attractor

Complex Systems, 30 © 2021


Synthesis of Scalable SACAs in Linear Time 431

Step 1. Read attr (attr  0 for zero attractor and attr  1 for nonzero
attractor)
Step 2. If attr ⩵ 0, select ℛ1 such that ℛ1 ∈ 2, 8 from Table 6
Step 3. If (n >= 5) then,

Step 4. If (ℛ1 ⩵ 2) then,

Step 5. The next successive cell rule classes are IA, (IV)i and IX from
Table 7 where i  1 to n - 4 and XIII from Table 8
Step 6. End if

Step 7. If (ℛ1 ⩵ 8) then,


Step 8. The next successive cell rule classes are IIA, (VI)i and XI from
Table 7 where i  1 to n - 4 and XIII from Table 8
Step 9. End if

Step 10. End if

Step 11. End if

Step 12. If attr ⩵ 1, select ℛ1 such that ℛ1 ∈ 2, 8, 15 from Table 6
Step 13. If (n >= 5) then,

Step 14. If (ℛ1 ⩵ 2) then,

Step 15. The successive cell rule classes are IB, (V)i and X from Table 7
where i  1 to n - 4 and XIV from Table 8
Step 16. End if

Step 17. If (ℛ1 ⩵ 8) then,


Step 18. The successive cell rule classes are IIB, (VII)i and XII from Table 7
where i  1 to n - 4 and XIV from Table 8
Step 19. End if

Step 20. If (ℛ1 ⩵ 15) then,


Step 21. The successive cell rule classes are III, (VIII)i and XI from Table 7
where i  1 to n - 4 and XIII from Table 8
Step 22. End if

Step 23. End if


Step 24. End if

Step 25. End


Complexity: The computation of Algorithm 2 is dominated by the
time taken to select the CA cell rules one by one from the respective
classes in steps 5, 8, 15, 18 and 21, except for the first cell rule. Each

https://doi.org/10.25088/ComplexSystems.30.3.415
432 B. Chakraborty, M. Dalui and B. K. Sikdar

of the steps is of linear time. So the time complexity of Algorithm 2 is


O(n).
Example 2. Let us consider the case for n  5 and attr  0. Then Algo-
rithm 2 outputs a five-cell SACA with an all-zeros attractor. The first
rule ℛ1 can be set as either 2 or 8 from Table 6 (Step 2). Consider
that ℛ1  2 has been selected from Table 6. The successive cell rules
are chosen one by one from the classes {IA, IV, IX, XIII}, respectively.
So the resulting SACA is 2, 194, 80, 176, 32 and it has an all-zeros
(00000) attractor.

5.1 Synthesis of (n + 1)-Cell SACAs


The target of this synthesis scheme is to configure an n + 1-cell
SACA from an available SACA structure of length n. Consider that
ℛ  〈ℛ1 , ℛ2 , ℛ3 , … , ℛi , … , ℛn-1 , ℛn 〉 is an SACA of length n where
the first and last rules belong to Tables 6 and 8, respectively. All other
rules (second, intermediate, second to last) belong to Table 7. Now,
the task is to construct an n + 1-cell SACA reusing the structure of
the n-cell SACA. We propose to realize it by adding an intermediate
rule ℛadd from Table 7. The new CA configured
〈ℛ1 , ℛ2 , ℛ3 , … , ℛi , … , ℛadd , ℛn-1 , ℛn 〉 is an SACA if and only if the
rule ℛadd is compatible with its left and right neighbor cell rules. Algo-
rithm 3 describes the synthesis scheme.

Algorithm 3. Scalable SACA synthesis.

Input: Table 7, n (length of SACA),


ℛ  〈ℛ1 , ℛ2 , ℛ3 , … , ℛi , … , ℛn-1 , ℛn 〉
Output: n + 1-length SACA
ℛ′  〈ℛ1 , ℛ2 , ℛ3 , … , ℛi , … , ℛadd , ℛn-1 , ℛn 〉
Step 1. Find ℛ1 and ℛ2 from ℛ

Step 2. Find cl2 , that is, the class of ℛ2 (from the row of Table 6)

Step 3. If cl2  IA then

Step 4. cl3  IV

Step 5. If cl2  IB then

Step 6. cl3  V

Step 7. If cl2  IIA then

Step 8. cl3  VI

Step 9. If cl2  IIB then

Complex Systems, 30 © 2021


Synthesis of Scalable SACAs in Linear Time 433

Step 10. cl3  VII

Step 11. If cl2  III then

Step 12. cl3  VIII

Step 13. Select ℛadd from the class cl3 from Table 7

Step 14. Add ℛadd before the second to last rule (ℛn-1 ) to get the SACA of
length n + 1
Step 15. Return the n + 1-length SACA
ℛ′  〈ℛ1 , ℛ2 , ℛ3 , … , ℛi , … , ℛadd , ℛn-1 , ℛn 〉

Step 15. End

Complexity: Finding the class of rule ℛadd (cl3 ) takes O1 time
and then the selection of rule ℛadd can be made randomly from the
class cl3 , which also takes O1 time. So Algorithm 3 takes O1 time.
Example 3. Let us consider the five-cell SACA ℛ  2, 194, 80,
176, 32 constructed from Tables 6 through 8. The class cl2 IA of the
second-cell rule (194) can be determined from the first-cell rule. Simi-
larly, the class cl3 of the third or intermediate rule is class IV, as the
class of second-cell rule cl2 is IA. To design a six-cell SACA reusing
the structure of the five-cell SACA ℛ, the synthesis tool has to select
ℛadd as the intermediate rule from the class IV of Table 7. Let us
assume the selected candidate for ℛadd is rule 192 from class IV. So
the resulting six-cell SACA is ℛ  2, 194, 80, 192, 176, 32. Simi-
larly, ℛ  2, 194, 80, 192, 208, 176, 32 is also a seven-length
SACA synthesized by adding rule 208 from the same class (IV) of
Table 7. Figure 7 depicts the synthesis process for n + 1-cell SACA
from an n-cell SACA.

5.2 Synthesis of (n + m)-Cell SACAs


In this subsection, we propose the synthesis of an (n + m)-cell SACA
utilizing the available structure of an n-cell and m-cell SACA.
Consider the SACA CA1  〈ℛ1 , ℛ2 , … , ℛi , … , ℛn-1 , ℛn 〉 and
CA2  〈ℛ′1 , ℛ′2 , … , ℛ′i , … , ℛ′m-1 , ℛ′m 〉 of length n and m, respec-
tively. The requirement is that concatenating the CA1 and CA2 struc-
tures should form an SACA of length (n + m). Algorithm 4 describes
the logical steps of such a synthesis scheme.

https://doi.org/10.25088/ComplexSystems.30.3.415
434 B. Chakraborty, M. Dalui and B. K. Sikdar

Figure 7. Scalable SACA design.

Algorithm 4. Synthesis SACA (n + m).

Input: Tables 6 and 7, n-length SACA


CA1  〈ℛ1 , ℛ2 , … , ℛi , … , ℛn-1 , ℛn 〉, m-length SACA
CA2  〈ℛ′1 , ℛ′2 , … , ℛ′i , … , ℛ′m-1 , ℛ′m 〉
Output: (n + m) length SACA ℛ  〈ℛ1 , ℛ2 , … , ℛi , … , ℛm+n 〉
Step 1. Find ℛ1 and ℛ2 from the n-length SACA CA1

Step 2. Find cl2 ; that is, class of ℛ2 , from the row of Table 6
corresponding to ℛ1
Step 3. Find cl3 ; that is, class of ℛ3 , from the row of Table 7
corresponding to ℛ2
Step 4. If ({ℛn-1 , ℛn } of CA1 ∈ cl3 of CA1 and {ℛ′1 , ℛ′2 , ℛ′3 } of CA2 ∈ cl3
of CA1 ), then
Step 5. Concatenate CA1 and CA2

Step 6. Return (n + m) length SACA ℛ  〈ℛ1 , ℛ2 , … , ℛi , … , ℛm+n 〉

Step 7. Else

Step 8. Output, cannot generate (n + m) length of SACA

Step 9. End

Complexity: Determining the classes of ℛ2 , ℛ3 from the row of


Tables 6 and 7 corresponding to ℛ1 and ℛ2 , respectively, takes con-
stant time. Step 3 of Algorithm 4 checks whether the condition is satis-
fied or not. These checks are independent of the length of CA1 (n)
and CA2 (m). Hence, Algorithm 4 requires constant time.

Complex Systems, 30 © 2021


Synthesis of Scalable SACAs in Linear Time 435

Example 4. Consider that CA1  2, 8, 24, 32, 16 and CA2  8, 48,
136, 32, 48 are two SACAs each of length five. Rule 24 is the
intermediate cell rule of CA1 whereas rules 32 and 16 are the second
to last and last cell rules, respectively. Similarly, the first three rules of
CA2 are 8, 48 and 136. Now, for getting an SACA structure of length
10 utilizing the structure of CA1 and CA2 , the rules 32, and 16 from
CA1 and the rules 8, 48 and 136 from CA2 should belong to the same
class as rule ℛ3 of CA1 , that is, IV (shown in Table 7). The second to
last cell rule (32) and last cell rule (48) of CA2 should be the second
to last and last cell rules of the resulting CA. So concatenating CA1
and CA2 forms an SACA 2, 8, 24, 32, 16, 8, 48, 136, 32, 48 of
length 10.

6. Hardware Implementation of SACAs

Designing an n-cell SACA requires n flip-flops (FFs) and combina-


tional logic (AND/OR/XOR/NOT gates) to implement CA rules. Fig-
ure 8 depicts the hardware implementation of a five-cell SACA (cell 1
to cell 5), where the cells are configured with rules 2, 194, 80, 176
and 32, respectively. The next state logic of rules 2, 194, 80, 176 and
32 is NS  S′i · Si+1 , NS  S′i-1 · S′i · Si+1 + Si-1 Si , NS  Si-1 · S′i+1 ,
NS  Si-1 · S′i + Si-1 · Si+1 and NS  Si-1 · S′i · Si+1 , respectively.

Figure 8. Hardware design for the synthesis of a five-cell SACA


2, 194, 80, 176, 32.

6.1 Design of (n + 1)-Cell SACAs Utilizing n-Cell SACA Structure


This targets the design of an n + 1-cell SACA by sharing the hard-
ware design for n-cell SACAs. Figure 9 illustrates the generic architec-
ture of such a scalable SACA structure. For ease of understanding, the

https://doi.org/10.25088/ComplexSystems.30.3.415
436 B. Chakraborty, M. Dalui and B. K. Sikdar

combinational logic of each rule is hidden in the functional block (F).


The design shown in Figure 9 can act as the n-cell SACA as well as an
n + 1-cell SACA. Before the second to last cell (cell 4 in Figure 9) of
the existing design, two 2:1 multiplexers are added. While considering
it to realize the n-cell SACA, the two multiplexers are reset to 0. For
implementing the n + 1-cell SACA, the multiplexers are set to 1, so
that the next state logic of cell 3 and cell 4 also depends on the pre-
sent state of the newly added cell (celladd ). Consequently, the next
state of celladd will also depend on the present state of cell 3, celladd
and cell 4.

6.2 Design of an (n + m)-Cell SACA Utilizing n-Cell and m-Cell


Structure
The objective of this design is to construct an (n + m)-cell SACA from
two different available SACAs of lengths n and m, respectively. While
reusing the structure of an n-cell SACA, its rightmost cell should act
as the nth cell of the (n + m)-cell SACA. Further, the first cell of the
m-cell SACA is selected in such a way that it can also act as the
n + 1th cell of the (n + m)-cell SACA.

Figure 9. Hardware design for synthesis of n + 1-cell SACAs from an n-cell


SACA.

Figure 10 shows the architecture of such a design. Two switches FF1


and FF2 facilitate the SACA structures. Whenever both D1 of FF1 and
D2 of FF2 are set to 0, the design acts as the n-cell SACA and m-cell
SACA separately. To activate the (n + m)-cell SACA, both D1 of FF1
and D2 of FF2 are to be set to 1.

Complex Systems, 30 © 2021


Synthesis of Scalable SACAs in Linear Time 437

Figure 10. Hardware design for synthesis of n + m-cell SACAs.

1. Conclusion

This paper introduces the synthesis of single length cycle, single attrac-
tor cellular automata (SACAs) in O(n) time, where n is the number of
cells in the cellular automaton (CA). The cascadable structure of an n-
cell single length cycle, single attractor cellular automaton (SACA) is
utilized to construct the n + 1-cell SACAs. This paper also proposes
constructing (n + m)-cell SACAs from the available design of n-cell
and m-cell SACAs. The proposed scalable SACA synthesis scheme is
effectively employed for designing the test application for very large-
scale integration (VLSI) design, memory testing and cache coherence
in CMPs, and so on.

References

[1] E. F. Moore, “Machine Models of Self Reproduction,” in Proceedings


of Symposia in Applied Mathematics, Vol. 14, (R. E. Bellman, ed.),
Providence, RI: American Mathematical Society, 1962 pp. 17–33.
[2] D. A. Rosenblueth and C. Gershenson, “A Model of City Traffic Based
on Elementary Cellular Automata,” Complex Systems, 19(4), 2011
pp. 305–322. doi:10.25088/ComplexSystems.19.4.305.
[3] J. Thatcher, “Universality in von Neumann Cellular Model,” University
of Michigan, Technical Report 03105-30-T, ORA, 1964.
[4] N. Margolus and T. Toffoli, “Cellular Automata Machines,” Complex
Systems, 1(5), 1987 pp. 967–993. complex-systems.com/pdf/01-5-5.pdf.

https://doi.org/10.25088/ComplexSystems.30.3.415
438 B. Chakraborty, M. Dalui and B. K. Sikdar

[5] L. Zaloudek and L. Sekanina, “Increasing Fault-Tolerance in Cellular


Automata-Based Systems,” in Unconventional Computation (UC’11),
Turku, Finland (C. S. Calude, J. Kari, I. Petre and G. Rozenberg, eds.),
Berlin, Heidelberg: Springer-Verlag, 2011 pp. 234–245.
doi:10.1007/978-3-642-21341-0_26.
[6] T. Yang, “Morphology Analysis of Urban Traffic Based on Multilevel
Cellular Automata Networks Dynamics,” in Proceedings of 6th Interna-
tional Congress on Image and Signal Processing (CISP), Hangzhou,
China, Piscataway, NJ: IEEE 2013 pp. 980–984.
doi:10.1109/cisp.2013.6745307.
[7] G. J. Martinez, “A Note on Elementary Cellular Automata Classifica-
tion,” Journal of Cellular Automata, 8(3), 2013 pp. 233–259.
[8] H. Zenil and E. Villarreal-Zapata, “Asymptotic Behavior and Ratios of
Complexity in Cellular Automata,” International Journal of Bifurcation
and Chaos, 23(9), 2013 1350159. doi:10.1142/S0218127413501599.
[9] A. Wuensche and M. Lesser, The Global Dynamics of Cellular
Automata, Santa Fe Institute Studies in the Sciences of Complexity,
Reading, MA: Addison-Wesley, 1992.
[10] P. Pal Chaudhuri, D. R. Chowdhury, S. Nandi and S. Chattopadhyay,
Additive Cellular Automata: Theory and Applications, Los Alamitos,
CA: IEEE Computer Society Press, 1997.
[11] N. Ganguly, “Cellular Automata Evolution: Theory and Applications in
Pattern Recognition and Classification,” Ph.D. thesis, Bengal Engineer-
ing College (DU), 2004.
[12] P. Maji, “Cellular Automata Evolution for Pattern Recognition,” Ph.D.
thesis, Bengal Engineering College (DU), 2004.
[13] N. S. Maiti, S. Ghosh, B. K. Sikdar and P. Pal Chaudhuri, “Rule Vector
Graph (RVG) to Design Linear Time Algorithm for Identifying the
Invertibility of Periodic-Boundary Three Neighborhood Cellular
Automata,” Journal of Cellular Automata, 7(4), 2012 pp. 335–362.
[14] N. S. Maiti, S. Ghosh, S. Munshi and P. Pal Chaudhuri, “Linear Time
Algorithm for Identifying the Invertibility of Null-Boundary Three
Neighborhood Cellular Automata,” Complex Systems, 19(1), 2010
pp. 89–113. doi:10.25088/ComplexSystems.19.1.89.
[15] K. Cattel and J. C. Muzio, “Synthesis of One-Dimensional Linear
Hybrid Cellular Automata,” IEEE Transactions on Computer-Aided
Design of Integrated Circuits and Systems, 15(3), 1996 pp. 325–335.
doi:10.1109/43.489103.
[16] P. Dasgupta, S. Chattopadhyay and I. Sengupta, “An ASIC for Cellular
Automata Based Message Authentication,” in Proceedings of the 13th
International Conference on VLSI Design (VLSID ’00), Calcutta, India,
Los Alamitos, CA: IEEE Computer Society, 1999 pp. 538–541.
doi:10.1109/ICVD.2000.812663.

Complex Systems, 30 © 2021


Synthesis of Scalable SACAs in Linear Time 439

[17] H. Gutowitz, “Cryptography with Dynamical Systems,” Cellular


Automata and Cooperative Systems (N. Boccara, E. Goles, S. Martinez
and P. Picco, eds.), Dordrecht: Springer, 1993, pp. 237–274.
doi:10.1007/978-94-011-1691-6_21.
[18] M. Mukherjee, N. Ganguly, A. Chaudhuri and P. Pal Chaudhuri,
“Cellular Automata Based Authentication (CAA),” in Cellular
Automata (ACRI 2002), Geneva, Switzerland (S. Bandini B. Chopard
and M. Tomassini, eds.), Berlin, Heidelberg: Springer, 2002
pp. 259–269. doi:10.1007/3-540-45830-1_25.
[19] M. Dalui, “Theory and Applications of Cellular Automata for CMPs
Cache System Protocol Design and Verification,” Ph.D. thesis, IIEST
Shibpur, West Bengal, India, 2014.
[20] B. Chakraborty, M. Dalui and B. K. Sikdar, “Design of Coherence Veri-
fication Unit for Heterogeneous CMPs Integrating Update and Invali-
date Protocols,” in 30th International Conference on VLSI Design and
16th International Conference on Embedded System (VLSID),
Hyderabad, India, Los Alamitos, CA: IEEE Computer Society, 2017
pp. 115–120. doi:10.1109/VLSID.2017.30.
[21] B. Chakraborty, B. P. Singh, M. Chinnapureddy, M. Dalui and
B. K. Sikdar, “Design of Coherence Verification Unit for Heterogeneous
CMPs,” in 19th International Symposium on VLSI Design and Test,
Ahmedabad, India, Los Alamitos, CA: IEEE Computer Society, 2015
pp. 1–6. doi:10.1109/ISVDAT.2015.7208098.
[22] B. Chakraborty, M. Dalui and B. K. Sikdar, “Design of Coherence Veri-
fication Unit for CMPs Realizing Dragon Protocol,” in 20th Interna-
tional Symposium on VLSI Design and Test (VDAT 2016), Guwahiti,
India, Los Alamitos, CA: IEEE Computer Society, 2016 pp. 1–6.
doi:10.1109/ISVDAT.2016.8064850.
[23] B. Chakraborty, M. Dalui and B. K. Sikdar, “Cellular Automata Based
Test Design for Coherence Verification in 3D Caches,” Journal of
Circuits, Systems and Computers, 28(9), 2019 1950148.
doi:10.1142/S0218126619501482.
[24] B. Chakraborty, M. Dalui and B. K. Sikdar, “Design of a Reliable Cache
System for Heterogeneous CMPs,” Journal of Circuits, Systems and
Computers, 27(14), 2018 1850219. doi:10.1142/S0218126618502195.
[25] S. Das, N. N. Naskar, S. Mukherjee, M. Dalui and B. K. Sikdar,
“Characterization of CA Rules for SACA Targeting Detection of Faulty
Nodes in WSN,” in Cellular Automata (ACRI 2010), Ascoli Piceno,
Italy (S. Bandini, S. Manzoni, H. Umeo and G. Vizzari, eds.), Berlin,
Heidelberg: Springer, 2010 pp. 300–311.
doi:10.1007/978-3-642-15979-4_32.

https://doi.org/10.25088/ComplexSystems.30.3.415

You might also like