Universal One-Dimensional Cellular Automata Derived for Turing Machines and its Dynamical Behaviour
Sergio J. Martinez, Ivan M. Mendoza, Genaro J. Martinez, Shigeru Ninagawa
UUniversal One-Dimensional Cellular AutomataDerived for Turing Machines and its DynamicalBehaviour ∗ Sergio J. Mart´ınez , Iv´an M. Mendoza Genaro J. Mart´ınez , , Shigeru Ninagawa July 10, 2019 Laboratorio de Ciencias de la Computaci´on, Escuela Superior de C´omputo,Instituto Polit´ecnico Nacional, M´exico [email protected] , [email protected] Unconventional Computing Lab, University of the West of England, Bristol,United Kingdom. [email protected] Kanazawa Institute of Technology, Hakusan, Japan [email protected]
Abstract
Universality in cellular automata theory is a central problem studiedand developed from their origins by John von Neumann. In this paper,we present an algorithm where any Turing machine can be converted toone-dimensional cellular automaton with a 2-linear time and display itsspatial dynamics. Three particular Turing machines are converted in threeuniversal one-dimensional cellular automata, they are: binary sum, rule110 and a universal reversible Turing machine.
In this paper, we research the spacial dynamics of Turing machines as discretedynamical systems and its conversion as cellular automata. Cellular automataare dynamical systems that evolve in states and time discrete. Historicallycellular automata are used recurrently to explore novel unconventional domainsof computability across of signals, gliders, particles, waves, and mobile self-localization interactions [7, 22, 29, 1, 12, 11, 17, 31]. ∗ International Journal of Unconventional Computing . a r X i v : . [ n li n . C G ] J u l uring machines are computable models invented by Alan Turing in 1936to proof if a problem has a solution or not [26, 24, 5]. The behaviour of suchmachine is displayed as a sequence of instantaneous descriptions, which describesa string on an infinite tape where every instantaneous description is determinedby the sequential selection of a rule from a finite set of rules. If such sequence ofinstantaneous descriptions reaches a final state or cannot do more descriptionshence the computation is done.Frequently the construction of computers in cellular automata are handledjust with primitive signals (classic examples include von Neumann rule [27],Codd [3], Banks [2]) or with non-trivial patterns known as gliders, particles,waves or self-localizations (classic examples include the Game of Life [6], Rule110 [4, 30]), and recently by packages of signals ([18, 10]). Actually, we havesome Turing machines implemented in cellular automata, one of them in theGame of Life by Paul Rendell [23] and in one dimension by Smith [25] andother by Lindgren and Nordahl [9].The paper has the next structure. Initially, we introduce basic concepts toTuring machines and cellular automata. Later, we show an algorithm able toconvert a Turing machine to its equivalent one-dimensional cellular automaton.Finally, we show conversions of three particular Turing machines to three one-dimensional cellular automata. A Turing machine is defined as a 7-tuple M = ( Q, Σ , Γ , δ, q , B, F ), where Q is the finite set of states, Σ the alphabet of input symbols, Γ is the completeset of symbols in the tape, δ the transition function, q the start state, B the blank symbol and F the set of final or accepting states. The transitionfunction determines relations between a state with a symbol to other state, asfollows: δ ( q, X ) → ( p, Y, D ) ∀ q, p ∈ Q and X, Y ∈ Γ, and a direction D (left orright). This way, the language that a Turing machine can recognize is definedas L ( M ) = { w | q w (cid:96) ∗ I ∀ I ∈ F } , where w is a string of L and (cid:96) denotes amove of a Turing machine [8, 16]. One-dimensional cellular automata is represented by an array of cells x i where i ∈ Z and each x takes a value from a finite alphabet Σ. Thus, a sequence ofcells { x i } of finite length n describes a string or global configuration c on Σ. Theset of finite configurations will be expressed as Σ n . An evolution is comprisedby a sequence of configurations { c i } produced by the mapping Φ : Σ n → Σ n ;thus the global relation is symbolized as: Φ( c t ) → c t +1 , where t representstime and every global state of c is defined by a sequence of cell states. Theglobal relation is determined over the cell states in configuration c t updated2t the next configuration c t +1 simultaneously by a local function ϕ as follows: ϕ ( x ti − r , . . . , x ti , . . . , x ti + r ) → x t +1 i . Wolfram represents one-dimensional cellularautomata with two parameters ( k, r ), where k = | Σ | is the number of states, and r is the neighbourhood radius. In this domain, we have that Σ n determines thenumber of neighbourhoods of size n = 2 r + 1, and k k n represents the numberof distinct evolution rules [28, 14]. In 1971 [25], Alvy Smith III proved that a Turing machine of m internal statesand n tape symbols in 2-linear time can be simulated by a one-dimensionalcellular automaton with a neighbourhood of radius r = 1 and m + 2 n colours(cellular automata states). Later in 1990 [9], Lindgren and Nordahl pointed thatnot all m + 2 n colours is necessary to accomplish this and asserted that m + |{ ( state, direction ) | ∃ δ ( p, X ) = ( state, X (cid:48) , direction ) }| colours are necessary.It is m plus the cardinality of the set of pairs ( state, direction ) such that itis possible for the machine to reach such state by moving in such direction.Nevertheless, this number of colours is not enough to do the simulation accordingto the idea shown by Smith, since there are needed at least 2 colours to representthe machine’s head when it moves to the left. This way, the smaller number ofcolours required to accomplish this particular simulation is m + n + |{ state |∃ δ ( p, X ) = ( state, X (cid:48) , lef t ) }| ( m plus n plus the cardinality of the set of statesthat can be reached by moving to the left). To an arbitrary Turing machine M = ( Q, Σ M , Γ , δ, q , B, F ) there exists a one-dimensional equivalent cellular automaton C with an alphabet Σ C and radius r = 1. So, it is constructed from [9], as following.Σ C = Σ M ∪ Q ∪ Q (cid:48) , where Q (cid:48) is a set of auxiliary symbols that will helpto simulate the movements of the head to the left. So, the number of auxiliarysymbols for the cellular automaton will be | Q (cid:48) | ≤ | Q | . Note that Σ C is formedby the union of a set of tape symbols Σ M and a set of states Q . This is possiblebecause they are both treaties just as sets of symbols and not as symbols andstates separately.The movements to the right δ ( p, X ) = ( q, Y, right ) for a cellular automatonis defined in the next way: ϕ ( Z , p, X ) → Y . ϕ ( p, X, Z ) → q .where n is a natural number on Z n and indicates every symbol on Σ C . Thatmeans that for every rule shown, there are defined | Σ C | rules on ϕ . By applyingthis rules, we get a behaviour like this,where σ , σ ∈ Σ M . Finally, for the Turing machine’s transitions to the left, δ ( p, X ) = ( q, Y, lef t ), we define the following rules on ϕ .3able 1: Simulation of the head movements to the right σ p X σ σ Y q σ ϕ ( Z , p, X ) → q (cid:48) . ϕ ( p, X, Z ) → Y . q (cid:48) ∈ Q (cid:48) is a new symbol and it is an auxiliary symbol which indicates thatin the next time step the head of the machine will move to the left. To simulatethis one, we need add the next rule. ϕ ( Z , Z , q (cid:48) ) → q . ϕ ( Z , q (cid:48) , Z ) → Z .By applying these rules, we get a behaviour like this ( σ , σ ∈ Σ M ):Table 2: Simulation of the head movements to the left σ p X σ σ q (cid:48) Y σ q σ Y σ Note that the simulation of a Turing machine by using these rules will takeat most twice the time used by the Turing machine itself.
By generalizing the sets of rules shown, we can build an algorithm such that,given a Turing machine M as input produces an equivalent cellular automaton C . Note that the cycle at the end of the algorithm that takes O ( n ) time,where n = | Σ C | . It is only used to indicate that every undefined combinationof symbols will keep constant. By taking this for granted, the algorithm takesjust O ( m ∗ o ) time where m = | Q | and o = | Σ M | . The halting condition is well specified for Turing machines but not for cellularautomata. For a cellular automaton C the simulation of a Turing machine endswhen the global configuration w remains constant. This way, the automatonhas finished the analysis of the string ω at a time step t when ω t = ω t +1 .Similarly, we say the string ω has been accepted by C if ω t = αf β where f ∈ F , once C has ended the simulation at a time step t .4igure 1: Behaviour of the Turing machine M and its equivalent cellular au-tomaton C BS for the input string = 00101 + 00101 =. (left) Representationof the symbols. (center) Turing machine dynamics. (right) Cellular automatondynamics. 5 ata: Turing machine, M = ( Q, Σ M , Γ , δ, q , B, F ) Result:
One-dimensional cellular automaton, C Σ C = Σ M ∪ Q ; ϕ = ∅ ; for every p ∈ Q, X ∈ Σ M such that δ ( p, X ) = ( q, Y, D ) doif D = Right then
Add Z pX → Y to ϕ ;Add pXZ → q to ϕ ; endif D = Left thenif q (cid:48) / ∈ Σ C then Add q (cid:48) to Σ C ;Add Z Z q (cid:48) → q to ϕ ;Add Z q (cid:48) Z → Z to ϕ ; end Add Z pX → q (cid:48) to ϕ ;Add pXZ → Y to ϕ ; endendfor every undefined ϕ ( W , W , W ) , W , W , W ∈ Σ C do Add W W W → W to ϕ ; end A classic example in computer science is the design of computable functionsperforming arithmetical operations. In this way, a Turing machine performingsum is our first case of study.Let M = ( Q M , Σ M , Γ , δ, q , B, F ) be a Turing machine capable of recog-nizing strings of the form = a + b =, where a, b are binary numbers and re-turning a + b (this machine was presented in [16, 15]). Q M = { a, Q , dig, zle,ole, zad, oad, car, new, rig, lef, f in } , Σ M = { = , , , + } , Γ = { = , , , + , y, b, B } and δ is the transition function shown in the Table 3. q = a is the initial stateof the machine and B is the blank symbol.The behaviour of the Turing machine M for the input string = 00101 +00101 =, is shown in Fig. 3(center). By using M as input for the algorithmdescribed, we get a cellular automaton C BS , thich behaves almost as M . Thisis shown in Fig. 3(right). As we can see, the inputs and outputs of both M and C BS are the same, that means the simulation was done properly. However, thebehaviour of both models is not exactly alike; C BS takes twice the time of M tomove its head to the left. The set of rules defined for C BS is shown in Table 4.6igure 2: Dynamical behaviour of the Turing machine M and its equivalentcellular automaton C R for the input string 101100. (left) Representation ofthe symbols. (center) Turing machine dynamics. (right) Cellular automatondynamics. 7able 3: Transition table for the binary sum Turing machine (13 , State = 1 0 +
B y ba a, = , R a, , R a, , R a, + , R Q , B, LQ dig, B, Ldig ole, = , L zle, = , L lef, + , Lzle zle, , L zle, , L zad, + , Lole ole, , L ole, , L oad, + , Lzad new, y, L rig, b, R rig, y, R zad, y, L zad, b, Load new, b, L car, y, L rig, B, R oad, y, L oad, b, Lcar new, , L car, , L rig, , Rnew rig, = , Rrig dig, B, L rig, , R rig, , R rig, + , R rig, y, R rig, b, Rlef fin, B, R lef, , L lef, , L lef, y, L lef, b, Lfin fin, , R fin, , R halt, B, R fin, , R fin, , Rhalt The input string for both M and C BS is = 00101 + 00101 =. The instanta-neous description of M when it stops is 01010 B (cid:48) halt (cid:48) B . The global configurationof C BS at the end of the simulation is . . . B B (cid:48) halt (cid:48) B . . . . The second case of study is the famous elementary cellular automaton Rule110, for details see [13, 19]. This rule is computationally universal simulating acyclic tag system with a complicated system of gliders and collisions, for detailssee [30, 20]. Let the Turing machine be M = ( Q M , Σ M , Γ , δ, q , B ) capable of simulatingthe behaviour of the elementary cellular automaton Rule 110. This machineis one of several proposed with the same capacities described in Cook’s paper[4]. This way, Q M = { S x , S , S , S B } is the set of states of the machine,Σ M = { , } is the set of input symbols, Γ = { , , B } is the complete set oftape symbols, δ is the transition function shown in Table 5, q = a is the initialstate of the machine and B is the blank symbol.Following the algorithm, we have the whole set of rules defined for the cellularautomaton C R to simulate M in Table 5.The input string for both M and C R machines is 1011000. The in-stantaneous description of M when it stops is 00001111 1110100 S x B (Fig. 2center). The global configuration of C R at the end of the simulation is . . . B S x B . . . (Fig. 2 right).We will note that in this system is not relevant a halt condition because thegoal is yield the belong string. In a cellular space for Rule 110 starting with thestring 1011, it yields the string 111111101 five generations later.
In our last case, we consider a special kind of Turing machines that are reversiblein its table transitions. It is an universal reversible Turing machine able to Rule 110 repository. http://uncomp.uwe.ac.uk/genaro/Rule110.html Cyclic tag system working in Rule 110. http://uncomp.uwe.ac.uk/genaro/rule110/ctsRule110.html C BS to simulate M . u ( x ) f ( u ( x )) equivalent M transitions Z Z Q (cid:48) Q Z Z dig (cid:48) dig - Z Z zle (cid:48) zle - Z Z ole (cid:48) ole - Z Z zad (cid:48) zad - Z Z oad (cid:48) oad - Z Z car (cid:48) car - Z Z new (cid:48) new - Z Z lef (cid:48) lef - Z a = = δ ( a, =) = ( a, = , right ) a = Z aZ a δ ( a,
1) = ( a, , right ) a Z aZ a δ ( a,
0) = ( a, , right ) a Z aZ a + + δ ( a, +) = ( a, + , right ) a + Z aZ a B Q (cid:48) δ ( a, B ) = ( Q , B, left ) a B Z BZ Q dig (cid:48) δ ( Q , =) = ( dig, B, left ) Q Z BZ dig zle (cid:48) δ ( dig,
0) = ( zle, = , left ) dig Z = Z dig ole (cid:48) δ ( dig,
1) = ( ole, = , left ) dig Z = Z dig + lef (cid:48) δ ( dig, +) = ( lef, + , left ) dig + Z + Z zle zle (cid:48) δ ( zle,
0) = ( zle, , left ) zle Z Z zle zle (cid:48) δ ( zle,
1) = ( zle, , left ) zle Z Z zle + zad (cid:48) δ ( zle, +) = ( zad, + , left ) zle + Z + Z ole ole (cid:48) δ ( ole,
0) = ( ole, , left ) ole Z Z ole ole (cid:48) δ ( ole,
1) = ( ole, , left ) ole Z Z ole + oad (cid:48) δ ( ole, +) = ( oad, + , left ) ole + Z + Z zad y zad (cid:48) δ ( zad, y ) = ( zad, y, left ) zad y Z yZ zad b zad (cid:48) δ ( zad, b ) = ( zad, b, left ) zad b Z bZ zad y δ ( zad,
0) = ( rig, y, right ) zad Z rigZ zad b δ ( zad,
1) = ( rig, b, right ) zad Z rig zad = new (cid:48) δ ( zad, =) = ( new, y, left ) zad = Z yZ oad y oad (cid:48) δ ( oad, y ) = ( oad, y, left ) oad y Z yZ oad b oad (cid:48) δ ( oad, b ) = ( oad, b, left ) oad b Z bZ oad b δ ( oad,
0) = ( rig, b, right ) oad Z rigZ oad car (cid:48) δ ( oad,
1) = ( car, y, left ) oad Z yZ oad = new (cid:48) δ ( oad, =) = ( new, b, left ) oad = Z bZ car δ ( car,
0) = ( rig, , right ) car Z rigZ car car (cid:48) δ ( car,
1) = ( car, , left ) car Z Z car = new (cid:48) δ ( car, =) = ( new, , left ) car = Z Z new B = δ ( new, B ) = ( rig, = , right ) new B Z rigZ rig δ ( rig,
0) = ( rig, , right ) rig Z rigZ rig δ ( rig,
1) = ( rig, , right ) rig Z rigZ rig y y δ ( rig, y ) = ( rig, y, right ) rig y Z rigZ rig b b δ ( rig, b ) = ( rig, b, right ) rig b Z rigZ rig + + δ ( rig, +) = ( rig, + , right ) rig + Z rigZ rig = dig (cid:48) δ ( rig, =) = ( dig, B, left ) rig = Z BZ lef lef (cid:48) δ ( lef,
0) = ( lef, , left ) lef Z Z lef lef (cid:48) δ ( lef,
1) = ( lef, , left ) lef Z Z lef y lef (cid:48) δ ( lef, y ) = ( lef, y, left ) lef y Z yZ lef b lef (cid:48) δ ( lef, b ) = ( lef, b, left ) lef b Z bZ lef = B δ ( lef, =) = ( fin, B, right ) lef = Z finZ fin δ ( fin,
0) = ( fin, , right ) fin Z finZ fin δ ( fin,
1) = ( fin, , right ) fin Z finZ fin y δ ( fin, y ) = ( fin, , right ) fin y Z finZ fin b δ ( fin, b ) = ( fin, , right ) fin b Z finZ fin + B δ ( fin, +) = ( halt, B, right ) fin + Z halt M and its equiva-lent cellular automaton C UR for the input string ∗∗∗ N Y N N N Y ∗ Y N N ∗ b $ N N Y N Y N . (left) Representation of the symbols. (center) Turing machinedynamics. (right) Cellular automaton dynamics.11able 5: Turing machine transition table that simulate Rule 110.state 0 1 BS x S x , , R S , , R S B , , LS S x , , R S , , RS S x , , R S , , RS B S B , , L S B , , L S x , , R Table 6: Set of rules defined for C R to simulate M . u ( x ) f ( u ( x )) equivalent M transitions Z Z S (cid:48) B S B - Z S x δ ( S x ,
0) = ( S x , , right ) S x Z S x Z S x δ ( S x ,
1) = ( S , , right ) S x Z S Z S x B S (cid:48) B δ ( S x , B ) = ( S B , , left ) S x B Z Z S δ ( S ,
0) = ( S x , , right ) S Z S x Z S δ ( S ,
1) = ( S , , right ) S Z S Z S δ ( S ,
0) = ( S x , , right ) S Z S x Z S δ ( S ,
1) = ( S , , right ) S Z S Z S B S (cid:48) B δ ( S B ,
0) = ( S B , , left ) S B Z Z S B S (cid:48) B δ ( S B ,
1) = ( S B , , left ) S B Z Z S B B δ ( S B , B ) = ( S x , , right ) S B B Z S x simulate any cyclic tag system proposed by Morita and Yamaguchi with 17states and five symbols. For details see [21].Let the Turing machine be M = ( Q M , Σ M , Γ , δ, q , B ) which is an universalreversible Turing machine. Q M = { q , q , q , . . . , q , halt } is the set of states ofthe machine, Σ M = { Y, N, ∗ , $ } is the set of input symbols, Γ = { Y, N, ∗ , $ , b } is the complete set of tape symbols, δ is the transition function shown in theTable 7, q is the initial state of the machine and b is the blank symbol.As we did in the last two examples, we can observe that both, the behaviourof the Turing machine M (Fig. 3 center) and the behaviour of its equivalentcellular automaton C UR (Fig. 3 right) differ only in the amount of time requiredto process the movements of the head to the left. The set of rules defined for C UR is shown in Table 8.The input string for both M and C UR is ∗ ∗ ∗ N Y N N N Y ∗ Y N N ∗ b $ NN Y N Y N . The instantaneous description of M when it stops is ∗ ∗ ∗ N Y N NN Y ∗ Y N N ∗ q bbN N Y N Y N $ N N N Y N . The global configuration of C UR at theend of the simulation is . . . b ∗∗∗ N Y N N N Y ∗ Y N N ∗ q bbN N Y N Y N $ N N N Y N b . . . .12able 7: Transition table for a universal reversible Turing machine (17 , State b Y N * $ q q , $ , L q , $ , L q , b, Lq q , Y, L q , N, L q , ∗ , R q , b, Lq q , ∗ , L q , Y, L q , N, L q , ∗ , Lq q , b, R q , b, R q , b, R q , b, Rq q , Y, R q , Y, R q , N, R q , ∗ , R q , $ , Rq q , b, Lq q , Y, L q , Y, L q , N, L q , ∗ , L q , $ , Lq q , N, R q , Y, R q , N, R q , ∗ , R q , $ , Rq q , b, Lq q , N, L q , Y, L q , N, L q , ∗ , L q , $ , Lq q , Y, R q , N, R q , ∗ , R q , $ , Rq q , Y, R q , N, R q , ∗ , R q , Y, Rq q , Y, R q , N, R q , ∗ , R q , $ , Lq q , ∗ , L q , Y, L q , N, L q , ∗ , L q , $ , Lq q , b, R q , Y, L q , N, L q , b, Rq q , N, R q , Y, R q , N, R q , ∗ , R q , $ , Rq q , Y, R q , N, R q , ∗ , R q , $ , L We proved that one-dimensional cellular automata C BS , C R , and C UR areuniversal, simulating dynamics of Turing machines and exploring the spacialdynamics of conventional Turing machines in two dimensions such as cellularautomata evolutions. This way, the algorithm proposed in this paper may con-vert any Turing machine to an equivalent one-dimensional cellular automaton.The software developed (in Java) and used to calculate all simulations inthe paper is free and available from the next link: http://uncomp.uwe.ac.uk/genaro/Papers/Thesis_files/maquinaTuring.java.tar.gz . References [1] Andrew Adamatzky (Ed.). 2002.
Collision-Based Computing , Springer.[2] Edwin R. Banks. 1971. Information and transmission in cellular automata,
PhD Dissertion , Cambridge, MA, MIT.[3] Edward F. Codd. 1968.
Cellular Automata , Academic Press, Inc. New Yorkand London.[4] Matthew Cook (2004) Universality in Elementary Cellular Automata,
Com-plex Systems , 15(1), 1–40.[5] Martin Davis (Ed.). 1965.
The Undecidable , Raven Press Books.[6] Martin Gardner. 1970. Mathematical Games - The fantastic combinationsof John H. Conway’s new solitaire game Life,
Scientific American , 223,120–123. 13able 8: Set of rules defined for C UR to simulate M . u ( x ) f ( u ( x )) equivalent M transitions Z Z q (cid:48) q - Z Z q (cid:48) q - Z Z q (cid:48) q - Z Z q (cid:48) q - Z Z q (cid:48) q - Z Z q (cid:48) q - Z Z q (cid:48) q - Z q b q (cid:48) δ ( q , b ) = ( q , $ , Left ) q b Z $ Z q Y q (cid:48) δ ( q , Y ) = ( q , $ , Left ) q Y Z $ Z q N q (cid:48) δ ( q , N ) = ( q , b, Left ) q N Z bZ q Y q (cid:48) δ ( q , Y ) = ( q , Y, Left ) q Y Z YZ q N q (cid:48) δ ( q , N ) = ( q , N, Left ) q N Z NZ q * * δ ( q , ∗ ) = ( q , ∗ , Right ) q * Z q Z q $ q (cid:48) δ ( q , $) = ( q , b, Left ) q $ Z bZ q b q (cid:48) δ ( q , b ) = ( q , ∗ , Left ) q b Z * Z q Y q (cid:48) δ ( q , Y ) = ( q , Y, Left ) q Y Z YZ q N q (cid:48) δ ( q , N ) = ( q , N, Left ) q N Z NZ q * q (cid:48) δ ( q , ∗ ) = ( q , ∗ , Left ) q * Z * Z q b b δ ( q , b ) = ( q , b, Right ) q b Z q Z q Y b δ ( q , Y ) = ( q , b, Right ) q Y Z q Z q N b δ ( q , N ) = ( q , b, Right ) q N Z q Z q * b δ ( q , ∗ ) = ( q , b, Right ) q * Z q Z q b Y δ ( q , b ) = ( q , Y, Right ) q b Z q Z q Y Y δ ( q , Y ) = ( q , Y, Right ) q Y Z q Z q N N δ ( q , N ) = ( q , N, Right ) q N Z q Z q * * δ ( q , ∗ ) = ( q , ∗ , Right ) q * Z q Z q $ $ δ ( q , $) = ( q , $ , Right ) q $ Z q Z q b q (cid:48) δ ( q , b ) = ( q , b, Left ) q b Z b q b q (cid:48) δ ( q , b ) = ( q , Y, Left ) q b Z YZ q Y q (cid:48) δ ( q , Y ) = ( q , Y, Left ) q Y Z YZ q N q (cid:48) δ ( q , N ) = ( q , N, Left ) q N Z NZ q * q (cid:48) δ ( q , ∗ ) = ( q , ∗ , Left ) q * Z * Z q $ q (cid:48) δ ( q , $) = ( q , $ , Left ) q $ Z $ Z q b N δ ( q , b ) = ( q , N, Right ) q b Z q Z q Y Y δ ( q , Y ) = ( q , Y, Right ) q Y Z q Z q N N δ ( q , N ) = ( q , N, Right ) q N Z q Z q * * δ ( q , ∗ ) = ( q , ∗ , Right ) q * Z q Z q $ $ δ ( q , $) = ( q , $ , Right ) q $ Z q Z q b q (cid:48) δ ( q , b ) = ( q , b, Left ) q b Z bZ q b q (cid:48) δ ( q , b ) = ( q , N, Left ) q b Z NZ q Y q (cid:48) δ ( q , Y ) = ( q , Y, Left ) q Y Z YZ q N q (cid:48) δ ( q , N ) = ( q , N, Left ) q N Z NZ q * q (cid:48) δ ( q , ∗ ) = ( q , ∗ , Left ) q * Z * Z q $ q (cid:48) δ ( q , $) = ( q , $ , Left ) q $ Z $ Z q Y Y δ ( q , Y ) = ( q , Y, Right ) q Y Z q Z q N N δ ( q , N ) = ( q , N, Right ) q N Z q Z q * * δ ( q , ∗ ) = ( q , ∗ , Right ) q * Z q Z q $ $ δ ( q , $) = ( q , $ , Right ) q $ Z q Z q Y Y δ ( q , Y ) = ( q , Y, Right ) q Y Z q Z q N N δ ( q , N ) = ( q , N, Right ) q N Z q Z q * * δ ( q , ∗ ) = ( q , ∗ , Right ) q * Z q Z q $ Y δ ( q , $) = ( q , Y, Right ) q $ Z q Z q Y Y δ ( q , Y ) = ( q , Y, Right ) q Y Z q Z q N N δ ( q , N ) = ( q , N, Right ) q N Z q Z q * * δ ( q , ∗ ) = ( q , ∗ , Right ) q * Z q Z q $ q (cid:48) δ ( q , $) = ( q , $ , Left ) q $ Z $ q b q (cid:48) δ ( q , b ) = ( q , ∗ , Left ) q b Z * Z q Y q (cid:48) δ ( q , Y ) = ( q , Y, Left ) q Y Z YZ q N q (cid:48) δ ( q , N ) = ( q , N, Left ) q N Z NZ q * q (cid:48) δ ( q , ∗ ) = ( q , ∗ , Left ) q * Z * Z q $ q (cid:48) δ ( q , $) = ( q , $ , Left ) q $ Z $ Z q b b δ ( q , b ) = ( q , b, Right ) q b Z q Z q Y q (cid:48) δ ( q , Y ) = ( q , Y, Left ) q Y Z YZ q N q (cid:48) δ ( q , N ) = ( q , N, Left ) q N Z NZ q * b δ ( q , ∗ ) = ( q , b, Right ) q * Z q Z q b N δ ( q , b ) = ( q , N, Right ) q b Z q Z q Y Y δ ( q , Y ) = ( q , Y, Right ) q Y Z q Z q N N δ ( q , N ) = ( q , N, Right ) q N Z q Z q * * δ ( q , ∗ ) = ( q , ∗ , Right ) q * Z q Z q $ $ δ ( q , $) = ( q , $ , Right ) q $ Z q Z q Y Y δ ( q , Y ) = ( q , Y, Right ) q Y Z q Z q N N δ ( q , N ) = ( q , N, Right ) q N Z q Z q * * δ ( q , ∗ ) = ( q , ∗ , Right ) q * Z q Z q $ q (cid:48) δ ( q , $) = ( q , $ , Left ) q $ Z $ Feynman and computation: exploring the limitsof computers , Perseus Books.[8] John E. Hopcroft and Jeffrey D. Ullman. 1979.
Introduction to AutomataTheory Languages, and Computation , Reading: Addison-Wesley PublishingCompany.[9] Kristian Lindgren and Mats G. Nordahl. 1990. Universal Computation inSimple One-Dimensional Cellular Automata,
Complex Systems , 4, 229–318.[10] Genaro J. Mart´ınez, Andrew Adamatzky, Kenichi Morita, and MauriceMargenstern. 2010. Computation with competing patterns in Life-like au-tomaton, In:
Game of Life Automata , A. Adamatzky (Ed.), Springer, chap-ter 27, pages 547–572.[11] Genaro J. Mart´ınez, Andrew Adamatzky, and Kenichi Morita. 2018. Log-ical Gates via Gliders Collisions, In:
Reversibility and Universality , A.Adamatzky (Ed.), Springer, chapter 9, 199–220.[12] Genaro J. Mart´ınez, Andrew Adamatzky, Christopher R. Stephens, andAlejandro F. Hoeflich. 2011. Cellular automaton supercolliders,
Interna-tional Journal of Modern Physics C , 22(4), 419–439.[13] Harold V. McIntosh. 1999. Rule 110 as it relates to the presence ofgliders, http://delta.cs.cinvestav.mx/~mcintosh/comun/RULE110W/rule110.pdf , accessed July 2018.[14] Harold V. McIntosh. 2009.
One Dimensional Cellular Automata , LuniverPress.[15] Harold V. McIntosh and Gerardo Cisneros. 1990. The programming lan-guages REC and convert,
SIGPLAN Notices , 25(7), 81–94.[16] Marvin Minsky. 1967.
Computation: Finite and Infinite Machines , PrenticeHall.[17] Genaro J. Mart´ınez and Kenichi Morita. 2018. Conservative Computing ina One-dimensional Cellular Automaton with Memory,
Journal of CellularAutomata , 13(4), 325–346.[18] Genaro J. Mart´ınez, Kenichi Morita, Andrew Adamatzky, and MauriceMargenstern. 2010. Majority adder implementation by competing patternsin Life-like rule B2/S2345,
Lecture Notes in Computer Science , 6079, 93–104.[19] Genaro J. Mart´ınez, Harold V. McIntosh, and Juan C. S. T. Mora. 2006.Gliders in Rule 110,
International Journal of Unconventional Computing ,2(1), 1–49. 1720] Genaro J. Mart´ınez, Harold V. McIntosh, Juan C. S. T. Mora, and SergioV. Ch. Vergara. 2011. Reproducing the cyclic tag system developed byMatthew Cook with Rule 110 using the phases f Journal of CellularAutomata , 6(2-3), 121–161.[21] Kenichi Morita and Yoshikazu Yamaguchi. 2007. A Universal ReversibleTuring Machine,
Lecture Notes in Computer Science , 4664, 90–98.[22] Norman Margolus, Tommaso Toffoli, and Gerard Y. Vichniac (1986)Cellular-Automata Supercomputers for Fluid Dynamics Modeling,
Phys-ical Review Letters , 56(16), 1694–1696.[23] Paul Rendell. 2016.
Turing Machine Universality of the Game of Life ,Springer.[24] Claude E. Shannon. 1956. A Universal Turing Machine with Two InternalStates,
Automata Studies , Princeton University Press, 157–165.[25] Alvy R. Smith III. 1971. Simple computation-universal cellular spaces,
J.of the Assoc. for Computing Machinery , 18, 339–353.[26] Alan M. Turing. 1936. On computable numbers, with an application to theEntscheidungsproblem,
Proceedings of the London mathematical society ,2(1), 230–265.[27] John von Neumann. 1966.
Theory of Self-reproducing Automata (editedand completed by A. W. Burks), University of Illinois Press, Urbana andLondon.[28] Stephen Wolfram. 1984. Universality and complexity in cellular automata,
Physica D , 10, 1–35.[29] Stephen Wolfram. 1988. Cellular Automata Supercomputing, In:
HighSpeed Computing: Scientific Applications and Algorithm Design , R. B. Wil-helmson (Ed.), University of Illinois Press, pages 40–48.[30] Stephen Wolfram. 2002.
A New Kind of Science , Wolfram Media, Inc.,Champaign, Illinois.[31] Hector Zenil. 2012. On the Dynamic Qualitative Behaviour of UniversalComputation,