A weakly universal cellular automaton in the heptagrid with three states
aa r X i v : . [ c s . D M ] O c t A weakly universal cellular automaton in theheptagrid with three states
Maurice
Margenstern
Universit´e de LorraineLITA, EA 3097,Campus du Saulcy,57045 Metz, C´edex 1, France e-mail : [email protected], [email protected] Abstract
In this paper, we construct a cellular automaton on the heptagrid whichis planar, weakly universal and which have three states only. This result improves thebest result which was with four states.
Keywords cellular automata, universality, tilings, hyperbolic geometry.
In this paper, we construct a weakly universal cellular automaton on the hep-tagrid, see Theorem 3 at the end of the paper. Two papers, [9, 5] alreadyconstructed such a cellular automaton, the first one with 6 states, the secondone with 4 states. In this paper, the cellular automaton we construct has threestates only. It uses the same principle of simulating a register machine througha railway circuit, but the implementation takes advantage of new ingredients in-troduced by the author in his quest to lower down the number of states, see [7].It also introduce new constructions which significantly improve the scenario usedin the previous papers. The reader is referred to [3, 4, 7] for an introductionto hyperbolic geometry turned to the implementation of cellular automata inthis context. A short introduction can also be found in [2]. However, it is notrequired to be an expert in hyperbolic geometry in order to read this paper.We refer the reader to [6] for a discussion about weak universality. Here, wejust remember the main characteristics of our cellular automaton with respect touniversality. The simulation is performed by a locomotive running on a railwaycircuit, using the basic elements introduced in [11]. The simulation is a planarone in this meaning that the trajectory of the locomotive involves infinitely manycycles when the computation does not halt. Now, the initial configuration isinfinite but, outside a finite domain, it consists of two periodic structures. Thisis why the automaton is called weakly universal. In the paper, we remember thebasic model we use in Section 2 and we stress on the new features in Section 3were we thoroughly describe the implementation of the model in the heptagrid.In Section 2.1, we remind the reader with the general setting of the heptarid,the tiling { , } of the hyperbolic plane. Section 4 gives the rule of the cellular1utomaton, which allows us to prove Theoreme 3. The railway circuit, mentioned in the introduction consists of tracks, crossingsand switches, and a single locomotive runs over the circuit. The tracks arepieces of straight line or arcs of a circle. In the hyperbolic context, we shallreplace these features by assuming that the tracks travel either on verticals or horizontals and we shall make it clear a bit later what we call by these words.The crossing is an intersection of two tracks, and the locomotive which arrivesat an intersection by following a track goes on by the track which naturallycontinues the track through which it arrived. Again, later we shall make it clearwhat this natural continuation is. Below, Figure 1 illustrates the switches andFigure 2 illustrates the use of the switches in order to implement a memoryelement which exactly contains one bit of information.The three kinds of switches are the fixed switch , the flip-flop and the memory switch . In order to understand how the switches work, notice thatin all cases, three tracks abut the same point, the centre of the switch. Onone side switch, there is one track, say a , and on the other side, there are twotracks, call them b and c . When the locomotive arrive through a , we say thatit is an active crossing of the switch. When it arrives either through b or c , wesay that it is a passive crossing. (cid:0)(cid:0)(cid:1)(cid:1) (cid:0)(cid:0)(cid:0)(cid:1)(cid:1)(cid:1) Figure The switches of the railway circuit. From left to right: the fixed switch, theflip-flop and the memory switch.
In the fixed switch, in an active passage, the locomotive is sent either alwaysto b or always to c , we say that the selected track is always b or it is always c .In the passive crossing, the switch does nothing, the locomotive leaves the switchthrough a . In the flip-flop, passive crossings are prohibited: the circuit mustbe managed in such a way that a passive crossing never occurs at any flip-flop.During an active passage, the selected track is changed just after the passageof the locomotive: if it was b , c before the crossing, it becomes c , b respectivelyafter it. In the memory switch, both active and passive crossings are allowed.The selected tracks also may change and the change is dictated by the followingrule: after the first crossing, only in case it is active, the selected track is alwaysdefined as the track taken by the locomotive during its last passive crossing ofthe switch. The selected track at a given switch defines its position .The current configuration of the circuit is the position of all the switches ofthe circuit. Note that it may be coded in a finite word, even if the circuit isinfinite, as at each time, only finitely many switches have been visited by thelocomotive. 2igure 2 illustrates how a flip-flop and a memory switch can be coupled inorder to make a one bit memory element. SS L E SS L E SS L E SS L E SS L E SS L E SS L E
Figure The basic element of the circuit.Second row: reading the element, , then . Third row: first two elements: writing ; lasttwo elements: writing . As mentioned in the introduction, the first weakly universal cellular automatonon the heptagrid was done by the author and a co-author, see [9]. The paperimplements the solution sketchily mentioned in Subsection 2 with 6 states. Inthe next paper about a weakly universal cellular automaton on the heptagrid,see [5], the same model is implemented with 4 states. In [9] the cells of thetracks where the locomotive runs have a specific colour and the locomotive isimplemented with two cells, the front and the rear. The front is green and therear is red while the tracks are blue. Later, in [5], the tacks are changed: the cellswhere the locomotive runs are also in the quiescent state when the locomotiveis far away. The tracks are delimited by milestones which are regularly putalong the track. The milestones are most often blue. The locomotive is stillimplemented with two cells, the front being blue, as the milestones, and therear being red. As in many of the indicated papers, the centre of the switch issignalized by the neighbouring of the centre.
Figure 4 illustrates the implementation of the crossing and of the switches per-formed in [9], showing in particular, the feature at which we just pointed. Fig-3re 5 shows a global view of how the tree structure of the tiling can be used toimplement a basic element in the heptagrid. We have the following results.
Theorem (Margenstern, Song), cf. [9] − There is a planar cellular automatonon the heptagrid with -states which is weakly universal and rotation invariant. Theorem (Margenstern) cf. [5] − There is a planar cellular automaton onthe heptagrid with -states which is weakly universal and rotation invariant. Figure Global look of the implementation of a toy example in the heptagrid. Note theimplementation of the two registers: each one along a branch in a sector of the heptagrid.
Figure 3 illustrates the configuration of the railway circuit implementing atoy program of a register machine. All the constructions performed in previouspapers and in this one too produce a configuration whose guidelines obey thoseillustrated by Figure 3.Now, figures 2 and 5 show that the implementation of the basic elementinvolves two cycles. As a register consists of infinitely many copies of a unit,again look at Figure 3, and as a unit contains two basic elements, we can seethat a non halting computation entails that the locomotive runs over infinitelymany cycles, so that the computation is planar.Figure 4 illustrates the idle configuration of the crossing and the switches ofthe circuit for the cellular automaton constructed in the proof of Theorem 1. Byidle configuration, we mean a configuration where the locomotive is not present.4 igure Implementation of the crossing and of the switches in the heptagrid for theweakly universal cellular automaton with states.From left to right: the crossing, the fixed switch, the flip-flop and the memory switch. Most of the cellular automata in hyperbolic spaces I constructed, myself or witha co-author, apply the same model of computation. This general scenario isdescribed in detail in [4, 7]. Here, we simply give the guidelines in order tointroduce the changes which are specific to this implementation.
In this paper, we take benefit of various improvements which I brought in theconstruction of weakly universal cellular automaton constructed in other con-texts: in the hyperbolic 3 D -space and in the tiling { , } of the hyperbolicplane, that latter automaton having two states only, see [7] for details. But herewe need something more, as soon explained.Our implementation follows the same general simulation as the one describedin Subsection 2. In particular, Figure 5 is still meaningful in this new setting.5 igure Implementation of the basic element in the heptagrid.The discs in the bottom line represent, from left to right: the crossing, the fixed switch, thememory switch and the flip-flop.
However, here, new features are introduced.The first change is that the tracks are one-way. In some sense this is closerto what we can see for railways in real life, in particular for high-speed ones.This change entails a big change in the switches and in the crossings. There isno change for the flip-flop which was already a one-way structure from the verybeginning as passive crossings are ruled out for this kind of switches. For fixedswitches it introduces a very small change: for a passive crossing, we keep thestructure and for the active one, as the selected track is the same, it is enoughto continue the active way without branching at the centre of the switch, seeFigure 6. In the same picture, we can see that the situation is different for thememory switch. This time, as there are two possible crossings of the switch andas the selected track may change, we have two one-way switches: an active oneand a passive one. At first glance, the active switch looks like a flip-flop andthe passive switch looks like a one-way fixed one. However, due to the workingof the memory switch, we could say that the active memory switch is passivewhile the passive memory switch is active. Indeed, during an active crossing,the selected track is not changed contrary to what happens in the case of theflip-flop. Now, during a passive crossing, the switch looks at which track iscrossed: the selected or the non-selected one. If it is the non-selected one, thenthe selection is changed and this change is also transferred to the active switch.Accordingly, there is a connection between the active and the passive one-waymemory switches. 6 ixed switch memory switch
Figure The new switches for a one-way structured circuit: the fixed and the memoryones. Note that the flip-flop remains the same as in Figure . Now, if we wish to significantly reduce the number of states, we also haveto change the locomotive: it is now reduced to a single cell which, in principleis made possible by the fact that the tracks are one-way. This is a change withrespect to the wealky universal cellular automaton with 4 states, see [5]. But thisis not enough: we also have to change the crossings. Contrary to what happensin the 3 D -space where crossings can be replaced by bridges, which makes thesituation significantly easier, crossings cannot be avoided in the plane.In [7] we indicate a solution which allowed me to build a weakly universalcellular automaton in the hyperbolic plane with 2 states only. However, this wasnot performed in the pentagrid nor in the heptagrid, but in the tiling { , } .This solution was already implemented in the pentagrid, which allowed me toreduce the number of states from 9 down to 5. Here, we improve the result forfour states downto 3 states. However, the implementation of the new crossingis somehow tuned from what is done in [7] and in [8]: The pattern at thebranching of [7, 8] is changed: a doubling structure is put on the track arrivingto the crossing.First, we look at a crossing of two one-way tracks. The main idea is that weorganize the crossing in view of a round-about : an interference of road trafic inour railway circuit. Figure 7 illustrates this structure which we call the simpleround-about . We may notice that the locomotive arriving either from A or B in Figure 7 has to turn right at the second pattern it meets on its way. Note thatthe locomotive arrives at a simple round-about after crossing a rhomb patternwhere the locomotive is doubled: at this point a second locomotive is appendedto the arriving one. At the first branching it meets, one locomotive is deleted.At the second one, the single locomotive is sent on the right track.7 B f Figure The new crossing: the one-way tracks from A and B intersect. We have a three-quarters round-about. The small disc at f represents a fixed switch. Discs , and representthe pattern which dispatches the motion of the locomotive on the appropriate way. Patterns and are needed as explained in the description of the scenario. BA f A B f B A f A B
12 3 f Figure The new crossing: four possible one-way track. Assembling them allows toperform a two-way crossing. The notations are those of Figure . A , B go opposite to A , B , respectively. Figure 8 shows us how to assemble four one-way simple round-abouts in orderto perform a true crossing for two intersection two-ways tracks. The sturctureof Figure 8 is called a full round-about .But this change is not enough. We have to device a new implementation forboth the flip-flop and the memory switch to which we now turn.This new scenario for the implementation of these switches is a consequenceof the reduction of the number of states to 3 ones. The idea is to put in acommon structure the different working of the active part of the memory switch8nd the flip-flop. In fact, we have to dissociate the dispatching of the locomotivefrom the control of the selected track.For this purpose, we introduce two new structures: the fork and the killer .The fork looks like a switch to which the locomotive arrives from the track a .But, after crossing the central cell, two locomotives leave the fork: one throughthe tack b , the other through the track c . Now, the role of the killer is to killone of these locomotives as a single locomotive leaves a switch. We simply takeadvantage that the selection may happen a bit further from the switch: thisallows us to relax the crossing of the fork leaving two locomotives. Now, thekiller has two positions: an active one and a passive one. When the killer isactive, if a locomotive arrives at the killer, it is destroyed while it crosses itsstructure. When the killer is passive, it let the locomotive leave its structure.We can see that it is enough to construct the killer in such a way that a signalarriving to it changes its status from active to passive and from passive to active. L RC A S
Figure The flip-flop. Note the forks C , A and S and the killers L and R . Note theintersection close to R which need a simple round about only. Figure 9 shows us how we can assemble three forks and two killers in orderto get a flip-flop. Indeed, the locomotive arrives at C as indicated by thearrow below the fork. Then, two locomotive leave the fork. The left-hand sidelocomotive ℓ arrives to the killer L which, in the figure, is assumed to be passive.Accordingly, ℓ goes on its way on the circuit. The right-hand side locomotive r arrives to a new fork, A . Then, two locomotives leave A . Call r the one whichgoes to the left and s the one which goes to the right. We can see that r arrivesto the killer R which is in the other configuration than the killer L . Accordingly, R is active and it kills the locomotive r . This means that the locomotive is now ℓ .Let us look at what happens with s . This locomotive is sent to a new fork S .From there, two locomotives leave the fork, s ℓ to the left, s r to the right. Wecan see that s ℓ , s r arrives to L , R respectively. Accordingly, both killers changetheir configuration : L becomes active and R becomes passive. This is exactlywhat a flip-flop has to do.Figure 10 represents the assembling of forks and killers in order to get an9ctive memory switch. Here, we can see that the locomotive arriving to C triggers the sending of two locomotives ℓ and r , to left and to right respectively.We can see that ℓ crosses a passive killer so that it goes on its way and willbecome the continuation of the locomotive which arrived to C . On the otherhand, r arrives to R which is active, so that r is cancelled at this moment. Now,the killers do not change their configuration. The configuration is changed onlywhen a locomotive arrives to S , sent from the passive memory switch, in orderto change the selection of the switch. L RC S
Figure The active memory switch. Note the forks C and S and the killers L and R . Table Scheme of execution of the flip-flop and the active memory switch.
C A S L R C S L R − − − b r − − b r • − − b r • − b r − − − b r − − b r − • − • b r − • • b • r − − − • b r − − • b − r − − • b • r − − b r − − − b − r − − b r − − − ∇ b ∇ r n − • b r − − − r b − − b rn +1 − − ∇ b ∇ r − − r b Table 1 summarizes the working we above indicated. Note that in each sub-table, the leftmost column indicates a time. It should be stressed that betweentwo such times, the number of steps of the cellular automaton may be verydifferent. The only requirement is that before the visit of the next site by thelocomotive, switch or crossing, all changes involved by the current site have beencompleted. In particular, when S triggers two locomotive in order to change10he status of both L and R , there is no need that the change happens at thesame step of the cellular automaton. It is enough that when the locomotivearrives to the next site, the change has been performed. Note that we also canconsider that the changes at a site are completed when there is again exactly onelocomotive on the circuit. While performing the crossing of a flip-flop, there canbe up to three locomotives running on the circuit at the same instant. Whenthe flip-flop has changed the selection of the tracks, there remains exactly onelocomotive.Now that we have seen the scenario to implement the circuit, we have toprecisely look at how to implement it with three states only. We turn now tothis question. As already announced, we need to use three states only. The first state is thequiescent state which we denote by W . Remember it is defined by the followingrule: if a cell c and all its neighbours are in the state W , then at the next top ofthe clock, the cell c remains in the state W . We shall also call W the blank and wealso shall say that a cell in W is white. The other states are B and R . The cellsin these states are said to be blue and red, respectively. The state B is mainlyused for the milestones which delimit the tracks. The state R is the basic stateof the locomotive, remember that now it only consists of one cell. In severalimplementations, the marking of the structure also makes use of the state R .Checking the new scenario requires to first study the implementation of thetracks. We have to define verticals and horizontals.Vertical and horizontal tracksThe motion is basically constructed by motions around a cell, the pivot ,with two kinds of links from one pivot to another in a way which is slightlydifferent from what we did in the grid { , } . Figure 11 shows the elements ofthe track and, for each of them, how it is crossed by the locomotive.To better understand the figure, number the sides of the central cell asfollows. Number the sides increasingly while counter-clockwise turning aroundthe cell. The milestones occur on the sides 1, 3 and 6 in the first row, 1 beingthe side shared by the leftmost milestone.The first element is the standard one, on the first row of the figure. Thesecond element is the turn , on the second row of the figure. There the locomo-tive goes from side 7 to side 2, exactly the reverse motion of the previous oneand the milestones are on sides 1, 3, 4 and 6. The last element is the junction ,on the third row of Figure 11, There, the locomotive goes from side 5 to side 2,with milestones on sides 1, 3, 4, 6 and 7. In the first row of Figure 11, we cansay that the pivot is the blue cell sharing side 1. As will be seen in Section 4, wecan append rules so that the same motion is possible for each of these elementswith two contiguous red cells instead of a single one.In Figure 12 we make use of the standard element and of the turn in order toperform tracks travelling along a branch of a Fibonacci tree: we call this track11 vertical . As can be seen on the figure, the standard elements are turningaround a pivot, running along a half of its sides and passing from one pivot tothe other thanks to the turn. The turn is absolutely needed in order to obtaintracks which can go from any tile to any other one. Figure The elements of the track. For each of them, the figures show how it is crossedby the locomotive. From top to bottom: the standard element, the turn and the junction.
Figure A vertical motion for the locomotive. First two rows: a single locomotive; lasttwo rows: two contiguous locomotives travelling together.
In Figure 13 we can see the implementation of what we call a horizontal :it is a track running along a level of a Fibonacci tree. The pivots are on sucha level and the track itself, where the locomotive runs, consists of the sons ofthe nodes which are on the level of the pivots. To go from the sons of a nodeto the sons of the next node, we precisely need the junction. As can be seen onthe figure, the same motion can be managed with two contiguous locomotives12ravelling on the same path.As seven Fibonacci trees whose root are displayed around a fixed tile consti-tute a circular path of any radius, combining this with verticals as also show inFigure 13, we can see that we indeed can construct a path from a tile to another:we construct a shortest path whose tiles play the role of pivots and we go fromone pivot to the next one through a turn or through a junction, depending onthe configuration.
Figure A horizontal with a locomotive, first four rows and then, two contiguous loco-motives.
Remark that as horizontal tracks run on three consecutive levels, a two-wayportion of the tracks require at least seven consecutive levels as we need at leastone level to separate the tracks run on each direction. Similarly, a two-waysection of vertical lines must be separated by several nodes on the same levelat the level where the distance between the supporting line is minimal: thisguarantees that the lines are not secant. These constraints require much spacefor the implementation, but in the hyperbolic plane, we are never short of space.Implementing the crossingsAs indicated in Subsubsection 3.0.3, the tracks are organized according towhat is depicted in Figures 7 and 8. From the latter figure, it is enough to13ocus on the implementation of Figure 7. From the implementation of thetracks, we only have to look at the implementatation of the patterns symbolicallydenoted as , , , f and by a rhomb in the figure. As f is a fixed switch whoseimplementation is indicated a bit further, we simply implement and the rhombas and are strict copies of . Figure 15 illustrates this implementation andthe behaviour of the locomotive when it crosses pattern . We can see thatthe difference strongly depends on whether a single locomotive or two of themarrive to the pattern.From Figure 7, the locomotive always arrives to the pattern from the samecell, namely 9(5). Then the locomotive goes to the cell 1(6) if it is alone. If twocontiguous locomotives arrive, then a single one arrives to the cell 0 and thengoes on its way on the round-about. First, Figure 14 illustrates the working ofthe rhombic pattern which duplicates a locomotive arriving to the pattern. Figure The rhombic pattern of the crossings. A single locomotive arrives at the pat-tern, two contiguous ones leave the pattern. igure The pattern of the crossings. Notice the difference of behaviour dependingon the number of locomotives. When a single locomotive is detected, the locomotives goes tothe track. When two contiguous locomotives are detected, one of them is cancelled and theother goes on its way on the round-about. Next, Figure 15 illustrates the pattern which is common to , and inFigure 7. We can see the difference of behaviour depending on the numberof contiguous locomotives which arrive at the pattern. If a single locomotivearrives at the pattern, then the locomotive is sent to the track which leaves theround-about at this branching point. This is what is illustrated by the frist tworows of Figure 15. If two contiguous locomotives arrive at the patter, then onelocomotive is destroyed before it is seen by the first cell of the track which leavesthe round-about in the pattern. Then, the second locmotive is sent to the waywhich continues the round-about. This is illustrated by the last two rows ofFigure 15.Implementation of a fixed switchFigure 16 illustrates the working of the passive crossing of a fixed switch.The upper half of Figure 16 illustrates the case of a single locomotive. Inthe first two rows of the figure, the locomotives arrives to the switch from theleft. In the last two rows, it arrives from the right.Now, the lower half of Figure 16 illustrates the case of two contiguous lo-comotives. Again, the first two rows of the figure illustrate the case when thelocomotives arrive to the switch from the left. The last two rows illustrate thecase when these locomotives arrive to the right.With one-way tracks, we need a single kind of passive fixed switch. Indeed,there is no need of an active fixed switch, as the locomotive never goes in thenon-selected direction. The active switch is reduced to the track which goes in15he selected direction, as illustrated by Figure 6.We remain with the more complicated switches: the flip-flop and the memoryswitch. Remember from Sub-section 3.0.2 that we split the memory switch intotwo sub-switches, the active memory switch and the passive one, due to theintroduction of one way tracks for the locomotive. In the same sub-section, wehave seen that the flip-flop and the active memory switch can be implementedby using the same structures, the fork and the killer: we only have to dispatchthem in different way in order to implement the two kinds of switches. Now,we could probably use the fork to implement the passive memory switch, but itwould require another structure, let us call it the sensor . As we succeeded toimplement a sensor with what is indeed another fork in a single structure, Westart with the passive memory switch.16 igure The fixed switch: passive crossing by the green locomotive and then the redone.
Implementation of a passive memory switchBoth idle configurations are illustrated by Figure 17: the left- and the right-hand side switch.
Figure The stable configurations of the passive memory switch: the side of the selectedtrack is that of the picture.
Figure The passive memory switch. The two versions of the switch and the two pos-sible crossings: above, first two rows, left-hand side switch; below, last two rows, right-handside one.
In the lower half, the figure illustrates the working of the right-hand sideswitch. In the first two lines, the locomotive arrives from the right so thatnothing is changed. In the last two lines it arrives from the left: accordingly,the selection is changed to the left-hand side one.18mplementation of the flip-flop and of the active memory switchAccording to Figures 10 and 9 what we have to implement is the fork andthe killer.First, let us have a look at Figure 19. It illustrates the working of the killer.In the upper half, we have the situtation of a locomotive arriving to the killer.We say that the killer is blue, red depending on whether its central cell inFigure 19 is blue or red.
Figure The control, structure used both by the flip-flop and by the active memoryswitch. When killer is blue, the locomotive crosses the killer and goes on its way on the track.When the killer is red, the locomotive is destroyed. The lower half of the figure: when thesignal arrives at the killer, it changes its colour.
On the upper half of the figure, we can see that if the killer is red, a locomo-19ive arriving there cannot pass the killer. But when it is blue, the locomotivecan pass the killer and so it goes on its way on the track. The lower part of thefigure shows us how a signal arriving to the killer changes its colour. We cansee that the change from red to blue takes 5 steps while the change from blueto red takes 3 steps only. As will be seen in Section 4, in the change from redto blue, we have to take into accounts rules for other motions which apply alsoin this case.Figure 20 illustrates the fork. We can see that a locomotive arriving at thefork is duplicated and each new locomotive goes on a different track.
Figure The fork, the other structure used both by the flip-flop and by the active mem-ory switch.
In Sub-section 3.0.2, we have seen how the killer and the fork are combinedin order to obtain the working of a flip-flop or that of an active memory switch.It remains to remark that the signal wich arrives to both killers come fromthe switch itself in the case of the flip-flop and that it comes from another switchin the case of the active memory switch. In that latter case, the signal comesfrom the passive memory switch: when the locomotive arrives from the non-selected track, Figure 18 shows that a signal is emitted from the switch: see thelines 3 and 7 of the figure. The track which arrives to S in Figure 10 comesfrom a passive memory switch.Figure 21 illustrates the connection between the passive memory switch, theblue disk with a purple circle on the right-hand side of the figure, and the activememory switch, the orange square, with a black border, on the left-hand side ofthe picture. We may imagine that inside the orange square we have a copy ofFigure 10, considering that the orange arrow which arrives to the square fromabove arrives to the fork S inside the square. Also, the tracks which leave thekillers in the copy of Figure 10 are the tracks which leave the upper corners ofthe orange square in Figure 21. With this figure, Figures 10 and 19, we cancheck that the working of the active memory switch is conformal to what wehave described in Sub-section 3.0.2.Here, we may again note that up to three locomotives may occur at thesame time on the circuit. Say that the time of execution of an elementaryaction in our circuit coincide with the arrival of the locomotive at the centralcell of either a rhombic pattern, a passive memory switch, or a fork C . Then,20s already mentioned, we may construct the circuit in such a way that whenthe locomotive starts an elementary action, it is the single locomotive of thecircuit. With this condition, it is clear that the just considered implementationis correct with respect to the scenario described in Sub-section 3.0.2. Figure The connection from the passive memory switch to the active one. The activeswitch is represented by the big orange square.
In order to prove the existence of the cellular automaton whose working wasdescrived in the previous sections, we have to implement its rules. Here, wedisplay all of them, but we list them in several groups according to the presen-tation of the previous implementation. We present the rules according to thesame order as we presented the implementation in Subsection 3.0.3The rules are rotation invariant . This means that if we perform a circularpermutation on the neighbours of a cell, this does not change the new state.Accordingly, in the tables we give, the rules are rotationally invariant: a givenrule ρ has four over rules with the same current state and the same new state,the states of the neighbours being a circular permutation of those indicatedby ρ . The rules have been checked by a computer program written by theauthor. The program insures that the rules are rotation invariant and thatthere is not conflict between them. Also, the program construced the figuresused in Section 3, so that it allowed me to check that the rules make the cellularautomaton to perform what it is expected to do.21 .0.4 Rules for the tracks First, we have the rules for the motion of the locomotive on the tracks which aredisplayed in Table 2. The rules are presented in the same order as establishedwhile checking them during the construction by a computer program.As indicated in the caption of the table, the first two columns of rules areused for the vertical tracks and the last two columns contain additional rulesneeded by the horizontal tracks. Of course, as the standard element is presentin both kinds of tracks, several rules used for the vertical tracks are also usedfor the horizontal ones. Some rules are conservative : they do not change thestate of the cell. In particular, these rules apply to those of the milestones whichremain unchanged while the locomotive passes close to them. However, someof them may change their state for one or two steps of the computation. Thenwe apply the other rules which are not conservative. Many rules are motion rules: either they apply to the locomotive itself or two both of them when twoof them are contiguous. We also consider as motion rules, rules which changethe state of a milestone in order to contribute to the motion. This is the case,in particular, for the rules which apply to those signals which may change,according to the kind of switch to which they are associated. Note that in manycases a motion rule is not conservative, but in a few cases, a motion rule is alsoconservative: in particular, when the locmotive leaves a cell c , the rules whichapply to c just after the locomotive left it is conservative.As an example of illustration of motion rules, consider rules 7 up to 11.Rules 7, 8, 9 and 11 givern the motion of a single locomotive as it can easily bechecked on figure 11. Rule 10 is an additional rule needed by the motion of twocontiguous locomotives moving together. Table The rules for the tracks. The first two columns are rules for the vertical tracks.The last twocolumns are additonal rules required by the horizontal ones.
And so, we can see that the motion on the tracks requires 62 rules.22 .0.5 Rules for the crossing
Table 3 provides additional rules for the crossing. It can be noticed in Figures 14and 15 that the central cell of the rhombic pattern and pattern have differentneighbourhoods. For the rhombic pattern it is BBWRRRW and for pattern it is BBBWRRW . The W -neighbours of the B -part of the ring around the central cell is thesame in both patterns, but they are placed in opposite places which explainsthe difference of working of the patterns and also the fact that they share manyrules so that it is not easy to clearly identify which rules are used in one of thesepatterns and not in the other. Table The rules for the crossings.
63 WBBBWRRWW64 WBBBWRRRW65 WBBBWRWWR66 RBBBWRRWW67 WBBBRRRWW68 WWRWBWBWW69 WWRWBRBWR70 RWRWBWBWW71 WWRRBWBWW72 WWBWRWBWW73 WWBWRRBWR74 RWBWRWBWW75 RWBWRRBWR76 RWBRRWBWR77 WWBRRWBWW78 RBRWWWWWR79 RBWWWWWWR80 RBRRWWWWR 81 RBRWRWWWR82 RBRWWRWWR83 RRBWWWWWR84 WBBWRWBWW85 WBBWRRBWR86 RBBWRWBWW87 WBBWRWBRW88 RBBWRRBWR89 RBBWRWBRW90 WRWBWWWWW91 WRRBWWWWW92 WRBWBWBWW93 WRBWBRBWR94 RRBWBWBWW95 WRBWBWBRW96 RRBWBRBWR97 RRBWBWBRW98 WRWWWWWWW 99 RRBRWWWWR100 RRBWRWWWR101 RRBWWRWWR102 RRBWWWRWR103 RRBWWWWRR104 RRBRRWWWW105 WRBWRRWWR106 BRRRWWWWB107 WWBWBWBRW108 RWWBWWBRW109 WWWRBWBBW110 WRRWBWBBW111 RWWRBWWBW112 BBWWBWWWB113 BBWRBWWWB114 BBRWBWWWB115 WRRRWBBWW116 WRRRRBBWR 117 RRRRWBBWR118 RRBRWBBRW119 WRRRWBBRW120 RRBBWWWWR121 WBWBBWWWW122 WBRBBWWWW123 RRRWWWBBR124 RWBRWRBWR125 RWBRRRBWB126 BWBRRRBWR
We can see from Tables 2 and 3 that the crossings require 64 additionalrules, not taking into account the many rules from Table 2 it uses too.
These rules are displayed by Table 4.
Table The rules for the fixed switch.
127 WWBWBBBWW128 WRBWBBBWR129 RWBWBBBWW130 WWBRBBBWW131 WWWBBWBBW132 WWWBBRBBR133 RWWBBWBBW134 BWBWWBRWB135 BWBWWBWRB136 BWBWWBRRB137 BRBWWBWRB138 BRBWWBWWB139 WWBBWBBRW140 WRBBWBBRW141 WRBBWBBWW –
142 WWBWBBBRR143 RRBBWBBWW144 BRBWWWBRBdeuxlocomotives145 RRBWBBBWR146 RWBRBBBWW147 RWWBBRBBR148 RRWBBWBBW--149 RWBWBBBRR
23s mentioned in the table, the switch may be crossed either by a singlelocomotive or by two locmotives always running contiguously.
Table 5 gives the rules for the passive memory switch. It concerns both versionsof the switch: one when the left-hand side track is selected, the other whenthe right-hand side track is selected. The cells which signalize the selected andthe non-selected tracks are the cells sharing side 2 and side 7 of the central cellwhich is a blue milestone, see Figure 18. In the first two rows of the figure, thered signal is in the cell sharing side 7.
Table The rules for the passive memory switch. gauche, venuede droite150 BWBBWWBRB151 BWBBWRBRR152 RWBBWWBRB153 BRRBWWBBB154 BWRBWWBBB155 WBRBRWRBW156 WRRBRWRBR157 RBBBRWRRW158 WBBBRWRRW159 WBBBRRRRW160 BWRRWWWRB161 BRBRWWWRB162 BWBRWWWRB163 BWRBWWWRB164 RWBWWWWRR165 RWBWWWRWR166 WWRWBRWRW167 WRRWBRWRR 168 RWRWBRWRW169 WWRRBRWRW170 WRWWWWWRW171 WWRWWBWBW172 WRRWWBWBR173 RWRWWBWBW174 BWRWWWWRB175 BBWRBBBBB176 BRWRBBBBR177 RBRRBBBBR178 RBWRBBBBR179 RBWWWWWBR180 WRWRWWWWW181 WRRRWWWWW182 WRBWBBRWW183 WRWRBBWBW184 BBWWRWBRB185 BBWRWWBRB 186 BBRWWWBRB187 WBRWWWWBW188 RBBBBRBWR189 RRBBBRBWB190 BBBBBRBRB191 BBBBBRBWB192 RRBWWWWBR193 RBBWWWWBRdroite, venuede gauche194 RWRBWWBBB195 BRBBWWBRB196 WRBBRWRRR197 RBRBRWRBW198 WBRBRRRBW199 RWRWBRWBW200 BRRRWWWRB201 BBRRBBBBB202 RBRWWWWBR 203 RBWRWWWBR204 RRWRBBBBB205 BRBBBRBWR206 RBBBBRBRR207 BBRBWWWRBgauche, venuede gauche208 BWBBRWBRBdroite, venuede droite209 BWRBWRBBB
We note that when the locomotive, always a single one, crosses the switchthrough the non-selected track, the central cell turns from blue to red for just onetime. This is performed by rule 150 when the locomotive comes from the right-hand side and rule 195 when it comes from the left-hand side. The shutdownof this signal is performed by rules 152 and 195 repsectively. We have thenrules which perform the exchange between red and blue in both neighbours ofthe central cell sharing side 2 and side 7: rules 189 and 205 for the cell sharingside 7, rules 176 and 204 for the cell sharing side 1. At the same time, the cellsharing side 1 turns from white to red for just this time: this triggers a newlocomotive which is sent to the active switch. The rule initiating the locomotiveis rule 156, and rule 157 turns back the cell to white, contributing to the motionof the new locomotive. 24 able Execution trace of the crossing of the passive memory switch by the locomotivethrough the non-selected track. The neighbours are identified by the side shared with thecentral cell.
Here, the rules will be divided into two tables: Table 7 and Table 8 for the killerand for the fork respectively.As explained in Section 3, the killer is a controlling structure. In Figure 19,the central cell is a milestone which is a signal for the locomotive. Note thata single locomotive arrives to the killer. If the signal is blue, the locomotivegoes on its way and leaves the structure. If the signal is red, the locomotive isdestroyed by the structure. For instance, rules 217 and 218 which apply to thecentral cell witness that the locomotive passes its way when the signal is blue.Rules 219, 220 and 221 apply when the signal is red and we can see on rules 219and 221 that the locomotive disappears: rule 219 is applied just after rule 221was applied. The ’killing’ rule is rule 168, a rule already used by the passivememory switch.
Table The rules for the killer .
210 WBRWRWBWW211 WBWBWWWRW212 WBRWRRBWR213 RBRWRWBWW214 WBRWRWBRW215 RWWWWBWRR216 WRRWBWBRW--217 BRWWRBBBB218 BRWRWBBBB219 RRWWWBBBR220 RRWWRBBBR221 RRWRWBBBR 222 BRWWWBRRR223 RRWWWBRRB224 RBBRWWBWR225 RBBRWWBRR226 RRBRWWBWR227 RBRRWWBWR228 WBRBBWBRR229 WBRBBRBWW230 WRRBBWBWW231 WRRBBWBRW232 BBRWWWRBB233 BRWWWWRBB234 BRRWWWRBB235 BBBRRWRBR236 BRBRRWWBB237 RBBRRWWRB238 WBRWWWBWW239 WBRWWWBRW 240 WRRWWWBWW241 BBBWWRRRB242 BRBWWRRRB243 BBBRWRRRR244 BRBRWRRRW245 RBRWWRRRB246 WRRWBWBWW247 WBRBWWWRW248 WRWBWWWRW--249 RRRRWWBWR250 BRBRRWRBR251 WRBRRWWRR252 RRBRRWWRB253 RRWWWRRRR254 RRRWWRRRB255 WWRWWWBWW256 WWWBWWWRW
We remain to look at the change of colour in the signal. Rules 236 and 243applying to the neighbours sharing side 6 and 7 of the central cell respectivelydetect the locmotive coming from a fork: either from that of the passive memoryswitch or from that of the flip-flop. Rules 222 and 223 change the colour of thesignal: from blue to red and from red to blue respectively. As mentioned in theimplementation, the change to blue when the signal is red takes two more step25hat the opposite change.We arrive to the rules for the fork. Rule 267 allows the locmotive to arriveat the central cell of the fork which is also the central cell in the pictures ofFigure 20. Again, rule 167 of the passive memory switch and rule 85 from thecrossing allow the creation of a locomotive both of the neighbours sharing sides 1and 7 respectively. Next, rules 277 and 281 of Table 8 allow the new locomotivesto leave the cells where they were created. Later, specific motion rules allowthe locomotives ot leave the fork : rule 279, rule 21 attract the locomotive to aneighbour of its previous place and rules 283 and rule 22 allow it to leave thatsecond place.
Table The rules for the fork.
257 WWRWRRRWW258 WWWBRWRRW259 WWRWRBWRW260 RRWWWWWWR261 WWRBWBWRW262 RWWWBWWRR263 WRWBRBWBR264 RWRWWWWRR--265 WWRBWBRRR266 RRWBWBWBW--267 WWRRRRRWR268 RWRBWBWRW269 RWRWBWWRR270 RWRWRRRWW271 RRWRWWBWR 272 WRRBWBWRW273 RRWWBWWRR274 RRRWWWWRR275 RRRWWWBWR276 WRRWRRRRW277 RWRBRWRRW278 BRRBWWWRB279 WRRWRBWRR280 RRRWWWWWR281 RWRBWBBRW282 WWWBRRRRW283 RWRWRBWRW284 WWRBRBBWW285 WWRWRBRRW286 RRWWRWWWR287 BWRWWWRWB
With these rules and with this study illustrated bu the figures, we completedthe proof of the following result:
Theorem There is a rotation invariant cellular automaton on the heptagridwith states which is planar and weakly universal. References [1] F. Herrmann, M. Margenstern, A universal cellular automaton in the hy-perbolic plane,
Theoretical Computer Science , , (2003), 327-364.[2] Cellular Automata and Combinatoric Tilings in Hyperbolic Spaces, a survey, Lecture Notes in Computer Sciences , Editors: Crisitan Calude, Michael J.Dinneen, V. Vajnovszki, , (2003), 48-72, doi: 10.1007/3-540-45066-1 4 .[3] M. Margenstern,
Cellular Automata in Hyperbolic Spaces, vol. , Theory ,Collection: Advances in Unconventional Computing and Cellular Automata ,Editor: Andrew Adamatzky, Old City Publishing, Philadelphia, (2007),422p. 264] M. Margenstern,
Cellular Automata in Hyperbolic Spaces, vol. , Implemen-tation and computations , Collection: Advances in Unconventional Comput-ing and Cellular Automata , Editor: Andrew Adamatzky, Old City Publish-ing, Philadelphia, (2008), 360p.[5] M. Margenstern, A universal cellular automaton on the heptagrid of the hy-perbolic plane with four states,
Theoretical Computer Science , , (2011),33-56[6] M. Margenstern, About Strongly Universal Cellular Automata, ElectronicProceedings in Theoretical Computer Science , (17), (2013), 93-125.[7] M. Margenstern, Small Universal Cellular Automata in Hyperbolic Spaces: ACollection of Jewels , Collection:
Emergence, Complexity and Computation ,Editors: Ivan Zelinka, Andrew Adamtzky, Guanrong Chen, Springer Verlag,(2013), 331p., doi: 10.1007/978-3-642-36663-5 .[8] M. Margenstern, A weakly universal cellular automaton in the pentagridwith five states, to be published.[9] M. Margenstern, Y. Song, A universal cellular automaton on the ternaryheptagrid,