Professional Documents
Culture Documents
1 Introduction
This paper belongs to a long series of papers initiated by the author with his contribution to a combinatorial approach to hyperbolic geometry. Full material about this approach can be found in the two-volume book of the author, see [3, 4], where many references can be found. The basic idea of the approach followed by the author is a location technique for the tiles of regular tilings of the hyperbolic plane. It is well known that there are innitely many tilings in the hyperbolic plane, a consequence of Poincar s theorem charactere izing tessellations dened by a triangle, see [13]. An innite family of these tilings can be dened as Cayley graphs of a group of displacements which leave the tiling globally invariant. However, this classical method does not work for innitely many regular tilings of the hyperbolic plane. Moreover, it does not necessarily solve the word problem, even in the cases when it can be applied as, in general, the word problem for groups is undecidable, see [12]. The technique presented and developed in [3, 4] is simple and very powerful. It works on all regular tilings of the hyperbolic plane as well on the tiling {5, 3, 4} of the hyperbolic 3D space and the tiling {5, 3, 3, 4} of the hyperbolic 4D space. The location technique presented in these books has many applications. Among them, it was used by the author to implement cellular automata in the hyperbolic plane and in the hyperbolic 3D space. The goal of this paper is to present ve universal cellular automata in this setting, four of them in the hyperbolic plane and one of them in the hyperbolic 3D space. All of these automata simulate a register machine, using the model of a railway circuit deISSN: 1790-5109 83
scribed in [14]. We sketchily remind the reader this model in Section 2. Consequently, as register machines are computationally universal, these cellular automata are also universal. Now, as their initial conguration is innite, they are said weakly universal. Note that this definition also contains the following constraint on the initial conguration which, although innite, should not be arbitrary. It is required that the initial conguration could be dened by a primitive recursive function. This will be the case: outside a nite domain, the conguration can be split into two parts, each one being globally invariant under an appropriate shift of the tiling. The other common property of these cellular automata is that they have a small number of states and, for four of them, a very small number of states. The cellular automata of the hyperbolic plane which will be presented work on two grids of this space which we present in Section 3. One of them is the pentagrid, the tiling {5, 4} of the hyperbolic plane, and the other is the heptagrid, the tiling {7, 3}. In Section 4, we present two universal cellular automata on the pentagrid. The rst one with 22 states, obtained in 2002, see [1] and the other with 9 states, a rather recent result, see [10]. In Section 5, we present two universal cellular automata on the heptagrid, one with 6 states, see [11], also a recent result, and one with 4 states, a new result. In Section 6, we present the implementation of the same model in the hyperbolic 3D, giving rise to a universal cellular automaton with 5 states, see [7]. For all the cellular automata of this paper, simulation programs were written to simulate them. Four programs were written to this aim. The rst one was written in C, to simulate the cellular automaton on
ISBN: 978-960-474-099-4
the pentagrid with 22 states. The other programs were written in ADA: one for the 3D case, another program for the pentagrid, and the last one for the heptagrid. They were used to establish all the rules needed by the cellular automata and also to check the global compatibility of the rules between each other.
through E, it performs a read operation. When it enters the circuit through U , it performs a write operation. It is assumed that the write operation is triggered if and only if the bit is to be changed.
U 0 1 E 0
Figure 2 The elementary circuit. From this element, it is easy to devise circuits which represent different parts of a register machine. As an example, Figure 3 illustrates an implementation of a unit of a register.
j1 j2
1 0 1 1 1 1
2 Railway simulation
As initially devised in [14] already mentioned in [2, 1], the railway simulation is based on a single locomotive running along a circuit dened by tracks and switches. At each time, the conguration of the circuit is dened by the states of all switches. There are three kinds of switch: the xed, the memory and the ipop switches. They are represented by the schemes given in Figure 1, using straight segments and arcs of circles.
11 00 11 00 11 00 11 00
1 O1 O2
A switch is an oriented structure: on one side, it has a single track u and, on the the other side, it has two tracks a and b. This denes two ways of crossing a switch. Call the way from u to a or b active. Call the other way, from a or b to u passive. The names come from the fact that in a passive way, the switch plays no role on the trajectory of the locomotive. On the contrary, in an active crossing, the switch indicates which track between a and b will be followed by the locomotive after running on u: the new track is called the selected track. As indicated by its name, the xed switch is left unchanged by the passage of the locomotive. It always remains in the same position, always sending the locomotive onto the same track during an active crossing. The ip-op switch is assumed to be crossed only actively. Now, after each crossing by the locomotive, it changes the selected track. The memory switch can be crossed by the locomotive actively and passively. In an active passage, the locomotive is sent on the selected track. Now, the selected track is dened by the track of the last passive crossing by the locomotive. Of course, at initial time, the selected track is xed. With the help of these three kind of switches, we dene an elementary circuit as in [14], which exactly contains one bit of information. The circuit is illustrated by Figure 2, below, the indications 0 and 1 indicates the position of the switch representing the corresponding bit value. Following the circuit, the reader can check that when the locomotive enters the circuit
ISSN: 1790-5109 84
ii
0
0 1
id
0
i+1i
1 0
i+1d
1 0
i d r
Figure 3 Here, we have two consecutive units of a register. A register contains innitely many copies of units. Note the tracks i, d, r, j1 and j2 . For incrementing, the locomotive arrives at a unit through i and it leaves the unit through r. For decrementing, it arrives though d and it leaves also through r if decrementing the register was possible, otherwise, it leaves through j1 or j2 .
Other parts of the needed circuitry are described in [2, 1]. The main idea in these different parts is to organize the circuit in possibly visiting several elementary circuits which represent the bits of a conguration which allow the whole system to remember the last visit of the locomotive. The use of this technique is needed for the following two operations. When the locomotive arrives to a register R, it arrives either to increment R or to decrement it. As can be seen on Figure 3, when the instruction is performed, the locomotive goes back from the register by the same track. Accordingly, we need somewhere to keep track of the fact whether the locomotive incremented or decremented R. This is one type of control. The other type comes from the fact that several instructions usually apply to the same register. Again, when the locomotive goes back from R, in general it
ISBN: 978-960-474-099-4
goes back to perform a new instruction which depends on the one it has just performed on R. Again this can be controlled by what we called the selector in [2, 1]. At last, the dispatching of the locomotive on the right track for the next instruction is performed by the sequencer, a circuit whose main structure looks like its implementation in the classical models of cellular automata such as the game of life or the billiard ball model. The reader is referred to the already quoted papers for full details on the circuit. Remember that this implementation is performed in the Euclidean plane, as clear from Figure 4 which illustrates the case of a few lines of a program of a register machine in selfexplaining notations.
1: dec X ,5 inc inc jmp dec Z W 1 W ,8 1 ,12 1 2 2 1 2
the polyhedron and that r polyhedra share an edge, covering a cylindrical neighbourhood around the edge with no overlapping. This completely characterizes the polygon of the faces which are copies of the pentagons of the grid {5, 4} and the fact that faces which share an edge are orthogonal.
15
14 13
27 29 28 30 31
32 33 13 14
11
10
32 12 31 3029 11 28
33
27 26 25 24 23
10
12
8 2221
20
5
15 16 17 18 19 20 21 22 23 24 25 26
1
2
1
2
19 18
17 16 15
14 13
9
27 28
3
10 11 4 31 32 12 33
13 14 15 16 17 29 30
1
5 6
18 19
1
3 2
7
20 21 22 23
4
10 9 25
23 8 22 20 19 21 24 26
33 12 32 31 30 29 28
11
27
5:
1
3
8
2425
2
6
7
18 17
8:
4
10
27 28 2930
5
14
15
16
9 26
12 11 32 33 13 31
12 :
1
2 3 4
1 0
7 8
1 0 0
9 10
1 0 1
11 12
1 0 0 0
16 17
1 0 0 1
18 19
1 0 1 0
20 21
1 0 0 0 0
22 23
1 0 0 0 1
24 25
1 0 0 1 0
26 27
1 0 1 0 0
28 29
1 0 1 0 1
30 31 32 33
What we have shortly described is implemented in the Euclidean plane. In fact, it can be implemented in the hyperbolic plane and in the hyperbolic 3D space. We shall use the Poincar s disc model of the hye perbolic plane and its natural generalisation to 3D for the hyperbolic 3D space. We shall successively examine the three tilings in which our implementations will take place, to which we turn in our next section.
1 0 0 0 0 0
1 0 0 0 0 1
1 0 0 0 1 0
1 0 0 1 0 0
1 0 0 1 0 1
1 0 1 0 0 0
1 0 1 0 0 1
1 0 1 0 1 0
1 0 0 0 0 0 0
1 0 0 0 0 0 1
1 0 0 0 0 1 0
1 0 0 0 1 0 0
1 0 0 0 1 0 1
1 0 0 1 0 0 0
1 0 0 1 0 0 1
1 0 0 1 0 1 0
1 0 1 0 0 0 0
1 0 1 0 0 0 1
1 0 1 0 0 1 0
1 0 1 0 1 0 0
1 0 1 0 1 0 1
Figure 5 shows how to exactly split the hyperbolic plane into a central tile and sectors, with = 5 for the pentagrid and = 7 for the heptagrid. Numbering the tiles on the right-hand side part of Figure 5 allows to make the correspondence with the tree of Figure 6. In the latter gure, numbers are also represented in the basis dened by the Fibonacci sequence with f1 = 1, f2 = 2, taking the maximal representation, see[5, 3, 4]. The colours in both gures of Figure 5 allow to show that the same tree generates a sector in both tilings. The main reason of this system of coordinates is that from any cell, we can nd out the coordinates of its neighbours in linear time with respect to the coordinate of the cell. Also in linear time from the coordinate of a cell, we can compute the path which goes
ISBN: 978-960-474-099-4
from the central cell to this cell. These properties are established in [6, 3]. In the paper, we shall not use coordinates explicitly, but the programs which checked the correctness of the rules do use them intensively.
The motion of the locomotive is performed along a predened path marked by a selected state denoted by B. This structure of the locomotive is the same in all the automata of the paper. On the path, the locomotive consists of two consecutive cells, one in green, G, the front, the other in red, R, the rear. The organization of the motion in this case is very easy and straightforward through the following rules which we refer to as the motion rules: BBG G, BGR R, GRB B, RBB B RGB R, BRG B, BBR B These rules are observed in three of the next four universal cellular automata of the paper in the hyperbolic plane. As indicated in [1], the crossings and the switches are marked by a special cell at the tile which stands on the intersection of the tracks dening these meetings of tracks. This special cell follows a cycle of specic states as it is crossed by the locomotive.
B
B
B
B
B2
B2
B
B
B
B
B
B
B
2
2
B
R B R
B
B
B
2
B
2
R B R
2
R B R
2
B
B
B
B
We have not enough room to show the motion of the locomotive in the different cases. Just to allow the reader to better understand the situation, Figure 8 indicates the congurations of the meeting points when the locomotive is not near the central tile. We call them the idle congurations. Figure 9 describes the crossing of a ip-op switch by the locomotive. This crossing is called active as the locomotive enters the switch from the unique track abutting the central tile at one isolated side. Then, the locomotive is sent onto one of the two tracks which abut the central tile at two other consecutive sides.
ISBN: 978-960-474-099-4
B2
B2
B2
G 1
B2
B
R B R
2 2 2
B
R G R
R
B
G
2 2
R
2 2
B
R R R
B
b
R B R
B
B
G
R
0
B B
a
B G
c
B B B
X2
R2
X2
R2
B
R
X2
B2
X2
B2
B
R B R
2 2 2
B
R B R
B
B B
B
2
B
2
R B R
2
R B R
2
B
d e
B
B
B
B
Theorem 1 (Margenstern, see [8]) There is a cellular automaton on the heptagrid which is weakly universal and which has 4 states. Outside a large enough disc, the initial conguration consists of two innite patterns, each one being globally invariant under an appropriate shift. To better understand the implementation of the railway circuit, we have to note that in the Euclidean setting, we only need to dene horizontal and vertical lines. In the hyperbolic plane this cannot be done but we can implement a partial distorted grid, with horizontal and half-verticals which will be enough for our purpose. Figure 10 indicates how such a grid can be implemented in the heptagrid. From Figure 10, the horizontals look like horocycles although they are not exactly such curves. The half-verticals follow rays which are dened by sequences of consecutive yellow nodes. Such sequences are innite and we can manage the implementation in such a way that the sequence always has a rst tile.
Figure 9 The locomotive crosses a ip-op switch, necessarily actively, here from sector 3. Note the change of the selected track when the rear of the locomotive leaves the switch.
With these indications, it is enough to implement a track which follows a half-vertical, a track which follows a horizontal and a piece of track which goes from a vertical to a horizontal and conversely. This third kind of track will be called a slip road.
ISBN: 978-960-474-099-4
For the automaton which is constructed to prove Theorem 1, we already redene the implementation of the very tracks. Figure 11 shows a path which can be used both to follow a half-vertical or to follow a slip road joining a half-vertical to a horizontal or conversely. In Figure 11 and all gures illustrating the behaviour of the automaton proving Theorem 1, the front of the locomotive has a darker colour than what it has in the denition of the automaton: for the convenience of the reader this distinguishes the colour blue of the front with the same colour used in the denition of the circuit.
Figure 12 shows the implementation of the track along a horizontal. It can be noticed that this solution can also be used to implement a track which follows a horizontal.
Accordingly, it is possible to implement the various elements of the circuit, following the Euclidean maps given in Section 2. Now, we can turn to the idle congurations and then to the motion of the locomotive through the crossings and the switches. The idle congurations are given in Figure 13. We may notice that the differences are parallel to those which exist in the case of the automaton with 6 states, see [11]. We have two groups of meeting point. On one hand, the crossing and the xed switch are similar. On the other hand, the memory and the ip-op switch are also similar. The difference is important between the two groups. Also, the mechanism of the change of selection in the memory and the ipop switch looks like an obstacle on the track in Figure 13 which is not the case for the automaton with 6 states. As in Section 4, we only indicate the crossing of a ip-op switch by the locomotive, see Figure 14. Remember that the crossing of a ip-op switch is always active. Other gures should be given in order to completely illustrate all the cases of passage through the crossings and through the switches. We cannot give them due to the small amount of room we have for that. Let us indicate that the circuit can use a single type of xed switch, always sending the locomotive on the same side. The other possibility can be obtained by appending a crossing after the selection. On the contrary, for the memory and the ip-op switches, we also have to consider the symmetrical situation when the selected track is the other track of the switch.
And so, combining verticals, horizontals and slip roads which connect the two kinds of path, we get closed curves which are distorted images of rectangles which cannot be similar as similarity does not exist in the hyperbolic plane. But similarity is actually not needed: the fact that the closed curves get exponentionally bigger does not matter for our simulation.
ISSN: 1790-5109
around an edge, there are four dodecahedra. As an example, the faces A, 2 and E of the pictures share an edge with the central cell. On each face we can put a dodecahedron which is represented by a letter. Now, face 2 has a symmetric image which also shares this common edge. Due to the rule of four dodecahedra around an edge, we can conclude that the dodecahedron on face 2 also touches the dodecahedron on the face E: the common face is represented by the symmetric image of face 2.
in in in
heptagrid while planar intersections with the dodecagrid give a pentagrid in the best case. The additional possibilities given by the third dimension are probably not fully exploited. Acknowledgements: The author is much in debt to Professor Nikos E. Mastorakis for inviting him to present this paper to CSCC2009. References: [1] F. Herrmann, M. Margenstern, A universal cellular automaton in the hyperbolic plane, Theoretical Computer Science, (2003), 296, 327-364. [2] M. Margenstern, Two railway circuits: a universal circuit and an NP-difcult one, Computer Science Journal of Moldova, 9, 135, (2001). [3] M. Margenstern, Cellular Automata in Hyperbolic Spaces, Volume 1, Theory, OCP, Philadelphia, (2007), 422p. [4] M. Margenstern, Cellular Automata in Hyperbolic Spaces, Volume 2, Implementation and computations, OCP, Philadelphia, (2008), 360p. [5] M. Margenstern, New Tools for Cellular Automata of the Hyperbolic Plane, Journal of Universal Computer Science 6(12), (2000), 1226 1252. [6] M. Margenstern, Implementing Cellular Automata on the Triangular Grids of the Hyperbolic Plane for New Simulation Tools, ASTC2003, (2003). [7] M. Margenstern A Universal Cellular Automaton with Five States in the 3D Hyperbolic Space Journal of Cellular Automata 1(4), (2006), 317351. [8] M. Margenstern, A new universal cellular automaton on the ternary heptagrid, arXiv:0903.2108[cs.FL], (2009), 35pp. [9] M. Margenstern, G. Skordev, Tools for devising cellular automata in the hyperbolic 3D space, Fundamenta Informaticae, 58(2), (2003), 369398. [10] M. Margenstern, Y. Song, A new universal cellular automaton on the pentagrid, Parallel Processing Letters, to appear. [11] M. Margenstern, Y. Song, A universal cellular automaton on the ternary heptagrid, Electronical Notes in Theoretical Computer Science, 223, (2008), 167-185. [12] P. S. Novikov, On the Algorithmic Unsolvability of the Word Problem in Group Theory, Trudy Math. Inst. Steklova 44 (1955) (English translation in Amer. Math. Soc. Translations (2), 9 (1958)). [13] H. Poincar , Th orie des groupes fuchsiens, e e Acta Mathematicae, 1 (1882), 1-62. [14] I. Stewart, A Subway Named Turing, Mathematical Recreations in Scientic American, (1994), 90-92.
D 5
c
2 5
c
D C
2 5
D C
C 4 B
b
E 3
4 B
b
E 3 F
4 B
E 3
Below, Figure 16 shows the crossing of a memory switch by the locomotive in the most complicate situation, see the caption of the gure.
We refer the reader to [7] for further information on this automaton which has 5 states only and which is weakly universal, including the condition required on the initial conguration.
7 Conclusion
With the universal cellular automata with 4 states, we are close to the best possible result which would be 2 states. Note that in the Euclidean plane there is a universal cellular automaton with 2 states: the wellknown game of life devised by Conway. But there is still some work to do. Moreover, in the pentagrid we are farther from this minimal bound. Also, the question to improve the result is open in the hyperbolic 3D space. The result with 4 states cannot be directly transferred to the dodecagrid: it is obtained for the
ISSN: 1790-5109 89
ISBN: 978-960-474-099-4