Abstract
This paper presents a Cellular Automaton (CA) model designed for possible implementation by the reaction and diffusion of DNA strands. The proposed CA works asynchronously, whereby each cell undergoes its transitions independently from other cells and at random times. The state of a cell changes in a cyclic manner, rather than according to an any-to-any mapping. The transition rules are designed as totalistic, i.e., the next state of a cell is determined only by the number of states in the neighborhood of the cell, not by their relative positions. Universal circuit elements are designed for the CA as well as wires and crossings to connect them, which implies that the CA is Turing-complete.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Adachi, S., Lee, J., Peper, F., Umeo, H.: Kaleidoscope of life: a 24-neighbourhood outer-totalistic cellular automaton. Phys. D 237(6), 800–817 (2008)
Adleman, L.M.: Molecular computation of solutions to combinatorial problems. Science 266, 1021–1024 (1994)
Biafore, M.: Cellular automata for nanometer-scale computation. Phys. D 70, 415–433 (1994)
Capcarrere, M.S., Sipper, M., Tomassini, M.: Two-state, \(r=1\) cellular automaton that classifies density. Phys. Rev. Lett. 77, 4969–4971 (1996)
Hagiya, M., Wang, S., Kawamata, I., Murata, S., Isokawa, T., Peper, F., Imai, K.: On DNA-based gellular automata. In: Ibarra, O.H., Kari, L., Kopecki, S. (eds.) UCNC 2014. LNCS, vol. 8553, pp. 177–189. Springer, Heidelberg (2014)
Jonoska, N., Seeman, N.C.: Molecular ping-pong game of life on a two-dimensional dna origami array. Philos. Trans. R. Soc. Lond. A: Math. Phys. Eng. Sci. 373(2046) (2015). (Article Number 20140215)
Minsky, M.: Computation: Finite and Infinite Machines. Prentice-Hall, Englewood Cliffs (1967)
Montagne, K., Plasson, R., Sakai, Y., Fujii, T., Rondelez, Y.: Programming an in vitro DNA oscillator using a molecular networking strategy. Mol. Syst. Biol. 7(1), 476–485 (2011)
Murata, S., Konagaya, A., Kobayashi, S., Hagiya, M.: Molecular robotics: a new paradigm for artifacts. New Gener. Comput. 31(1), 27–45 (2013)
Padirac, A., Fujii, T., Rondelez, Y.: Bottom-up construction of in vitro switchable memories. Proc. Natl Acad. Sci. U.S.A. 109(47), E3212–E3220 (2012)
Priese, L.: Automata and concurrency. Theor. Comput. Sci. 25(3), 221–265 (1983)
Rondelez, Y.: Competition for catalytic resources alters biological network dynamics. Phys. Rev. Lett. 108(1), 018102 (2012)
Scalise, D., Schulman, R.: Emulating cellular automata in chemical reaction-diffusion networks. In: Murata, S., Kobayashi, S. (eds.) DNA 2014. LNCS, vol. 8727, pp. 67–83. Springer, Heidelberg (2014)
Toffoli, T.: CAM: a high-performance cellular-automaton machine. Phys. D 10, 195–204 (1984)
Acknowledgment
This work was supported by a Grant-in-Aid for Scientific Research on Innovative Areas “Molecular Robotics” (No. 15H00825) of The Ministry of Education, Culture, Sports, Science, and Technology, Japan.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A Transition Rules Used in this Paper
A Transition Rules Used in this Paper
Three forms for each of rules used in this paper are shown, non-totalistic (NT), outer totalistic and inner-dependent (OT&ID), and inner totalistic (IT).
Rule No | NT form | OT&ID form | IT form | |
---|---|---|---|---|
1 | (1,0,1,0,2) \(\rightarrow \) Z | 1 | 0(2) 1(1) 2(1) \(\rightarrow \) Z | 0(2) 1(2) 2(1) \(\rightarrow \) Z |
2 | (2,0,Z,0,3) \(\rightarrow \) Y | 2 | 0(2) 3(1) Z(1) \(\rightarrow \) Y | 0(2) 2(1) 3(1) Z(1) \(\rightarrow \) Y |
3 | (3,0,Y,0,1) \(\rightarrow \) 1 | 3 | 0(2) 1(1) Y(1) \(\rightarrow \) 1 | 0(2) 1(1) 3(1) Y(1) \(\rightarrow \) 1 |
4 | (Y,0,Z,0,1) \(\rightarrow \) 3 | Y | 0(2) 1(1) Z(1) \(\rightarrow \) 3 | 0(2) 1(1) Y(1) Z(1) \(\rightarrow \) 3 |
5 | (Z,0,1,0,3) \(\rightarrow \) 2 | Z | 0(2) 1(1) 3(1) \(\rightarrow \) 2 | 0(2) 1(1) 3(1) Z(1) \(\rightarrow \) 2 |
6 | (1,\(C_0\),1,\(C_0\),2) \(\rightarrow \) Z | 1 | 1(1) 2(1) \(C_0\)(2) \(\rightarrow \) Z | 1(2) 2(1) \(C_0\)(2) \(\rightarrow \) Z |
7 | (2,\(C_1\),Z,\(C_1\),3) \(\rightarrow \) Y | 2 | 3(1) Z(1) \(C_1\)(2) \(\rightarrow \) Y | 2(1) 3(1) Z(1) \(C_1\)(2) \(\rightarrow \) Y |
8 | (3,\(C_1\),Y,\(C_1\),1) \(\rightarrow \) 1 | 3 | 1(1) Y(1) \(C_1\)(2) \(\rightarrow \) 1 | 1(1) 3(1) Y(1) \(C_1\)(2) \(\rightarrow \) 1 |
9 | (Y,\(C_1\),Z,\(C_1\),1) \(\rightarrow \) 3 | Y | 1(1) Z(1) \(C_1\)(2) \(\rightarrow \) 3 | 1(1) Y(1) Z(1) \(C_1\)(2) \(\rightarrow \) 3 |
10 | (Z,\(C_1\),1,\(C_1\),3) \(\rightarrow \) 2 | Z | 1(1) 3(1) \(C_1\)(2) \(\rightarrow \) 2 | 1(1) 3(1) Z(1) \(C_1\)(2) \(\rightarrow \) 2 |
11 | (1,1,1,1,2) \(\rightarrow \) Z | 1 | 1(3) 2(1) \(\rightarrow \) Z | 1(4) 2(1) \(\rightarrow \) Z |
12 | (2,1,Z,1,3) \(\rightarrow \) Y | 2 | 1(2) 3(1) Z(1) \(\rightarrow \) Y | 1(2) 2(1) 3(1) Z(1) \(\rightarrow \) Y |
13 | (3,1,Y,1,1) \(\rightarrow \) 1 | 3 | 1(3) Y(1) \(\rightarrow \) 1 | 1(3) 3(1) Y(1) \(\rightarrow \) 1 |
14 | (Y,1,Z,1,1) \(\rightarrow \) 3 | Y | 1(3) Z(1) \(\rightarrow \) 3 | 1(3) Y(1) Z(1) \(\rightarrow \) 3 |
15 | (Z,1,1,1,3) \(\rightarrow \) 2 | Z | 1(3) 3(1) \(\rightarrow \) 2 | 1(3) 3(1) Z(1) \(\rightarrow \) 2 |
16 | (\(C_0\),0,1,Z,0) \(\rightarrow \) \(C_1\) | \(C_0\) | 0(2) 1(1) Z(1) \(\rightarrow \) \(C_1\) | 0(2) 1(1) Z(1) \(C_0\)(1) \(\rightarrow \) \(C_1\) |
17 | (\(C_1\),0,1,1,0) \(\rightarrow \) \(C_0\) | \(C_1\) | 0(2) 1(2) \(\rightarrow \) \(C_0\) | 0(2) 1(2) \(C_1\)(1) \(\rightarrow \) \(C_0\) |
18 | (1,2,0,1,K) \(\rightarrow \) Z | 1 | 0(1) 1(1) 2(1) K(1) \(\rightarrow \) Z | 0(1) 1(2) 2(1) K(1) \(\rightarrow \) Z |
19 | (Z,3,0,1,K) \(\rightarrow \) 2 | Z | 0(1) 1(1) 3(1) K(1) \(\rightarrow \) 2 | 0(1) 1(1) 3(1) Z(1) K(1) \(\rightarrow \) 2 |
20 | (2,3,0,Z,K) \(\rightarrow \) Y | 2 | 0(1) 3(1) Z(1) K(1) \(\rightarrow \) Y | 0(1) 2(1) 3(1) Z(1) K(1) \(\rightarrow \) Y |
21 | (Y,1,0,Z,K) \(\rightarrow \) 3 | Y | 0(1) 1(1) Z(1) K(1) \(\rightarrow \) 3 | 0(1) 1(1) Y(1) Z(1) K(1) \(\rightarrow \) 3 |
22 | (3,1,0,Y,K) \(\rightarrow \) 1 | 3 | 0(1) 1(1) Y(1) K(1) \(\rightarrow \) 1 | 0(1) 1(1) 3(1) Y(1) K(1) \(\rightarrow \) 1 |
23 | (1,2,1,1,L) \(\rightarrow \) Z | 1 | L(1) 1(2) 2(1) \(\rightarrow \) Z | L(1) 1(3) 2(1) \(\rightarrow \) Z |
24 | (Z,3,1,1,L) \(\rightarrow \) X | Z | L(1) 1(2) 3(1) \(\rightarrow \) X | L(1) 1(2) 3(1) Z(1) \(\rightarrow \) X |
25 | (X,3,Z,1,L) \(\rightarrow \) Y | X | L(1) 1(1) 3(1) Z(1) \(\rightarrow \) Y | L(1) 1(1) 3(1) X(1) Z(1) \(\rightarrow \) Y |
26 | (Y,1,Z,1,L) \(\rightarrow \) 3 | Y | L(1) 1(2) Z(1) \(\rightarrow \) 3 | L(1) 1(2) Y(1) Z(1) \(\rightarrow \) 3 |
27 | (3,1,Y,1,L) \(\rightarrow \) 1 | 3 | L(1) 1(2) Y(1) \(\rightarrow \) 1 | L(1) 1(2) 3(1) Y(1) \(\rightarrow \) 1 |
28 | (1,2,1,0,U) \(\rightarrow \) Z | 1 | 0(1) 1(1) 2(1) U(1) \(\rightarrow \) Z | 0(1) 1(2) 2(1) U(1) \(\rightarrow \) Z |
29 | (Z,3,1,0,U) \(\rightarrow \) 2 | Z | 0(1) 1(1) 3(1) U(1) \(\rightarrow \) 2 | 0(1) 1(1) 3(1) Z(1) U(1) \(\rightarrow \) 2 |
30 | (2,3,Z,0,\(D'\)) \(\rightarrow \) Y | 2 | 0(1) 3(1) Z(1) \(D'\)(1) \(\rightarrow \) Y | 0(1) 2(1) 3(1) Z(1) \(D'\)(1) \(\rightarrow \) Y |
31 | (Y,1,Z,0,D) \(\rightarrow \) 3 | Y | 0(1) 1(1) Z(1) D(1) \(\rightarrow \) 3 | 0(1) 1(1) Y(1) Z(1) D(1) \(\rightarrow \) 3 |
32 | (3,1,Y,0,D) \(\rightarrow \) 1 | 3 | 0(1) 1(1) Y(1) D(1) \(\rightarrow \) 1 | 0(1) 1(1) 3(1) Y(1) D(1) \(\rightarrow \) 1 |
33 | (U,0,2,E,1) \(\rightarrow \) \(D'\) | U | 0(1) 1(1) 2(1) E(1) \(\rightarrow \) \(D'\) | 0(1) 1(1) 2(1) E(1) U(1) \(\rightarrow \) \(D'\) |
34 | (\(D'\),0,Y,E,1) \(\rightarrow \) D | \(D'\) | 0(1) 1(1) Y(1) E(1) \(\rightarrow \) D | 0(1) 1(1) Y(1) E(1) \(D'\)(1) \(\rightarrow \) D |
35 | (1,2,1,0,D) \(\rightarrow \) Z | 1 | 0(1) 1(1) 2(1) D(1) \(\rightarrow \) Z | 0(1) 1(2) 2(1) D(1) \(\rightarrow \) Z |
36 | (Z,3,1,0,D) \(\rightarrow \) 2 | Z | 0(1) 1(1) 3(1) D(1) \(\rightarrow \) 2 | 0(1) 1(1) 3(1) Z(1) D(1) \(\rightarrow \) 2 |
37 | (2,3,Z,0,\(U'\)) \(\rightarrow \) Y | 2 | 0(1) 3(1) Z(1) \(U'\)(1) \(\rightarrow \) Y | 0(1) 2(1) 3(1) Z(1) \(U'\)(1) \(\rightarrow \) Y |
38 | (Y,1,Z,0,U) \(\rightarrow \) 3 | Y | 0(1) 1(1) Z(1) U(1) \(\rightarrow \) 3 | 0(1) 1(1) Y(1) Z(1) U(1) \(\rightarrow \) 3 |
39 | (3,1,Y,0,U) \(\rightarrow \) 1 | 3 | 0(1) 1(1) Y(1) U(1) \(\rightarrow \) 1 | 0(1) 1(1) 3(1) Y(1) U(1) \(\rightarrow \) 1 |
40 | (D,0,2,E,1) \(\rightarrow \) \(U'\) | D | 0(1) 1(1) 2(1) E(1) \(\rightarrow \) \(U'\) | 0(1) 1(1) 2(1) E(1) D(1) \(\rightarrow \) \(U'\) |
41 | (\(U'\),0,Y,E,1) \(\rightarrow \) U | \(U'\) | 0(1) 1(1) Y(1) E(1) \(\rightarrow \) U | 0(1) 1(1) Y(1) E(1) \(U'\)(1) \(\rightarrow \) U |
42 | (1,2,U,1,1) \(\rightarrow \) Z | 1 | 1(2) 2(1) U(1) \(\rightarrow \) Z | 1(3) 2(1) U(1) \(\rightarrow \) Z |
43 | (Z,3,U,1,1) \(\rightarrow \) u | Z | 1(2) 3(1) U(1) \(\rightarrow \) u | 1(2) 3(1) Z(1) U(1) \(\rightarrow \) u |
44 | (u,3,U,1,Z) \(\rightarrow \) Y | u | 1(1) 3(1) Z(1) U(1) \(\rightarrow \) Y | 1(1) 3(1) Z(1) U(1) u(1) \(\rightarrow \) Y |
45 | (Y,1,U,1,Z) \(\rightarrow \) 3 | Y | 1(2) Z(1) U(1) \(\rightarrow \) 3 | 1(2) Y(1) Z(1) U(1) \(\rightarrow \) 3 |
46 | (3,1,U,1,Y) \(\rightarrow \) 1 | 3 | 1(2) Y(1) U(1) \(\rightarrow \) 1 | 1(2) 3(1) Y(1) U(1) \(\rightarrow \) 1 |
47 | (1,0,u,0,1) \(\rightarrow \) Z | 1 | 0(2) 1(1) u(1) \(\rightarrow \) Z | 0(2) 1(2) u(1) \(\rightarrow \) Z |
48 | (1,2,D,1,1) \(\rightarrow \) Z | 1 | 1(2) 2(1) D(1) \(\rightarrow \) Z | 1(3) 2(1) D(1) \(\rightarrow \) Z |
49 | (Z,3,D,1,1) \(\rightarrow \) d | Z | 1(2) 3(1) D(1) \(\rightarrow \) d | 1(2) 3(1) Z(1) D(1) \(\rightarrow \) d |
50 | (d,3,D,Z,1) \(\rightarrow \) Y | d | 1(1) 3(1) Z(1) D(1) \(\rightarrow \) Y | 1(1) 3(1) Z(1) D(1) d(1) \(\rightarrow \) Y |
51 | (Y,1,D,Z,1) \(\rightarrow \) 3 | Y | 1(2) Z(1) D(1) \(\rightarrow \) 3 | 1(2) Y(1) Z(1) D(1) \(\rightarrow \) 3 |
52 | (3,1,D,Y,1) \(\rightarrow \) 1 | 3 | 1(2) Y(1) D(1) \(\rightarrow \) 1 | 1(2) 3(1) Y(1) D(1) \(\rightarrow \) 1 |
53 | (1,d,E,1,0) \(\rightarrow \) Z | 1 | 0(1) 1(1) E(1) d(1) \(\rightarrow \) Z | 0(1) 1(2) E(1) d(1) \(\rightarrow \) Z |
54 | (Z,3,E,1,0) \(\rightarrow \) 2 | Z | 0(1) 1(1) 3(1) E(1) \(\rightarrow \) 2 | 0(1) 1(1) 3(1) Z(1) E(1) \(\rightarrow \) 2 |
55 | (2,3,E,Z,0) \(\rightarrow \) Y | 2 | 0(1) 3(1) Z(1) E(1) \(\rightarrow \) Y | 0(1) 2(1) 3(1) Z(1) E(1) \(\rightarrow \) Y |
56 | (Y,1,E,Z,0) \(\rightarrow \) 3 | Y | 0(1) 1(1) Z(1) E(1) \(\rightarrow \) 3 | 0(1) 1(1) Y(1) Z(1) E(1) \(\rightarrow \) 3 |
57 | (3,1,E,Y,0) \(\rightarrow \) 1 | 3 | 0(1) 1(1) Y(1) E(1) \(\rightarrow \) 1 | 0(1) 1(1) 3(1) Y(1) E(1) \(\rightarrow \) 1 |
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Isokawa, T., Peper, F., Kawamata, I., Matsui, N., Murata, S., Hagiya, M. (2016). Universal Totalistic Asynchonous Cellular Automaton and Its Possible Implementation by DNA. In: Amos, M., CONDON, A. (eds) Unconventional Computation and Natural Computation. UCNC 2016. Lecture Notes in Computer Science(), vol 9726. Springer, Cham. https://doi.org/10.1007/978-3-319-41312-9_15
Download citation
DOI: https://doi.org/10.1007/978-3-319-41312-9_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-41311-2
Online ISBN: 978-3-319-41312-9
eBook Packages: Computer ScienceComputer Science (R0)