Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

Recent efforts towards the molecular implementation of reaction-diffusion systems have resulted in the characterization of cellular automata that are suitable for this purpose [2, 3]. A possible implementation for this kind of CA uses a porous material, such as an alginate or polyacrylamide gel, as the framework of the cellular space. In this type of material, many small (millimeter scale) holes are arranged as a lattice, each of which is employed as a cell, with boundaries made of this material. Artificial DNA molecules are then used to represent cell states, whereby their chemical reactions represent transition rules acting upon these states. These DNA molecules are broadly divided into two types according to their size. Small molecules are able to pass through the porous material at a cell’s boundary, but big molecules are not. Big molecules are thus suitable to be used for representing the state of a cell, whereas small molecules can act as transmitters to neighboring cells. The reactions between molecules are designed according to the transition rule of the implemented CA. A computation on the CA is then initiated by injecting the designed molecules into each cell (hole) depending on the initial state of the CA. Computational cellular systems created by the above procedure are called Gellular Automata [1, 6].

In the scheme outlined above, the implemented CA must satisfy certain requirements to allow it to exploit the characteristics of molecular implementations. Since it is difficult to synchronize the chemical reactions in all cells, the CA should be asynchronous, rather than an ordinary synchronous CA. In addition, it is also difficult for reaction-diffusion systems to recognize the direction from which DNA molecules have come, so, rather than identifying the state of each neighboring cell, we merely use the number of neighboring cells in certain states (totalistic CA). This is not sufficient, though, since it is quite difficult to estimate the amount of diffused DNA molecules in cells, and even to establish how many neighboring cells are in a certain state. For this reason, it was proposed to refine the totalistic CA to so-called Boolean totalistic CA [2], in which the mere presence and absence of states among the neighbors of a cell are sufficient in the definition of transition rules.

There is an additional difficulty in this scheme, however. Imagine that a cell in a certain state is supposed to change to another state if there is a neighboring cell whose state is identical to the current state of the cell. Such a transition rule is allowed in a conventional asynchronous Boolean totalistic CA. However, in a reaction-diffusion implementation, a cell cannot recognize the existence of a neighboring cell in the same state since the cell itself is emitting the transmitter indicating its state. To resolve this difficulty, we define the non-camouflage property in this paper, which in effect ignores a state of a cell’s neighbor if the state equals the state of the cell itself. This property is stronger than the Boolean totalistic property. We present an asynchronous non-camouflage CA and prove that it is Turing-complete.

This paper is organized as follows. Section 2 gives the formal definitions of the used concepts. This is followed by a description of the proposed CA in Sect. 3, and the proof that it is Turing-universal. This paper finishes with a discussion in Sect. 4.

2 Preliminaries

2.1 Asynchronous CA

In this paper, we follow the terminology used in [5]. State transition systems, which are pairs of a set and a binary relation on the set, are called state-systems. We then define synchronous and asynchronous CA as state-systems. Note that ordinary CA are synchronous CA while in this paper, we only deal with asynchronous CA.

Definition 1 (State-system)

A state-system A is a pair \(A = (T, \rightarrow )\), where T is a set of states, and \(\rightarrow \in T \times T\) is a binary relation meaning state transition.

For \((t_1, t_2) \in \rightarrow \), we write \(t_1 \rightarrow t_2\) and say “the state \(t_1\) is changed to \(t_2\).” Let \(t_0, t_n \in T\) be states. If there are states \(t_1, \dots , t_{n-1}\) and \(t_i \rightarrow t_{i+1}\) holds for each \(i = 0, \dots , n-1\), we write \(t_0 \rightarrow ^* t_n\).

To prove that a state-system B is computationally more powerful than a state-system A or equally powerful as A, we need to show that B can simulate A. Here is the definition of simulation derived from [5] but slightly modified for our purpose.

Definition 2 (Simulation)

A state-system \(B = (T_B, \rightarrow _B)\) simulates a state-system \(A = (T_A, \rightarrow _A)\) if there is a function \(F : T_A \rightarrow T_B\) and

  1. (i)

    \(\forall t_1, t_2 \in T_A.\; t_1 \rightarrow _A t_2 \Longrightarrow \forall t' \in T_B.\; F(t_1) \leadsto _F t' \Longrightarrow t' \leadsto _F F(t_2)\)

  2. (ii)

    \(\forall t_1, t_2 \in T_A.\; F(t_1) \rightarrow _B^* F(t_2) \Longrightarrow t_1 \rightarrow _A^* t_2\)

where \(\leadsto _F\) denotes the binary relation over \(T_B\) that is defined as

$$\begin{aligned} t' \leadsto _F t''\Longleftrightarrow & {} \exists n \in \mathbb {N}.\; \exists t'_0, \dots , t'_n \in T_B.\;\\&~~~~t' = t'_0 \rightarrow _B t'_1 \rightarrow _B \dots \rightarrow _B t'_n = t'' \wedge \forall i \in [1, n - 1].\; t'_i \notin F(A). \end{aligned}$$

The function F in this definition is called a simulation function (or simply a simulation) of A by B.

Intuitively, (i) means that for any transition \(t_1 \rightarrow _A t_2\), there is a sequence of transitions from \(F(t_1)\) to \(F(t_2)\), which does not go through the image of A by F. Since the binary relation \(\leadsto _F\) is reflexive, (i) implies

$$ \forall t_1, t_2 \in T_A.\; t_1 \rightarrow _A t_2 \Longrightarrow F(t_1) \rightarrow _B^* F(t_2). $$

This corresponds to one of the original conditions of simulation in [5]. (ii) means that any sequence of transitions from \(F(t_1)\) to \(F(t_2)\) in B corresponds to a sequence of transitions from \(t_1\) to \(t_2\) in A.

Next, we define a CA. A CA is a state-system whose states can be considered as an arrangement in a certain topologyFootnote 1 of cell states, whereby the transition relation is determined by applying a local transition rule to each cell simultaneously. We define asynchronous CA, which are discussed mainly in this paper.

Definition 3 (Asynchronous CA)

A state-system \(A = (T, \rightarrow )\) is called an asynchronous CA if the following two conditions are satisfied.

  1. (i)

    There is a set \(S_A\) of cell states such that \(T = S_A^{\mathbb {Z}\times \mathbb {Z}}\).

  2. (ii)

    There is a function \(f_A: S_A^5 \rightarrow S_A\) such that for any two states \(t_1, t_2\in T\),

    $$\begin{aligned} t_1 \rightarrow t_2\Longleftrightarrow & {} \forall x, y \in \mathbb {Z}.\;(t_2(x, y) = f_A(t_1(x, y),t_1(x+1, y),t_1(x, y+1), \\&\qquad \qquad \qquad \qquad \quad t_1(x-1, y),t_1(x, y-1)) \\&\qquad \qquad \vee t_2(x, y) = t_1(x, y)). \end{aligned}$$

For an asynchronous CA A, \(S_A\) and \(f_A\) are called the space of cell states and the transition rule, respectively.

2.2 Requirements

Here, we define the requirements for asynchronous CA to be implemented by reaction-diffusion systems. The following definitions are about asynchronous CA but the word “outer totalistic” can also be applied to synchronous CA.

Definition 4 (Outer totalistic)

The function \({tot}:S_A^5\rightarrow S_A \times \mathbb {N}^{S_A}\) is defined by \({tot}(s_0, s_1, s_2, s_3, s_4) = (s_0, h)\), where

$$ h(s) = \sum _{k=1}^4 g(s_k, s),\; g(s, s') = \left\{ \begin{array}{ll} 1 &{} {if \, s\, =\, s'}\\ 0 &{} {otherwise} \end{array} \right. $$

are functions \(h: S_A \rightarrow \mathbb {N}\) and \(g: S_A \times S_A \rightarrow \mathbb {N}\). An asynchronous CA A is (outer) totalistic if there is a function \(f_A': S_A \times \mathbb {N}^{S_A} \rightarrow S_A\) and \(f_A = f_A' \circ {tot}\).

Definition 5 (Boolean totalistic)

Let the symbol 2 denote the set of Boolean values. The function \({bol}:S_A^5\rightarrow S_A \times 2^{S_A}\) is defined by \({bol}(s_0, s_1, s_2, s_3, s_4) = (s_0, h)\), where

$$ h(s) = \bigvee _{k=1}^4 (s_k = s) $$

is a function \(h: S_A \rightarrow 2\). An asynchronous CA A is Boolean totalistic if there is a function \(f_A'': S_A \times 2^{S_A} \rightarrow S_A\) and \(f_A = f_A'' \circ {bol}\).

If an asynchronous CA A is Boolean totalistic, the transition rule is determined by the function \(f_A'': S_A \times 2^{S_A} \rightarrow S_A\). We identify the transition rule \(f_A\) with \(f_A''\) and represent it by a list of the form like \(s_0 (s_i, \dots , \lnot s_j, \dots ) \rightarrow s_0'\). This expression means that a cell with state \(s_0\) can be changed to state \(s_0'\) when in its neighborhood there are cells with state \(s_i,\dots \) and there is no cell with state \(s_j,\dots \). If there is no form whose left-hand side is applicable to a situation \((s_0, \dots , s_4)\), then \(f_A''\) returns \(s_0\). A cell in such a situation \((s_0, \dots , s_4)\) will not change its state by a transition of A. If there is more than one form whose left-hand side are applicable to a situation \((s_0, \dots , s_4)\), then \(f_A''\) follows the first one.

Since there is a function \(g: S_A \times \mathbb {N}^{S_A} \rightarrow S_A \times 2^{S_A}\) such that \({bol} = g \circ {tot}\), an asynchronous Boolean totalistic CA is outer totalistic. In other words, the Boolean totalistic property is stronger than the outer totalistic property.

As discussed in Sect. 1, the Boolean totalistic property is still not strong enough for our purposes. We define stronger property, non-camouflage.

Definition 6 (Non-camouflage)

An asynchronous Boolean totalistic CA A is non-camouflage if its transition rule \(f_A''\) satisfies

$$\begin{aligned}&\forall s_0 \in S_A.\; \forall h_0, h_1 \in 2^{S_A}.\\&~~~~~ (\forall s \in S_A.\; s \ne s_0 \Longrightarrow h_0(s) = h_1(s)) \Longrightarrow f_A''(s_0, h_0) = f_A''(s_0, h_1), \end{aligned}$$

If an asynchronous Boolean totalistic CA is non-camouflage, it is called an asynchronous non-camouflage CA.

2.3 Priese System

In Sect. 3, we construct an asynchronous non-camouflage CA, and prove that it is Turing-complete. In [5], Priese defined a Turing-complete system, which we call a Priese System in this paper and define in this subsection. Note that a Priese System is suitable for our purposes because it does not require synchronization of its elements.

First, we define s-automata (named after sequential automata).

Definition 7 (s-automaton)

A tuple \(A = (I, O, S, \rightarrow )\) is called an s-automaton if

  1. (i)

    I and O are finite sets with \(I \cap O = \emptyset \).

  2. (ii)

    S is a set.

  3. (iii)

    \(\rightarrow \subset (I \times S) \times (O \times S)\) is a transition relation.

An s-automaton \(A = (I, O, S, \rightarrow )\) is thus a machine that has a set I of input terminals, a set O of output terminals, and a set S of inner states. Let \(x \in I\), \(y \in O\) and \(s, s' \in S\) be an input terminal, an output terminal and inner states, respectively. \(((x, s), (y, s')) \in \rightarrow \) is denoted as \((x, s) \rightarrow (y, s')\). This state transition is interpreted as follows. If the input terminal x receives a signal and the s-automaton A is in the inner state s, then A can remove the signal on the input terminal x, change its inner state from s to \(s'\) and add a signal to the output terminal y.

An s-automaton \(A = (I, O, S, \rightarrow )\) can be considered as a state-system \(((I \sqcup O) \times S, \rightarrow )\) Footnote 2.

Two s-automata called \(\mathrm{K}\) and \(\mathrm{E}\) are used to define the Priese System. The s-automaton \(\mathrm{K} = (I_\mathrm{K}, O_\mathrm{K}, S_\mathrm{K}, \rightarrow _\mathrm{K})\) is defined by

$$ I_\mathrm{K} = \{0, 1\}, O_\mathrm{K} = \{2\}, S_\mathrm{K} = \{0\}, \rightarrow _\mathrm{K} = \{((0, 0), (2, 0)), ((1, 0), (2, 0))\}. $$

This s-automaton has two input terminals. Whichever input terminal receives a signal, it flows to the unique output terminal. The s-automaton \(\mathrm{E} = (I_\mathrm{E}, O_\mathrm{E}, S_\mathrm{E}, \rightarrow _\mathrm{E})\) is defined by

$$\begin{aligned}&I_\mathrm{E} = \{s, t\}, O_\mathrm{E} = \{s', t^u, t^d\}, S_\mathrm{E} = \{u, d\},\\&\rightarrow _\mathrm{E} = \{((s, u), (s', d)), ((s, d), (s', u)), ((t, u), (t^u, u)), ((t, d), (t^d, d))\}. \end{aligned}$$

This s-automaton has two inner states. When a signal arrives at the input terminal t, it flows to the output terminal \(t^u\) or \(t^d\) depending on the inner state of the s-automaton \(\mathrm{E}\). When a signal arrives at the input terminal s, it flows to the output terminal \(s'\) and the inner state is flipped at the same time.

Both of the s-automata \(\mathrm{K}\) and \(\mathrm{E}\) are too simple to simulate a universal Turing machine on their own, but a system constructed by connecting them turns out to be powerful enough. To connect s-automata each other, we define two operations over s-automata, product and feed-back.

The product of s-automata A and B is the s-automaton given by arranging them in a parallel configuration.

Definition 8 (Product)

Let s-automata \(A = (I_A, O_A, S_A, \rightarrow _A)\), \(B = (I_B, O_B, S_B, \rightarrow _B)\) be given. The product \(A \otimes B\) is the s-automaton \((I_A \sqcup I_B, O_A \sqcup O_B, S_A \times S_B, \rightarrow _{A \otimes B})\) with \(\rightarrow _{A \otimes B} = \{((x, (s, t)), (y, (s', t))) \;|\; (x, s) \rightarrow _A (y, s'), t \in S_B\} \;\cup \; \{((x, (s, t)), (y, (s, t'))) \;|\; (x, t) \rightarrow _B (y, t'), s \in S_A\}\).

Let s-automaton A be given. The feed-back of the output terminal y to the input terminal x is the s-automaton given by connecting y to x.

Definition 9 (Feed-back)

Let an s-automaton \(A = (I_A, O_A, S_A, \rightarrow _A)\), an input terminal \(x \in I_A\), and an output terminal \(y \in O_A\) be given. The feed-back \(A_y^x\) of the output terminal y to the input terminal x is the s-automaton \((I_A {\setminus } \{x\}, O_A {\setminus } \{y\}, S_A, \rightarrow _{A_y^x})\) with

$$ \rightarrow _{A_y^x} = {Cl}(\rightarrow _A \cup \{((y, s), (x, s)) | s \in S_A\}) \cap \left( (I_A {\setminus } \{x\} \times S_A) \times (O_A {\setminus } \{y\} \times S_A)\right) \!, $$

where Cl denotes the transitive and reflexive closure of a binary relation.

If one wants to make a machine that is made of s-automata \(A_1, \dots , A_n\), he or she can put them in parallel by the operation product and connect them to each other by the feed-back operation. The class of s-automata generated by such operations is called Normed Networks.

Definition 10 (Normed Network)

Let s-automata \(A_1, \dots , A_n\) be given. The Normed Network over \(A_1, \dots , A_n\) is the smallest set of s-automata that

  1. (i)

    contains \(A_1, \dots , A_n\) and

  2. (ii)

    is closed under feed-back and product.

Priese System is defined as the Normed Network over s-automata \(\mathrm{K}\) and \(\mathrm{E}\). It is known that any finite-state s-automaton belongs to Priese System [5]. Next we define the infinite chain made of two s-automata A and B, where A and infinite copies of B are connected in sequence.

Definition 11 (Infinite chain)

Let s-automata \(A = ({I_A} \sqcup {\bar{I}_A}, {O_A} \sqcup {\bar{O}_A}, S_A,\rightarrow _A)\) and \(B = ({I_B} \sqcup {\bar{I}_B}, {O_B} \sqcup {\bar{O}_B}, S_B, \rightarrow _B)\) be given and \(|{\bar{I}_A}| = |{O_B}| = |{\bar{I}_B}| = m\), \(|{\bar{O}_A}| = |{\bar{O}_B}| = |{I_B}| = n\). Let \(B^{(i)} = ({I_B^{(i)}} \sqcup {\bar{I}_B^{(i)}}, {O_B^{(i)}} \sqcup {\bar{O}_B^{(i)}}, S_B^{(i)}, \rightarrow _B^{(i)})\) be disjoint copies of B and \(\bar{I}_A = \{\bar{x}_1, \dots , \bar{x}_m\}\), \(\bar{O}_A = \{\bar{y}_1, \dots , \bar{y}_n\}\), \(I_B^{(i)} = \{x_1^{(i)}, \dots , x_n^{(i)}\}\), \(O_B^{(i)} = \{y_1^{(i)}, \dots , y_m^{(i)}\}\), \(\bar{I}_B^{(i)} = \{\bar{x}_1^{(i)}, \dots , \bar{x}_m^{(i)}\}\), \(\bar{O}_B^{(i)} = \{\bar{y}_1^{(i)}, \dots , \bar{y}_n^{(i)}\}\). The infinite chain made of A and B is an s-automaton \((S, I, O, \rightarrow )\) where \(S = \{(s, t_0, t_1, \dots )\;|\;s \in S_A, t_i \in S_B^{(i)}\}\), \(I = {I_A}\), \(O = {O_A}\), and

$$\begin{aligned} \rightarrow= & {} {Cl}( \{((x, (s, t_0, t_1, \dots )), (y, (s', t_0, t_1, \dots )))\;|\;(x, s) \rightarrow _A (y, s')\}\\&~~~~\cup \; \{((x, (s, t_0, \dots , t_i, \dots )), (y, (s, t_0, \dots , t_i', \dots )))\;|\;(x, t_i) \rightarrow _B^{(i)} (y, t_i')\}\\&~~~~\cup \; \{((\bar{y}_k, u), (x^{(0)}_k, u))\;|\;\bar{y}_k \in {\bar{O}_A}, x^{(0)}_k \in {I_B^{(0)}}\}\\&~~~~\cup \; \{((y^{(0)}_k, u), (\bar{x}_k, u))\;|\;y^{(0)}_k \in {O_B^{(0)}}, \bar{x}_k \in {\bar{I}_A}\}\\&~~~~\cup \; \{((\bar{y}^{(i)}_k, u), (x^{(i+1)}_k, u))\;|\;\bar{y}^{(i)}_k \in {\bar{O}_B^{(i)}}, x^{(i+1)}_k \in {I_B^{(i+1)}}\}\\&~~~~\cup \; \{((y^{(i+1)}_k, u), (\bar{x}^{(i)}_k, u))\;|\;y^{(i+1)}_k \in {O_B^{(i+1)}}, \bar{x}^{(i)}_k \in {\bar{I}_B^{(i)}}\})\\&\cap \; ((I \times S) \times (O \times S)). \end{aligned}$$

It is also known that any computation of a Turing machine from a finite initial configuration can be simulated by a computation of an infinite chain of finite-state s-automata. An argument showing this fact can be found, for instance, in [4].

3 Proposing Asynchronous Non-camouflage CA

3.1 Proposed CA \(\mathrm{M}\)

In this subsection, we present an asynchronous non-camouflage CA.

Table 1 shows the transition rule of our asynchronous non-camouflage CA in the asynchronous Boolean totalistic form. For simplicity, we call this asynchronous CA \(\mathrm{M}\). By the definition of asynchronous CA, \(\mathrm{M}\) is a state system \(\mathrm{M} = (S_\mathrm{M}^{\mathbb {Z}\times \mathbb {Z}}, \rightarrow _\mathrm{M})\). The number of cell states becomes \(|S_\mathrm{M}| = 21\) by adding a state 0 to the 20 states appearing in the table of transition rules.

Table 1. The transition rule of M.

In the table of transition rules, state \(s_0\) of each rule does not appear in the bracket \((s_i, \dots , \lnot s_j, \dots )\). This fact implies that \(\mathrm{M}\) is non-camouflage.

Since a cell in the state 0 will never be changed to another state or influence transitions of neighboring cells, we assume that almost all cells are in the cell state 0 and such cells are not drawn in the figures.

3.2 Simulation of s-automaton

In this subsection, we show that \(\mathrm{M}\) simulates any s-automaton belonging to the Priese System. \(\mathrm{M}\) can also simulate an infinite chain made of two s-automata in Priese System with an initial configuration that is periodic except for a finite area. The Turing-completeness of \(\mathrm{M}\) follows from this fact.

Wires and Signals. Cells with the state \(1 \in S_\mathrm{M}\) extending linearly are called a wire. Figure 1 shows an image of a wire. Three cells in the states \(2, 3, 4 \in S_\mathrm{M}\) arranged in this order are called a signal. This order makes a signal directed. A signal on a wire progresses along the wire (see Fig. 2). A signal on a finite wire reaches the end of the wire in a finite number of transitions if there is no influence from the outside on the wire.

Fig. 1.
figure 1

A wire.

Fig. 2.
figure 2

A signal on a wire.

Fig. 3.
figure 3

An image of wire-based simulation.

Let \(A = (I_A, O_A, S_A, \rightarrow _A)\) be an s-automaton. Recall that A is simulated as a state-system \(((I_A \sqcup O_A)\times S_A, \rightarrow _A)\). A state \(({io}, s) \in (I_A \sqcup O_A)\times S_A\) of A is regarded as a situation in which a machine with an inner state s has a signal on a terminal io. Wire-based simulation functions are simulation functions of s-automata by M, and represent such situations. Figure 3 shows how a wire-based simulation represents a transition \((x, s) \rightarrow (y, s')\) of an s-automaton with one input terminal x and one output terminal y.

Definition 12 (Wire-based simulation)

Let \(A = (I_A, O_A, S_A, \rightarrow _A)\) be an s-automaton and \(F : (I_A \sqcup O_A)\times S_A \rightarrow \wp (S_\mathrm{M}^{\mathbb {Z}\times \mathbb {Z}})\) be a simulation function of A by \(\mathrm{M}\). F is called a wire-based simulation function if there are functions \(G : S_A \rightarrow S_\mathrm{M}^{\mathbb {Z}\times \mathbb {Z}}\), \(g : I_A \sqcup O_A \rightarrow \mathbb {Z}\times \mathbb {Z}\) and integers \(x_{min}, x_{max}, y_{min}, y_{max} \in \mathbb {Z}\) such that

  1. (i)

    for each state \(s \in S_A\) of A, there is no transition from G(s),

  2. (ii)

    \(\forall s \in S_A.\; \forall x, y \in \mathbb {Z}.\; G(s)(x, y) = 0 \vee (x_{min} \le x \le x_{max} \wedge y_{min} \le y \le y_{max})\),

  3. (iii)

    \(\forall {io} \in I_A \sqcup O_A.\; \forall x, y \in \mathbb {Z}.\; g({io}) = (x, y) \Longrightarrow \)

         \(((x = x_{min} - 1\vee x = x_{max} + 1) \wedge (y_{min}< y < y_{max}))\)

         \(\vee ((y = y_{min} - 1 \vee y = y_{max} + 1) \wedge (x_{min}< x < x_{max}))\),

  4. (iv)

    for each input terminal \(i \in I_A\) and state \(s \in S_A\) of A, the state F(is) is identical with the state constructed by replacing a series of three cells with states (0, 0, 0) in G(s), which is extended toward the outside from the coordinate g(i), with an inwardly directed signal (2, 3, 4), and replacing series of three cells with states (0, 0, 0), which are extended toward the outside from the coordinate g(io) for each terminal \({io} \in (I_A {\setminus } \{i\}) \sqcup O_A\), with wires (1, 1, 1), and

  5. (v)

    for each output terminal \(o \in O_A\) and state \(s \in S_A\) of A, there is no difference between the procedure of constructing the state F(os) and (iv) but placing the signal in the opposite direction.

In this definition, the rectangle region \(\{(x, y) \in \mathbb {Z} \times \mathbb {Z}\;|\; x_{min} \le x \le x_{max} \wedge y_{min} \le y \le y_{max}\}\) is called the frame of F.

Note that if functions G and g are given, the wire-based simulation function F is uniquely determined by the conditions (iv) and (v) of Definition 12. So we regard the pair of G and g as F. In figures, G(s) for a state \(s \in S_A\) is shown as an arrangement of cell states and g(io) is shown by an arrow pointing at the cell corresponding to the input/output terminal io.

Simulation of K. We construct a wire-based simulation of the s-automaton K now. Figure 4 shows the state \(G_\mathrm{K}(0)\) and the coordinate \(g_\mathrm{K}({io})\) for each terminals \({io} \in I_\mathrm{K} \sqcup O_\mathrm{K}\). They give wire-based simulation \(F_\mathrm{K}\) of the s-automaton \(\mathrm{K}\) in state \(0 \in S_\mathrm{K}\). Figure 5 shows the state \(F_\mathrm{K}(0, 0)\). The states simulating \(\mathrm{K}\) with a signal in the other input/output terminals are also constructed in the same way.

Fig. 4.
figure 4

\(G_\mathrm{K}(0)\) and \(g_\mathrm{K}\).

Fig. 5.
figure 5

\(F_\mathrm{K}(0, 0)\).

Now we confirm that the function \(F_\mathrm{K}\) determined by Fig. 4 and the conditions of Definition 12 is a wire-based simulation function of \(\mathrm{K}\). Since there is no rule in Table 1 that is applicable to a cell in \(G_\mathrm{K}(0)\), the state \(G_\mathrm{K}(0)\) cannot be changed. Thus, the condition (i) of Definition 12 is satisfied. Recall that the cells which are not drawn in figures are assumed to be in state \(0 \in S_\mathrm{M}\). That means the condition (ii) of Definition 12 is satisfied if the frame of \(F_\mathrm{K}\) is determined by \(x_{min}, x_{max}, y_{min}\) and \(y_{max}\) in Fig. 4. The condition (iii) of Definition 12 is also satisfied because of the way to interpret the figure. The conditions (iv) and (v) are satisfied because the function \(F_\mathrm{K}\) is constructed by these conditions. Thus, if the function \(F_\mathrm{K}\) is a simulation function of \(\mathrm{K}\), \(F_\mathrm{K}\) is a wire-based simulation function.

Figure 6 shows the transitions that can be made if the initial state is \(F_\mathrm{K}(0, 0)\). Many transitions are presented by \(\rightarrow ^*\) to save space. These omitted transitions are almost the same as the transitions shown in Fig. 2. Any state \(t'\) which satisfies \(F_\mathrm{K}(0, 0) \leadsto _{F_\mathrm{K}} t'\) appears in the transitions shown in Fig. 6, and any state \(t'\) in this transitions satisfies \(t' \leadsto _{F_\mathrm{K}} F_\mathrm{K}(2, 0)\). A similar argument holds for transition \((1, 0) \rightarrow _\mathrm{K} (2, 0)\), so the condition (i) of Definition 2 is satisfied.

Fig. 6.
figure 6

The transitions from \(F_\mathrm{K}(0, 0)\) to \(F_\mathrm{K}(2, 0)\).

Since there is no transition of \(\mathrm{M}\) to the states \(F_\mathrm{K}(0, 0)\) or \(F_\mathrm{K}(1, 0)\) and there is no transition of \(\mathrm{M}\) from the state \(F_\mathrm{K}(2, 0)\), the condition (ii) of Definition 2 is also satisfied.

Therefore the function \(F_\mathrm{K}\) is a simulation function of \(\mathrm{K}\).

Simulation of E. The s-automaton \(\mathrm{E}\) with the inner state u or d is simulated by the arrangement of cell states shown in Fig. 7 or Fig. 8, respectively. The unique difference of these two states is whether the state of the center cell is in state \(U_0\) or in state \(D_0\). As in the case of \(\mathrm{K}\), we can confirm that the function \(F_\mathrm{E}\) determined by Figs. 7 and 8 is a wire-based simulation of \(\mathrm{E}\).

The procedures to confirm that transitions starting from a state on \(\mathrm{M}\) satisfy conditions of Definition 2 are mechanical but complicated. In practice, we conducted these procedures by using a computer program, which simulates transitions on \(\mathrm{M}\) and checked the conditions of Definition 2.

Crossing. Since we are dealing with two-dimensional space, it may be difficult to connect two terminals with a wire. We solve this problem by constructing a crossing, which allows two wires to cross each other. The construction of a crossing is shown in Fig. 9.

Fig. 7.
figure 7

\(G_\mathrm{E}(u)\).

Fig. 8.
figure 8

\(G_\mathrm{E}(d)\).

Fig. 9.
figure 9

Crossing.

Fig. 10.
figure 10

A signal on a crossing.

Figure 10 shows how a signal progresses across another wire. A wire cell in state 1 is usually changed to state Z when a cell in state 2 is in its neighborhood. However, a wire cell in contact with a cell in state \(C_1\) is not changed because of rule 1 of Table 1. That is the reason why a signal progresses straight at the center of a crossing. These transitions are non-deterministic, but any succeeding state transfers to the state having a signal in the opposite side of the initial state. Thanks to crossings, we can connect terminals freely.

Product and Feed-Back. We have proved that there are wire-based simulation functions of \(\mathrm{K}\) and \(\mathrm{E}\). Next we will explain how to combine them.

Let \(A = (I_A, O_A, S_A, \rightarrow _A)\) and \(B = (I_B, O_B, S_B, \rightarrow _B)\) be s-automata. Assume that there are wire-based simulation functions \(F_A\) of A and \(F_B\) of B. Then, we can construct a wire-based simulation \(F_{A\otimes B}\) of \(A \otimes B\) by the following procedure.

First, we assume that all coordinates corresponding to terminals adjoin the right edge of the frame of the wire-based simulation functions. This assumption is possible because we can extend wires freely. Second, we construct \(G_{A \otimes B}(s, s')\) for state \((s, s') \in S_A \times S_B\) by putting \(G_A(s)\) and \(G_B(s')\) in parallel vertically in such a way that the right sides are aligned. Then, \(g_{A \otimes B}\) indicates the coordinates to which the wires have been extended in the first step. The function \(F_{A \otimes B}\) determined by these \(G_{A \otimes B}\) and \(g_{A \otimes B}\) is a wire-based simulation of \(A \otimes B\). The left figure of Fig. 11 shows the image of \(G_{A \otimes B}(s, s')\).

Fig. 11.
figure 11

Left and right figures show \(G_{A \otimes B}(s, s')\) and \(G_{A_d^a}(s)\), respectively. Their frames are represented by rectangles drawn with double lines.

Let \(A = (I_A, O_A, S_A, \rightarrow _A)\), \(x \in I_A\) and \(y \in O_A\) be an s-automaton, its input terminal and its output terminal, respectively. Assume that there is a wire-based simulation function \(F_A\) of A. A wire-based simulation function \(F_{A_y^x}\) of the feed-back \(A_y^x\) is constructed as follows. First, a wire is extended from \(g_A(y)\) to \(g_A(x)\). Next, the frame of \(F_{A_y^x}\) is installed so that it includes the whole frame of \(F_A\) and the wire extended in the first step. Finally, for each terminal \({io} \in (I_A {\setminus } \{x\}) \sqcup (O_A {\setminus } \{y\})\), a wire is extended outward from \(g_A({io})\), and the coordinate \(g_{A_y^x}({io})\) is determined by the end of the extended wire. If necessary, wires cross each other by using a crossing.

The right figure of Fig. 11 shows an image of the feed-back \(A_d^a\). Two terminals a and d are connected by a wire. The connecting wire crosses the wire extended from \(g_A(b)\), so the crossing must be used at the point.

Infinite Chain. Let A and B be s-automata in Priese System. There exist wire-based simulation functions \(F_A\) and \(F_B\). Assume that A and B satisfy the assumptions of Definition 11. A wire-based simulation of the infinite chain made of A and B can be constructed by putting \(G_A\) and infinite copies of \(G_B\) in sequence and connecting the corresponding terminals to each other.

4 Discussion

This paper has presented an asynchronous non-camouflage CA, which is suitable for implementation by a reaction-diffusion system. The automaton has been obtained by making some changes to the asynchronous totalistic CA presented in [2]. The asynchronous CA presented in this paper is Turing-complete as expected.

The transition function of the asynchronous CA proposed in this paper is represented by less rules than the previous one is; 23 rules of the transition function of the former CA are less than half of 57 rules of that of the latter CA. This is a surprising result because the non-camouflage property is stronger than the outer totalistic property. This result will make it easy to design DNA reactions corresponding to the transition function.

The factor that can be credited for this result is the high expressiveness of the Boolean totalistic form. For example, the transition from cell state 2 to cell state Y is common in both of asynchronous CA. In outer totalistic form, this transition is represented by 7 rules. The number of states of neighboring cells changes depending on where the wire cell is, so a distinct rule corresponding to each situation is required. In our Boolean totalistic form, the transition is represented by just one rule (see rule 5 in Table 1).

We succeeded in constructing an asynchronous CA suitable for implementation by a reaction-diffusion system, but several practical obstacles remain until this implementation can be realized. The proposed cellular automaton has 21 cell states, but it is necessary to reduce the number of cell states to actually be able to implement the CA by a reaction-diffusion system with DNA molecules. It is also necessary to further simplify the transition rule so that the number of reactions is reduced. Finally, the intrinsic universality of non-camouflage CA, i.e., its Turing-completeness restricted to finite configurations is an interesting open problem.