Bidesh Complex System
Bidesh Complex System
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.
1. Introduction
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 T0 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
https://doi.org/10.25088/ComplexSystems.30.3.415
418 B. Chakraborty, M. Dalui and B. K. Sikdar
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 O41n ; 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.
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 + 1th -cell rule, based on which the i + 1th cell can change its state
at the tth time step. If the ith -cell RMT of a CA is T1, then its NCRs
https://doi.org/10.25088/ComplexSystems.30.3.415
420 B. Chakraborty, M. Dalui and B. K. Sikdar
are T2 (2⨯T1 mod 8) and T3 (2⨯T1 + 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 + 1th 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)
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
Figure 3. Finding NSRs for null-boundary CA 2, 194, 80, 176, 32.
Table 4. (continues)
https://doi.org/10.25088/ComplexSystems.30.3.415
422 B. Chakraborty, M. Dalui and B. K. Sikdar
Figure 4. NSRS graphs for the CA 2, 194, 80, 176, 32.
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.
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
(T0, T1, T4, T(5)). However, only the passive RMT T0 can
lead to the formation of a path with a self-loop on RMT T0 that cor-
responds to a zero attractor. If RMT T0 is a passive RMT in ℛi ,
then RMT T1 and T2 must be passive in ℛi (following Theo-
rem 2). So a self-loop path for ℛi will start from either of the RMTs
T1 or T2. Though T1 is a 0-RMT, its NCR is T2, T3
(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.
5. Synthesis of SACAs
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 T4, T(5), T6 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, T0, T1, T2 and T3, 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
T0 of rule 194 is the NCR (self-loop NSRS) of RMT T0 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 T0, T1, … , 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.
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 T1, T3, T(5), T(7) are do not
care and T0, T2, T4, T6 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.
Step 4. Find cl3 (class of ℛ3 ) from the corresponding row of cl2 of Table 7
Step 7. for i 3 to n - 3
Step 8. cli+1 cli
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 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
Complexity: In Algorithm 1, the first (ℛ1 ) and last (ℛn ) cell rules
can be selected in O1 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.
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 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 12. If attr ⩵ 1, select ℛ1 such that ℛ1 ∈ 2, 8, 15 from Table 6
Step 13. If (n >= 5) 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
https://doi.org/10.25088/ComplexSystems.30.3.415
432 B. Chakraborty, M. Dalui and B. K. Sikdar
Step 2. Find cl2 , that is, the class of ℛ2 (from the row of Table 6)
Step 4. cl3 IV
Step 6. cl3 V
Step 8. cl3 VI
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 〉
Complexity: Finding the class of rule ℛadd (cl3 ) takes O1 time
and then the selection of rule ℛadd can be made randomly from the
class cl3 , which also takes O1 time. So Algorithm 3 takes O1 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.
https://doi.org/10.25088/ComplexSystems.30.3.415
434 B. Chakraborty, M. Dalui and B. K. Sikdar
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 7. Else
Step 9. End
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.
https://doi.org/10.25088/ComplexSystems.30.3.415
436 B. Chakraborty, M. Dalui and B. K. Sikdar
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
https://doi.org/10.25088/ComplexSystems.30.3.415
438 B. Chakraborty, M. Dalui and B. K. Sikdar
https://doi.org/10.25088/ComplexSystems.30.3.415