A strongly universal cellular automaton on the heptagrid with seven states
aa r X i v : . [ c s . D M ] F e b A strongly universal cellular automaton on theheptagrid with seven states
Maurice
Margenstern
February 9, 2021
Abstract
In this paper, we prove that there is a strongly universal cellular au-tomaton on the heptagrid with seven states which is rotation invariant.This improves a previous paper of the author where the automaton re-quired ten states.
The first paper about a universal cellular automaton in the pentagrid, the tes-sellation { , } of the hyperbolic plane, was [1]. This cellular automaton wasalso rotation invariant, at each step of the computation, the set of non quies-cent states had infinitely many cycles: we shall say that it is a truly planarcellular automaton. But, the neighbourhood was `a la von Neumann and it had22 states. This result was improved by a cellular automaton with 9 states in [9].Recently, I improved this result with 5 states, see [6]. A bit later, I provedthat in the heptagrid, the tessellation { , } of the hyperbolic plane, there is aweakly universal cellular automaton with three states which is rotation invariantand which is truly planar, [7]. Later, I improved the result down to two statesbut the rules are no more rotation invariant. In the present paper, I constructa cellular automation with seven states which is rotation invariant and trulyplanar.In the result of [4], the automaton evolves on a construction which follows aline, constructing it step by step, starting from the finite configuration. On theline, that automaton simulates a Turing machine which, in its turn, simulatesa tag systems known to be universal when the deleting number is at least 2,see [10]. In the present paper we follow a different strategy. We explain it inSection 2. In Section 3 we describe in detail the structures which are involvedin the new construction. In Section 4, we give the rules which were checked bya computer program which also computed many figures of the paper.All these sections constitute the proof of the following result: Theorem 1
There is a strongly universal cellular automaton on the heptagridwhich is rotation invariant, truly planar and which has seven states.
In the papers were I constructed weakly universal cellular automata in thepentagrid and in the heptagrid, I used the model devised by Ian Stewart in [11]to simulate the computation of a register machine. That model makes use of acircuit constituted by switches connected by tracks to simulate the computation.The complexity of the tracks used in those papers made it impossible to startfrom a finite configuration within a small number of states. However, the lineconstructed in [4] made use of a comparatively small number of states, a part ofwhich being also used for the simulation of the particular Turing machine usedin that paper.As we start from a finite configuration, the idea is to implement the datastored in a register as simply as possible. Here, the content of the register whichis supposed to be a natural number, is represented by that number written inunary. If the content at time t is N , it is represented by N cells in an appropriatestate stored along a line of the hyperbolic plane. As seen in Figure 7, such a lineis easily characterised in the heptagrid. For the rest of the computation, oursimulation follows the same lines as in the quoted papers: the instructions ofthe register machine and the access to the registered are managed in the sameway up to the adaption of the tracks we shall soon consider. As already mentioned, the railway model was introduced by Ian Stewart in [11].It was initially devised to simulate a Turing machine, but I used it to simulatea register machine. For technical reasons, that latter model is easier to simulateas it is known that two registers are enough to simulate any Turing machine on { , } , see [10].The model consists of a railway circuit on which a single locomotive is run-ning. The circuit contains crosses and switches and the state of all switches ofthe circuit considered at a given top of the clock constitutes the configurationof the circuit at that time. The circuit consists of tracks which are representedby assembling segments of straight lines, either horizontal or vertical ones andquarters of a circle. That representation lies in the Euclidean plane. In the hy-perbolic one, things are necessarily different. We turn to that point in Section 3.It contains crosses which allows tracks to intersect. It also contain switches inorder to make suitable figures, in particular cycles. There are three kinds ofswitches illustrated by Figure 1. From left to right in the figure, we can seethe fixed switch , the flip-flop and the memory switch . We can see thata switch realizes the intersection of three tracks, we shall denote them by a , b and c . Say that a is the single track which arrives at the switch and that b and c b or through c . The track taken by the locomotive to leave the switch is calledthe selected track . When the locomotive arrives to the track through a andleaves it through the selected track, we say that it is an active crossing. If thelocomotive arrives through b or through c , leaving the switch through a , we saythat it is a passive crossing. In the figure, each kind of switch is representedin two forms. Both of them will be used in our further illustrations. (cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:1)(cid:1)(cid:1)(cid:1)(cid:1)(cid:1) (cid:0)(cid:0)(cid:0)(cid:0)(cid:1)(cid:1)(cid:1)(cid:1) Figure 1
The switches used in the railway circuit of the model.
In the fixed switch, the selected track is determined once and for all. Theswitch can be crossed both actively or passively. The flip-flop may be crossedactively only. When it leaves the switch, the selected track changes: the previousnon-selected track becomes selected and the previously selected becomes non-selected. The memory switch can also be crossed either actively or passively.The selected track is determined by the last passive crossing. These switchesare exactly those defined in [11]. We also take from paper [11] the configurationillustrated by Figure 2 which contains one bit of information.
WRE E E Figure 2
The basic element containing one bit of information.
This configuration, called the basic element , is used as follows. If the lo-comotive arrives through R , it goes either through track 0 or through track 1.If the locomotive goes through the track α with α ∈ { , } , it leaves the config-uration through E α . We say that the locomotive has read α . If the locomotivearrives through W , it goes through track 0 or 1. Now, if it arrives throughthe track α , it passively crosses R through the track β , with β ∈ { , } and α + β = 1. Eventually, the locomotive leaves the element through E . Now, asthe locomotive crossed W , the selected track at W is now β . Consequently, wecan say that the selected tracks at R and W are always the same when the loco-motive is arriving at the configuration and also when it leaves it. Accordingly,the locomotive may read 0 or 1 and also it may rewrite α into β .3 .2 Register machine Many instructions arrive to a register. In [5] for instance, we described twodispatching structures: one of them to gather the instructions to increment thatregister and the other to gather the instructions to decrement that register.The structure has a single output way to the register according or the typeof instructions arriving to it. On the way back, the structure sends out thelocomotive to the corresponding sending instructions. Figure 3 displays bothstructures: on the upper picture, the dispatcher of instructions for incrementingthat register; on the lower picture it performs the same for the instructions whichdecrement the same register. I I I I I I I
01 01 up
01 01 down m u m d D E E RZ f u f d f f f Figure 3
Gathering instructions on their way to a register and dispatching the returnlocomotive to the appropriate way on its way back.
We can see on the figure the role played by the basic unit to register thereturning path by setting both basic units to 1 when the locomotive arrivesfrom an instruction to decrement the register. It is simpler for the instructionswhich increment the register: a memory switch is enough for that purpose. Foran instruction which decrements the register it is less simple as far as two casesmay occur: the case when it was possible to decrement the register and theopposite case when the register was already zero at the arrival of the locomo-tive. It is the reason why to units are used for each arrival from an instructionwhich decrements the register. Both units are marked to 1 when the locomotivearrives from the instruction. One way is used when the registered was actuallydecremented the other way when it could not be. One unit is read by the loco-4otive when it could decrement the register, the other one is read when it couldnot do it. When the unique couple of units set to 1 is detected, the locomotiveresets both units to 0 and it goes to the appropriate destination.However, in the register, when the operation was applied the locomotivegoes back to the instructions through the same way. This is way that way goesthrough a special unit which remembers whether the locomotive coming to theregister has to increment it or to decrement it. The unit is 0 for an instructionwhich increments the register, it was set to 1 in the other case. And so, on theway back, the locomotive knows where it has to go further. Note that the testto zero leads to the gathering units directly.Figure 4 displays the circuit of that selection.
DD I R f m f Figure 4
The unit which remembers whether the instruction was to decrement theregister.
The model of computation described in Sub-section 2.1 is described in [11] asa circuit lying in the Euclidean plane. It cannot been transported into thehyperbolic plane without detailed explanations. There are two steps in thistranslation. First, we need to have a global view of how to implement thecircuitry which will simulate the computation. This is what is discussed in Sub-section 2.4. Once this question is solved, we can look at the details which is thepurpose of Sub-section 2.5.
In order to fix things, we consider the Poincar´e’s disc model as the frame ofour investigation. We take this model for two reasons. The first one is that itpreserves angles, which allow us to see something. The second reason is thatthe model gives us a global view on the hyperbolic plane. However, we must beaware of two big restrictions. The first restriction is that the model imposes adistortion on distances: when we are close to the centre of the disc, the distances5re small and the closer we go to the border, the bigger are the distances. Also,second restriction, there is no similarity in the hyperbolic geometry. There,distances are absolute. This means that if we change our unit to measuredistances by another one, the new distances are not simply multiplied by asimple factor.A good image is the following one. We have to see Poincar´e’s disc as awindow over the hyperbolic plane, as flying over that plane in some spacecraft.Accordingly, the centre of Poincar´e’s disc is not the centre of the hyperbolicplane: that plane has no centre. The centre of the disc is the centre of ourwindow in the spacecraft: it is the point of the plane on which our attention isfocusing. But what is close to the border is not affected by changing the point atwhich we are looking. If we change of unit, this amounts to change our altitudeover the hyperbolic plane in our image. We shall have a larger view close to thecentre but what is close to the border still remains out of our view.Figure 5 shows how to implement a two-registered machine.
Figure 5
A global look at our implementation. For the sake of simplicity, the rep-resented machines has six instructions and two registers. We have to imagine othercircles inside the three circles from which are drawn the arcs representing the instruc-tions going to the registers. Blue arcs represent incrementing instructions, brown onesrepresent those that decrement registers.
In Sub-section 2.5 we explain the particular features of Figure 5. we knowturn to that sub-section.Our implementation is not directly performed in the hyperbolic plane, butin a tiling of this plane, more precisely the heptagrid , the tessellation { , } ofthe hyperbolic plane which is illustrated by the left-hand side part of Figure 6.It is important to know that the tiling can be generated by a tree. Thetree can be seen on each sector of the right-hand side picture of Figure 6 bythe following property. Green and yellow tiles have three sons: blue, green andyellow; while blue tiles have only two sons: blue and green. On the left-handside picture of Figure 6, we can see the lines of the heptagrid : they are thelines which joins mid-points of sides meeting at a vertex. On that figure, we6specially drawn the lines which delimit a sector. Remember that, in Poincar´e’sdisc model, lines are represented by traces in the disc of diameters or circleswhich are orthogonal to the border of the disc. A particular tree plays a keyrole. It generates the tiles which are inscribed in a sector of the hyperbolicplane which is delimited by two lines as previously defined. There are sevensuch sectors around the central tile of Figures 6.
12 3 4 567
Figure 6
To left: the heptagrid; to right: showing the sectors around a central tile.
Presently, we turn to the implementation of the railway circuit in the heptagrid.Picture 7 illustrates the way we implement a register. The leftmost pictureindicates a way which can be used to implement lines with tiles. However, sucha line of tiles in that way requires a two-celled locomotive in order to define thedirection of its motion. A possible solution would be to reinforce the line asindicated on the central picture of the figure. However, we need another wayfor the return of the locomotive to the instructions once it had performed theoperation involved by the just executed instruction. The solution is given bythe rightmost picture. The blue line defines the content of the register. Thetiles below the line, in yellow on the picture, are used for the execution of theinstruction. The tiles above the line, in orange on the picture, are devoted tothe return of the locomotive. 7 igure 7
A line in the heptagrid: possible solution on the rightmost picture.
Our first focus will be the implementation of the tracks. Without tracks,there is no way to convey information between the parts involved in the simula-tion of the register machine. This is why any project for constructing a universalcellular automaton must first solve the question of the circuit implementing thecirculation of information.At this point, we have to remind that we are looking after a cellular automa-ton whose rules are rotation invariant: the new state of a rule is the same if weperform a circular permutation on the states of the neighbours. It appeared,during my search of a solution, that using lines as described by the central pic-ture of Figure 7 a confusion could occur with rules in another situation. Thisis why I had to devise another solution for the tracks which consists in takingarcs of ’circles’.In the tiling, a path between the tiles A and B is a finite sequence { T i } i ∈ [0 ..n ] of tiles such that T = A , T n = B and T i shares a side with T i +1 for all i with0 ≤ i < n . In such a situation, n is called the length of the path. In thetiling, the distance between two tiles A and B is the length of a shortest pathbetween A and B . We call circle in the tiling, a set of tiles whose distance toa fixed tile, called its centre is constant. It will turn out that the rules for themotion of the locomotive along an arc of a circle are rotation invariant, keepingthis property with the rules we shall construct for the other structures.Among the details we have now to look at, the first task in the imple-mentation deals with the tracks. The main reason is that without tracks, ourlocomotive can go nowhere, so that there cannot be any simulation. The secondreason is that it may happen that we can construct the switches of the circuitwith say k states but that we need a k +1 th one to build the tracks. Subsec-tion 2.6 is devoted to that problem. Once this problem is temporarily solved,we shall see the main features of the crossings and of each kind of switches inSub-sections 3.1, 3.1.1, 4.3 and 3.2. As already mentioned, the tracks are implemented by following arcs of circles.Such tracks are illustrated by Figure 8. As can be seen on the figure, we definea track by a first arc at distance k from a tile which plays the role of the centreof the circle supporting the arc and there is a second arc at distance k +1. As8hown also by the figure, on the left-hand side picture there are blue tiles andmauve ones. On the right-hand side picture, the mauve tiles are in contact withorange ones. Those two colours indicate the direction of the motion performedby the locomotive. The locomotive is a single-tiled element. The blue tilessupport a track on which the motion is counter-clockwise while the motion isclockwise on a track supported by orange tiles. Figure 8
Implementation of tracks in the heptagrid. On the left-hand side, for acounter-clockwise motion along the arc. On the right-hand side, for a clockwise motion.The yellow tile is the centre of the circles supporting the arcs. The blue and orangetiles are at distance from the centre. The mauve tiles are at distance . Figure 9
To left: the notion of a zig-zag line in green following a straight line, inpurple. To right: its implementation in the heptagrid.
On the further figures of this section, we shall represent tracks by arcs ofcircles. Blue arcs are counter-clockwise run, while red arcs are run in a clockwisemotion. This convention allows us to indicate the directions without usingarrows. As we shall have some discussion about delays, we need a which allowus to tune the length of the path covered by the locomotive. Note that if theradius of an arc A is n and its angle is α , the length of the arc of the sameangle and whose radius is n +1 is more than twice the length of A . The shortestpath from a tile to another one is not an arc of a circle, especially if the distanceis big. An approximation of that shortest path can be realized by a sequence9f arcs which we call a zig-zag line illustrated by Figure 9. The length of theshortest path following the line is multiplied by 4 in the zig-zag line illustratedon the the right-hand side picture of Figure 9. With only three states at my disposal, I do not know how to directly implementswitches where the needed sensors and controls are immediate neighbours of thecell where the tree tracks arriving at the switch meet. The simplest solution forthat purpose is to devote a state for the tracks, different from the blank andthen to give a series of states for each type of switch and for each step requiredfor the crossing of the switch by the locomotive. This may require more statesthan the 22 states of the automaton in [1].Here, we again take the idea of a special colour for the tracks, the mauveone. Now, we take a single-celled locomotive, we shall say a simple one. As weneed to use opposite directions, we have two different colours for the supportof the track as mentioned in the caption of Figure 8. Note that the support isalready needed for the motion of the locomotive in order to observe the rotationinvariance of the rules. Also, we indicated that there are instructions whichdecrement a register and others which increment it. We have a single trackon the register in order to perform the instruction and a single one to allowthe locomotive to return to the instructions of the machine. The distinctionis obtained by defining two colours. The locomotive is green when it has toincrement a register and it is red when it has to decrement it. The colours forthe supports of the tracks are blue and orange. Accordingly we shall speak of a blue and an orange path .Here too, the crossing is performed by a most expensive structure, the round-about described in Sub-section 3.1. Switches are decomposed into sim-pler structures we shall indicate later. Although we follow the mainlines of [7],we use here specific structures. All structures described in the present sectionare under the idle configuration which is their configuration at the startingtime of the computation.
The round-about replaces the crossing, a railway structure, by a structure in-spired by road traffic. At a round-bout where two roads are crossing, if youwant to keep the direction arriving at the round-about, you need to leave theround-about at the second road. Figure 10 illustrates this features.As mentioned in the legend of the figure, when the locomotive arrives through B , A , it leaves the round-about through gate 2, 3 respectively. At A and B , wehave a special structure which we call the doubler which transforms the simplelocomotive, into a double one which constitute of two contiguous cells of thesame colour. In the points 1, 2 and 3, the structure, which we call the selector ,10ends the locomotive further if it is a double one and sends it on the appropriatetrack if it is a single one. BA f Figure 10
Implementation scheme for the round-about. A locomotive arriving from B leaves the round-about through . If it arrives from A , it leaves through . Note thefixed switch f in between the structures and allowing the track coming from A toreach the round-about. The auxiliary structures we need are the fixed switch, see Sub-section 3.1.1,the fork, see Sub-section 3.1.2, the doubler, see Sub-section 3.1.3 and the selec-tor, see Sub-section 3.1.4.
As the tracks are one-way and as an active fixed switch always sends the loco-motive in the same direction, there is no need of the other direction: there isno active fixed switch. Now, passive fixed switch are still needed as just seenin the previous paragraph. Figure 11 illustrates the passive fixed switch whenthere is no locomotive around. We can see that it consists of elements of thetracks which are simply assembled in the appropriate way in order to drivethe locomotive to the bottom direction in the picture, whatever upper side thelocomotive arrived at the switch. From our description of the working of theround-about, a passive fixed switch must be crossed by a double locomotive aswell as a simple one. Also, it must be crossed by such locomotives whatevertheir colour.Later, in Section 4, we shall check that the structure illustrated by Figure 11allows these crossings. 11 igure 11
The passive fixed switch in the heptagrid.
The fork is a structure which allows us to get two simple locomotives from asimple one. It also allows us to get two double locomotives from a double one.The structure of the structure is illustrated by Figure 12. As shown there, twoarcs, one blue, the other red, abut a same tile to which a third one arrives. Thearriving locomotive is duplicated on the orange and the blue paths
Figure 12
The fork in the heptagrid.
The fork is used later in several structures. We shall see it, namely, in thedoubler to which we turn now in Sub-subsection 3.1.3. We can see on Figure 1212hat the exiting paths, the red one and the blue one, have supporting tiles whichbelong to the same circle.
The doubler is illustrated by Figure 13.The left-hand side picture of the figure explains the structure of the doubler.The picture shows us a circle whose radius is 3. The supported track lies on acircle of radius 4.
Figure 13
To left: explanation of the implementation. To right: the doubler.
On a circle of radius 4, there are 7 ×
21 = 147 tiles. Indeed, it was provedthat within a sector, from one border line to the other, the number of tiles atthe distance k is f k − where f n is the Fibonacci sequence defined by the initialcondition f = f = 1, see [3, 2]. Accordingly, an arc ending on the borders ofa sector with radius 4 contains 21 tiles exactly. It can be checked in [3]. As thenumber of tiles is odd and as the duplication occurs at a tile T of the circle,we remain with an even number of tiles so that each path on each side containsthe same number of tiles, namely 73 of them. That same number of tiles meansthat both simple locomotives created at the same time t at both neighboursof T on the circle arrive at neighbouring tiles U and V so that, starting fromtime t , they constitute a double locomotive. The exit tracks allows that doublelocomotive to go further on its track.That argument explains why the radius is important. The number of tileson the circle which supports the tracks should be odd and the smallest caseavoiding complications is radius 4. This is why the left-hand side picture ofFigure 13 explains the right-hand side picture.13 .1.4 The selector In Figure 14, we have an illustration of the structures involved in the selector.There are three structures: a fork at Fk , a first controlling device at Sl and asecond controlling device at Dl .On Fk , the fork which replicates the arriving locomotive on both pathsexiting from that point. If the locomotive is simple, its copy on the blue pathgoes out through Sl which let it got. However, on the orange path, the othercopy does not cross Dl which stops a simple locomotive. If the locomotive isdouble, its copy on the orange path goes out through Dl which let it go. Theother copy on the blue path does not cross Sl which stops a double locomotive. Fk Sl DlCds
Figure 14
Scheme of the selector. Above, the fork. To left and to right the control-ling devices.
On Figure 15, we indicate the implementation of the control structures ofthe selector. On the left-hand side of the figure, we have the controlling device:it let pass the appropriate locomotive. We note that both controllers have asimilar structure and that the converter is quite different.According to what we said in the description of a round-about, the redpath after Sl leads to the tracks which continue the track through which thelocomotive arrived at the round-about. On the other side of the scheme, theblue path after Dl leads to the tracks of the round-about which goes to thenext selector. However, after Dl , we can see another structure on the tracksdenoted by Cds . It transforms the double locomotive into a simple one, so thatat the next selector, the simple locomotive of the right colour is sent on theappropriate tracks. Note that the controller structures must be placed on a redpath. 14 igure 15
The control structures of the selector: to left, the control for letting pass asimple locomotive, stopping a double one. In the middle: the control let a double loco-motive pass and stops a simple one. To right, the converter from a double locomotiveto a simple one.
In this Sub-section, we look at the decomposition of two active switches: theflip-flop and the active part of the memory switch. In both cases, we can splitthe working of the switch by separating at two different stages, the bifurcationand the fact that the passage in one direction is forbidden. It is not mandatorythat both acts should happen simultaneously, as might be suggested by thedefinition of Sub-section 2.1. A fork may dispatch two simple locomotives and,later, on one track, a controller let the locomotive go on its way on the trackand, on the other track, another controller stops the locomotive and destroys it.The difference between the switches is the way in which the change of selection isperformed. Figure 16 illustrates how to assemble forks and controllers in orderto obtain either a flip-flop, left-hand side of the figure, or an active memoryswitch, right-hand side of the picture. The difference is important: the flip-flopimmediately changes the selection once it was crossed by the locomotive. Theactive memory switch changes the selection if and only if the passive switchordered it to to do so through a signal sent to the active switch. This is realizedin Figure 16.Indeed, in the active memory switch, when the simple locomotive arrives atthe fork C , it is duplicated into two simple locomotives, each one following itsown path. One of these locomotives goes on its way to the controller, and theother is now a third locomotive which is sent to a second fork, labelled with A in the figure. When it is crossed by that locomotive, A sends two locomotives :one to the other controller and one to a third fork S . The controllers are blueand red. The blue one let the locomotive go its way. The red controller stopsthe locomotive and kills it. The locomotives sent by S go both to a controller,one to the blue controller, the other to the mauve one. Now, when a locomotivesent by S arrives at a controller, it changes the blue one into a mauve one andthe mauve one into a blue one, so that what should be performed by a flip-flop15s indeed performed. It is enough to manage things in such a way that thelocomotives arriving to the controllers from S arrive later than those sent by C and by A . L RSC A L RSC
Figure 16
To left: the flip-flop. To right: the active memory switch.
Figure 17 illustrates the working of the memory switch. As in [8], the mem-ory switch is split into two parts : the active one for an active crossing and apassive one for the passive crossing of the switch. Consider an active crossing.As shown on the left-hand side part of Figure 17, the locomotive arriving to C is duplicated by a fork and each copy of the locomotive is sent to a controller:one of them is L , the other is R . One of them let the locomotive go, whateverits colour, the other controller stops the locomotive by killing it.At present, consider a passive crossing, illustrated by the right-hand sidepicture of Figure 17. The locomotive arrives either to P or to Q . Assume thatit arrives to Q . A fork at Q sends a copy of the locomotive to F which is a fixedswitch. The fork sends the other copy to R , a controller. If the correspondingtrack on the active switch can be crossed, the controller stops that copy ofthe locomotive. If the corresponding track is barred on the active switch, thecontroller let the copy of the locomotive go. The copy goes then to S and thento U . There, a fork sends a copy of the locomotive to from which the S of theactive switch which is also a fork. The other locomotive sent from U goes to T where another fork sends to copies to L and R in order to change the functionof those controllers which will thus be in accordance with those of the activeswitch which will be changed accordingly when the locomotive sent from U willreach them. The fork at P and L play symmetrical roles when the locomotivearrives to the passive switch from the other side. Of course, the controllers at L and R play opposite roles at any given time.We can see on Figure 18 that an auxiliary track abut the structure with-out crossing it. It is the end of the paths taken by the locomotive-signal sentfrom U both in the passive and in the active switches. Those signals change thecontroller. If the signal arrives at a blue controller, it becomes a mauve one, ifthe signal arrives at a mauve controller, it becomes blue. The blue controller letthe locomotive go while the mauve one stops it. The controllers at the active16witch are the same structures as those indicate in Figure 18. Simply, theyare fixed on opposite functions: on the active switch, the blue controller is onthe track to which an arriving locomotive at C can go, see the left-hand sidepicture of Figure 17, and the mauve controller is on the track whose access isforbidden. On the passive switch, the mauve, blue controller is set on the trackwhich corresponds to the track of the active switch on which the blue, mauvecontroller lies respectively. L RSC QP FSL RTU
Figure 17
Memory switch: to left, the active switch; to right the passive one.
Figure 18
To left: the controller which let the locomotive go as a signal to the activeswitch. To right, the controller which stops the locomotive when there is no change toperform.
Note that the controlling structures of Figure 18 have a common point withthose of Figure 15. The structures of Figure 18 are programmable versions ofthose of Figure 15.
Thanks to the tracks and the connected structures, switches and control devices,the locomotive can go from the instructions to the register and then, from there17ack to the instructions.The structures we considered up to now allow us to revisit the schemes weindicated in Section 2. We start with the one-bit memory which is the contentof Figure 2. In Figure 19, we remind that latter scheme and we present how weimplement it with the structures defined up to now.
WRE E E R W E xx x WR E B1B0
Figure 19
To left, the scheme of Figure , to right, its implementation in our setting.In the hyperbolic picture, the colours at W , R and E , namely yellow, light green andlight purple respectively represent a flip-flop switch, an active memory switch and apassive memory switch. The green points with an x letter indicate crossings. In both figures, the content of the memory is defined by the position of theswitches at W , at R and at E . There are five gates in both structures: W , R , E , 0 and 1 in the right-hand side picture of the figure. The main differencewith the left-hand side picture is that in that latter case, some portions of thetracks are two-ways: the tracks between R and the fixed switch in between R and E on one hand and in between R and E on the other hand can be crossedin both directions by the locomotive. In the setting of the present paper, tracksare one-way. The direction is indicated by the colour of the support. In ourschemes, red tracks are clockwise run while blue ones are counter-clockwise run.In both pictures, there are two possible entries: R and W . Entering through R does not change the structure. In the left-hand side scheme, a memory switchstands at R . In the right-hand side picture, at R , we have an active memoryswitch. If the position of the switch at R is 0, the exit is through gate 0, E in the right-, left-hand side picture respectively. If the position is 1, the exit isthrough gate 1, E respectively. If the locomotive enters the structure throughgate W , as a flip-flop switch is placed at that point, the position of the switch ischanged by the passage of the locomotive. Then, the locomotive exits throughgate E after it has passively crossed the switch at E , R in the right-, left-handside picture respectively. This also changes the selected track in that switch.Accordingly, if the locomotive enters the structure through W , the positions18f the switches are changed to the opposite position. It is also the case in theright-hand side picture for the switch at R as its selected track is defined bythe track through which the locomotive passed at E . On the right-hand sidepicture of the figure, we can see a track going from E to R which represent thestructures we have seen for the memory switch in Sub section 3.2 allowing thepassive switch to change the position at the active switch when it is required.In later Figures, we represent the one-bit memory unit as a circle with fivegates, W , R , E , 0 and 1, two gates for entrance, R and W , and three exits, E ,0 and 1. R W E WR E B1B0 ID reg x x F ff fx Figure 20
A one-bit memory to remember whether the last instruction was to decre-ment or to increment the register which was just operated. The conventions for coloursare those of Figure . Figure 20 illustrates a structure belonging to a register which allows thelocomotive to return to another memory structure, that for the incrementinginstructions and that for the decrementing ones. The structure is based on a one-bit memory: 0 if the instruction incremented the register, 1 if it decremented it.The idle configuration is 0. When the locomotive goes to increment a register,it does not visit the structure which remains 0. When the locomotive goes todecrement a register, it enters the structure through its W -gate so that whenit leaves it through the E -gate, it goes to the register. When it goes backfrom the register, it enters the structure through its R -gate: if it reads 0, itis sent to the memory structure for incrementing instructions which will sendback the locomotive to the right instruction. If the locomotive reads 1 it leavesthe structure through its 1-gate and it is sent to the W -gate of the structure,resetting it to 0. Now, the locomotive is not sent again to the register. Onits way to decrement the register after crossing the structure, the locomotivecrossed a flip-flop ff whose 0-branch sent it to the register. And so, when itagain meets the flip-flop which is now indicating its 1-branch, the locomotive issent to the memory structure of the decremeting instructions and the flip-flop19gain indicates its 0-branch which is its idle configuration. P dz reg ff F A d z ZD prednext prednext xx x WR E B1B0 D WR E B1B0 Z Figure 21
The unit in the memory structure of a register for the return from adecrementing operation to the right place in the instructions. The conventions forcolours are those of Figure and of Figure . Figure 21 illustrates a unit of the memory structure which ensures a return-ing locomotive which decremented a register to go back to the appropriate placeamong the instructions. Such a memory structure contains as many units asthere are instructions in the program which decrement that register. As we cansee, the unit contains two one-bit memories denoted by D and Z in the program,so that we shall denote their W -, R , E , 0- and 1-gates by W D , W Z , R D , R Z , E D , E Z , B D , B Z , and B D , B Z respectively. The tracks which connect E D to W Z shows us that both D and Z are simultaneously either 0 or 1. The reasonwhy we need two connected one-bit memory is that when the locomotive reachesthe register in order to decrement it, it may happen that the operation cannotbe performed because the register is empty. In that case at which we look abit further, the locomotive is sent to the memory structure on track D if theregister was actually decremented and on another track, say Z , if the registerwas empty so that the locomotive could not decrement it. The distinction isimportant as the next instruction depends on which the case was. When it goesto decrement a register, the locomotive first goes to the memory structure. Itenters the D memory through W D . Note that the locomotive enters into one20nit only so that all other units remain 0. As it enters the unit through W D weknow that both D and Z become 1. Next, from E Z , the locomotive goes to F atwhich a flip-flop switch stands which indicates its 0-branch. That branch is atrack leading to the register.When the locomotive succeeded to decrement the register, it goes back tothe memory along the D -track. The track enters a unit through R D . If thelocomotive reads 0 it is sent through B D to the R D of the next unit. So that itgoes from one unit to the next one until it reads 1 in the D memory of a unit. Asimilar motion happens for the locomotive if it arrives to the memory throughthe Z -track: it enters the unit through R Z and, it it reads 0, it is sent through B Z to the R Z of the next unit.Consider the case when the locomotive arrives to a unit containing 1. First,let us look the case when the locomotive arrives to R D . As it read 1, it goesthrough B D which sends it to P at which a passive memory switch stands. Itarrives to the switch through a track named d . Accordingly, another locomotiveis sent through P which reaches A at which an active memory switch stands. Thelocomotive make the active switch indicate its branch also named d . From P theformer locomotive is sent to W D so that it will set D and Z to 0. Now, from E Z the locomotive passes a new time through F so, that it takes the 1-branch ofthe flip-flop switch which stands there and makes the flip-flop to indicate its0-branch again. On the 1-branch, the locomotive goes from F to A where theactive memory switch indicates the d -track, leading the locomotive to the rightplace in the program.Now, consider the case when the locomotive reads 1 in the unit after itarrived through R Z . Then it goes out through B Z which sends it to P atwhich it arrives through the track named z . The memory switch at P sendsanother locomotive to A as seen previously but this time the flip-flop switchat A is made to indicate its z branch. Meanwhile, the former locomotive goesfrom P to W D so that it resets both memories D and Z to 0. That locomotivealso goes through E Z which sends it to F . The flip-flop switch sitting thereindicates its 1-branch so that the locomotive goes to A and the switch againindicates its 0-branch. At A the locomotive is sent through the track named z to the right place in the instruction part of our implementation.On the same line, we have to make a bit more precise the memory structureused for defining the right place in the program for the return of a locomotiveafter it has incremented a register. There is such a structure for each register.Each memory structure consists of as many units as there are instructions whichincrement the considered register. Figure 22 illustrates such a unit. It makesuse of a one bit memory. In the idle configuration, each unit contains 0. Whenthe locomotive arrives from a given instruction which increments the register,it enters the appropriate unit of the memory structure of that register throughthe W -gate. Accordingly, from now on, that unit contains 1. As it exits throughthe E -gate, the locomotive arrives at A to a flip-flop switch which sends it on its0-branch leading to the register, and the flip-flop switch indicates its 1-branch.When the locomotive returns from the register, it arrives to a unit througha track which leads to the R -gate. If the locomotive reads 1 there, it is sent21hrough B0 to the R -gate of the next unit. Accordingly the locomotive arrivesto the unique unit containing 1. As it reads 1, it leaves the one-bit memorythrough B1 which sends the locomotive to the W -gate through a fixed switch.Accordingly, the locomotive changes the one-bit memory to 0 and it leaves thatmemory through the E -gate. Accordingly, it is sent again to A . The flip-flopswitch which sits there, sends the locomotive to its 1-branch leading to the rightinstruction of the program and the flip-flop switch again indicates its 0-branch,the direction to the registers. regA I next predxx x x x WR E B1B0
Figure 22
The use of a one-bit memory in a unit for selecting the right place for anincrementing instruction on its returning way. The conventions for the switches andthe crossings are those of Figure . It is time to look closer at what happens for a returning locomotive tothe instructions. When it comes back from a register, the locomotive is red.If it arrives to an incrementing instruction or to a jump instruction, it mustbecome green. If the jump instruction arrives to a decrementing instruction,the locomotive must become red. Accordingly, we need a structure which allowsto convert a green locomotive to a red one and conversely. It is illustrated byFigure 23, on the left-hand side picture. The right-hand side picture remindsus the converter of a double locomotive to a simple one.Next, Figure 24 shows us different configurations of a register. The rightmostpicture of the figure illustrates a standard configuration, when some positivenumber is stored in the register. The leftmost picture illustrates an emptyregister, which means that its content is 0. The middle picture shows a registerwhich contains 1 exactly. On the rightmost picture, we can see the structureof the register : the number stored in the structure is the number of bluecentral cells. As already mentioned, the yellow cells allows the locomotive toarrive at the end of the stored number in order to append a new blue cell or inorder to erase the last one. The process of appending or of erasing has also todeal with the yellow and orange cells which sit around the blue part. A green22ocomotive performs its action as a red cell which becomes later the returninglocomotive. A red locomotive performs its action as a green cell which becomesa red locomotive again when the action is performed.
Figure 23
Converters for the locomotive. To left: the converter from green to redand from red to green colours. To right, the converter from double to simple forms.
We conclude the subsection devoted to registers by showing two schemes onFigure 25. To left, we have the scheme of zero. As clear from Table 11, whenthe red locomotive checks that the register is empty, it sends two locomotiveon the circuit. One locomotive takes the path to the structure which stand tothe right of the figure, a structure which distinguish between instructions whichincremented and those which decremented. The second locomotive goes to theinstruction to be executed after a zero test. In the case when the locomotiverealises that the register was empty, the first locomotive must be stopped. Thescheme of that action is illustrated by the right-hand side picture of Figure 25.
Figure 24
The register: to left, when it is zero; in the middle, when it contains exactly; to right, when it has some number. On the way to the further treatment of the locomotive returning from zero,call it the zero-locomotive, that locomotive sends at I a first copy to a controllerwhich will stop the locomotive returning through the standard way, say thenonzero-locomotive. On its way to the controller, the first copy sends a secondone to the controller in order to let the next locomotive go. The paths arecomputed in such a way that the non-zero locomotive arrives to the controller in23etween the arrival of the copies sent by the zero-locomotive. Indeed, increasingthe radius of a circle by one multiply the circumference by at least two, so thatit is easy to manage the circuit in order to obtain the expected action. IJK z d x R W E WR E B1B0 ID reg x x F ff fx Figure 25
To left: the test of zero for a register. To right, the discrimination betweeninstructions which increment and those which decrement when the locomotive returnsto the instructions. That structure uses the one-bit memory.
On the right-hand side picture, we can see the implementation of the struc-ture which allows an instruction returning from a register to go back to theappropriate next instruction. It makes use of a one-bit memory, see the middlepicture of the figure, which was set to 1 if a red locomotive crosses it on itsway to the register. A green locomotive does not cross that unit which, in thatcase, remains set to 0. The returning locomotive reads the memory. If it is 0, itknow it goes to the selector of incrementing instructions in order to find out theappropriate next instruction. If the memory is set to 1, the locomotive crossesit again which automatically sets the unit to 0, next it goes to the selector ofthe decremeting instructions. The locomotive is set again to the unit througha flip-flop switch which was already crossed on the way to the register, so thatthe second crossing sets back the switch to the right position. Note that a zero-locomotive goes directly to the selector of decrementing instructions in order togo to the correct next instruction.
The figures of Sections 2 and 3 help us to establish the rules. The rules and thefigures were established with the help of a computer program which checked therotation invariance of the rules and which wrote the PostScript files of the pic-tures from the computation of the application of the rules to the configurationsof the various type of parts of the circuit. The computer program also estab-lished the traces of execution which allow the reader to check the application ofthe rules. 24n comments of the figures, the central tile is denoted by 0(0). The cellswhich are neighbours of 0(0) by sharing an edge with that cell are numbered1( i ), with i ∈ { .. } , increasingly while counter-clockwise turning around 0(0),see the left-hand side part of Figure 6. In each sector delimited on that picture,the cell 1( i ) has three sons numbered 2( i ), 3( i ) and 4( i ), blue, green and yellowrespectively in the right-hand side part of Figure 6 where the cell 1( i ) is theclosest green tile to the central tile. The cell 2( i ) has two sons: the cells 5( i )and 6( i ), blue and green respectively. The cell 3( i ) has three sons numbered7( i ), 8( i ) and 9( i ), blue, green and yellow respectively on the picture while thecell 4( i ) has also three sons numbered 10( i ), 11( i ) and 12( i ), also blue, greenand yellow respectively on the figure. For further numbers, the reader is invitedto look at [3].Later, we provide the reader with tables of rules and figures in followingthe various structures of the implementation, starting with the tracks, see Sub-section 4.1. Before turning to the study, let us mention notations and importantproperties for a better understanding of the rules and their application.First, we establish the format we use to denote the rules. A rule has the form w o w ..w w n where w o is the current state of the cell c , w i is the current state ofthe neighbour i of c and w n is the next state of c once the rule has been applied.The rules must be rotation invariant which means that the rule w o w ..w w n andthe rule w o w π (1) ..w π (7) w n are the same for any circular permutation π on the set[1 .. W , B , R , Y , G , O and M in thatorder. The states G and R are essentially used by the locomotives. Consider therules w o w π (1) ..w π (7) w n with π running over the seven circular permutations on[1 .. conservative the rules of the former type and motionrules those of the latter one. Motion rules are applied to the cells of the tracks:the one on which the locomotive stand and also the neighbours which will beoccupied by the locomotive at the next time. Among the conservative rules,there are rules in which the state of the cell does not change but the states ofat least one neighbour is affected by the motion of the locomotive. Those rulesare called witness rules . A cell to which a witness rule applies has at least oneneighbour on which the locomotive may stand. The largest set of contiguousneighbours of a cell on which the locomotive may stand on each of them is calleda window on the motion of the locomotive. As an example, such cells occur inthe supports of the tracks, see Figure 8. As an example, on a blue path, manycells are applied the conservative rule BWBMMMMBB . The contiguous four M constitutea window, each cell of which is step after step occupied by the locomotive, givingrise to four conservative rules. We shall mention the witness rules among theconservative ones, but we shall not provide all the rules, indicating the windowonly as follow, taking the previous example: BWB:MMMM:BB . That notation replacesthe rules
BWBLMMMBB , BWBMLMMBB , BWBMMLMBB and
BWBMMMLBB as well as the rules when25 double locomotive is passing through the window:
BWBLLMMBB , BWBMLLMBB and
BWBMMLLBB . In the previous rules, we used symbol L to replace G and R . Note thatin the case of several occurrences of L in a rule, all of them have to be replacedeither by G or by R . That notation will be used in the sequel in order to sparespace. However, a single-symboled window will not use that notation. In thetables for the rules, in order to avoid fastidious repetitions, we shall use thenotation displayed in BWB:MMMM:BB . In those cases, the successive symbols of thewindow can be replaced by G or by R , as we can do when L has to be replacedby those symbols in the seven previous rules.We can do the same remarks about similar rules when green or red, simpleor double locomotives run on the blue path and on the orange path. We leavethat to the reader as an exercise. Table 1 provides us conservative rules which are applied to the white cells whichremain white in the computation and for cells which are completely surroundedby white cells.
Table 1
Conservative rules for white cells.
Table 2 gives the rules for ordinary tracks. By that expression, we meanmean tracks which are supported by a circle. Later, we look at rules whichallow the locomotive to pass from an arc of a circle to that of another circle. Asalready mentioned, the simulation works on two kinds of tracks. We call B -, O -path a track whose support is an arc of a circle consisting of blue, orangecells respectively.Figures 26 and 27 illustrate the application of the rules of Table 2 for B -and O -paths respectively. In the table, two rules are numbered by red digits. Itmeans that the same rules will later be repeated with the same numbers. Thatconvention will be used in the sequel. 26 able 2 Rules for ordinary tracks
Conservative rules witness rules
14 MWWWWMBMM15 MWWWMBBMM16 MWWWWMOMM17 MWWWMOOMM 18 WWWWBBBBW19 WWWWWBBBW20 WWWWOOOOW21 WWWWWOOOW 22 BWB:MMMM:BM23 BWWB:MMM:BM24 OWO:MMMM:OM25 OWWO:MMM:OM
Motion rules B -path O -path
26 MWWWWMBLL27 LWWWWMBMM28 MWWWWLBMM29 LWWWWMBLL30 LWWWWLBMM 31 MWWWMBBLL32 LWWWMBBMM33 MWWWLBBMM34 LWWWMBBLL35 LWWWLBBMM 36 MWWWWLOML37 LWWWWMOMM38 MWWWWMOLM39 LWWWWLOML40 LWWWWMOLM 41 MWWWLOOML42 LWWWMOOMM43 MWWWMOOLM44 LWWWLOOML45 LWWWMOOLM
Figure 26
Locomotives on a B -path. From top to bottom: simple green one, doublegreen one, simple red one, double red one. On those pictures, the radius of the arc onwhich the tracks lie is . As mentioned in the legend of the figures, the radius of the arc on whichthe mauve cells, those of the tracks, lie is 4. As the cells of the tracks have atleast three white neighbours and at most two neighbours on their support, theidentification of which rule is applied is easy.The figures help us to see that, in Table 2, the conservative rules 14 to 17concern the mauve cells of tracks, while the rules 18 to 21 concern the whitecells which are inside the circle supporting the support of the tracks. The blueor orange cells of the support are applied one of the witness rules from 22 to 25.It is easy to check that the 45 meta-rules of Tables 1 and 2 represent 71 actualrules of the automaton. 27 igure 27
Locomotives on a O -path. From top to bottom: simple green one, doublegreen one, simple red one, double red one. On those pictures too, the radius of the arcon which the tracks lie is . Table 3
Rules for the links between B - and O -paths. B → O O → B B → B O → O conservative rules and witness rules
46 MWBMWOOMM47 BWB:MMMMM:B48 OWWWWWOMO49 WWWWBB:MM:W50 WWWWWO:MM:W51 WWWOOOOOW 52 MWWMBBMOM53 WWWBBBBBW54 WWWWWWMOW55 BBB:MMMMM:B56 BWWW:MM:BBB57 BWBB:MMM:BB58 OWW:MMMM:OO 59 MWWBMWMBM60 WWWWW:MMM:W61 WWWWWWMBW62 WWWWWWBMW63 WWWWWWBBW64 BWWB:MMMM:B65 BWW:MMMM:BB 66 MWMOWMOMM60 WWWWW:MMM:W68 WWWWW:MM:OW69 WWWWWOOMW70 MWWWWWOMM motion rules
71 MWBLWOOML72 LWBMWOOMM73 MWBMWOOLM74 LWBLWOOML75 LWBMWOOLM 76 MWWMBBLOL77 LWWMBBMOM78 MWWLBBMOM79 LWWMBBLOL80 LWWLBBMOM 81 MWWBLWMBL82 LWWBMWMBM83 MWWBMWLBM84 LWWBLWMBL85 LWWBMWLBM 86 MWLOWMOML87 LWMOWMOMM88 MWMOWMOLM89 LWLOWMOML90 LWMOWMOLM
Now, as already noticed, the tracks are composed of arcs belonging to differ-ent circles with possibly different radiuses. The link between an arc to anotherone is an important point which should not be forgotten. Table 3 provides uswith the corresponding rules, conservative, witness and motion ones.Figures 28, 29, 30 and 31 provide us with an illustration of how rules areapplied to the cells of the different configurations.28 igure 28
Locomotives going from a B -path to an O -one. From top to bottom:simple green one, double green one, simple red one, double red one. On those pictures,the radius of the blue arc on which the tracks lie is while that of the orange path is . Figure 29
Locomotives going from an O -path to a B -one. From top to bottom:simple green one, double green one, simple red one, double red one. On those pictures,the radius of the blue arc on which the tracks lie is while that of the orange path is . As mentioned in the legends of the figures, the radiuses of the circle sup-porting the arcs may be different. Note that the link requires some adaptationbetween the arcs. The flexibility on the radiuses allow us to give the config-urations the same picture around the mauve cell of the link as in the figures.Note that Figure 31 is different from Figure 30 not only by the change of colourbut also by the occurrence of a mauve witness only present in Figure 31. Thatconditions is needed for compatibility of the rules.29 igure 30
Locomotives going from a B -path to another one. From top to bottom:simple green one, double green one, simple red one, double red one. Figure 31
Locomotives going from a O -path to another one. From top to bottom:simple green one, double green one, simple red one, double red one. We remain with the rules devoted to the zig-zag lines which we defined inSection 2. They are given by Table 4.Note that the rules for the O -path can be deduced from those for the B -paths. Also note that the connection between B , O -paths in the figures are a bitdifferent from those of Figures 32. Indeed, the conservative rules
94 MWWMBWBMM and
59 MWWBMWMBM together with the corresponding motion rules give all thepossible connections between two B -paths as far as the situation MWWWBMMBM is excluded. A similar remark holds for O -paths.30 able 4 Rules for the zigzag-lines. conservative and witness rules motion rules
91 WWWWWBMBW65 BWW:MMMM:BB64 BWWB:MMMM:B94 MWWMBWBMM 95 WWWWWOMOW58 OWW:MMMM:OO97 OWWO:MMMM:O98 MWWMOWOMM 99 MWWMBWBLL100 LWWMBWBMM101 MWWLBWBMM102 LWWMBWBLL103 LWWLBWBMM 104 MWWMOWOLL105 LWWMOWOMM106 MWWLOWOMM107 LWWMOWOLL108 LWWLOWOMM
Figure 32
Locomotives going along the epicycles of a zig-zag line.
As noticed in Section 3, there is no active switch in our simulation as returnpaths are strongly separated from the direct ones. We need to separately checkthe crossing from both branches of the switch.31able 5 provides us with the rules whose application is illustrated by Fig-ures 33 and 34.
Table 5
Rules for the passive fixed switch. conservative and witness rules
109 MWMOYMOMM110 WWWWBBYOW111 MWWWMYBMM112 MWWWWMYMM113 MWWWOMYMM 114 WWWOOOOMW60 WWWWW:MMM:W116 YWB:MMMM:OY117 BWB:MMMM:YB118 OWWY:MMM:OO motion rules :from the left: from the right:
119 MWMOYLOML120 LWMOYMOMM121 MWMOYMOLM122 LWMOYLOML123 LWMOYMOLM 124 MWWWMYBLL125 LWWWMYBMM126 MWWWLYBMM127 LWWWMYBLL128 LWWWLYBMM 129 MWWWWMYLL130 LWWWWMYMM131 MWWWWLYMM132 LWWWWMYLL133 LWWWWLYMM 134 MWWWOMYLL135 LWWWOMYMM136 MWWWOLYMM137 LWWWOMYLL138 LWWWOLYMM 139 MWLOYMOML120 LWMOYMOMM121 MWMOYMOLM142 LWLOYMOML123 LWMOYMOLM
Figure 33
Locomotives crossing a passive fixed switch through its left-hand sidetrack. From top to bottom: simple green one, double green one, simple red one, doublered one. Note the yellow cell which separates the B - and the O -paths. Note that the rules allow both a simple and a double locomotive to crossthe switch. From Figure 10 we know that from A a double locomotive passivelycrosses the fixed switch through its left-hand side branch while if the locomotivecomes to the round-about from B , a double locomotive does the same throughthe right-hand side branch of the switch. Also, those locomotives may be eithergreen or red.The passive fixed switch occurs in the passive memory switch, in the one-bit memory and, consequently, in the discriminating structures which allow a32eturning locomotive from a register to go back to the right next instruction. Figure 34
Locomotives crossing a passive fixed switch through its right-hand sidetrack. From top to bottom: simple green one, double green one, simple red one, doublered one. Note the yellow cell which separates the B - and the O -paths. Presently, we deal with the rules managing the fork and the doubler. Therules are given by Table 6. Figure 35 illustrates the application of the rulesmanaging the fork while Figure 36 illustrates the application of those managingthe doubler.
Table 6
Rules for the fork and for the doubler. fork doublerconservative and witness rules
144 MWMBOMBMM145 MWWWBMOMM146 WWWWOBBBW21 WWWWWOOOW62 WWWWWWBMW 60 WWWWW:MMM:W64 BWWB:MMMM:B151 BWO:MMMM:BB152 OWWO:MMM:BO 153 MWMBMOBMM154 MWWWMOMBM19 WWWWWBBBW156 WWWWBBOOW157 WWWWMBBBW 158 BW:MMMMM:BB159 BWB:MMMM:OB160 OWB:MMMM:OO motion rules
161 MWMBOMBLL162 LWMBOMBMM163 MWLBOLBMM164 LWMBOMBLL165 LWLBOLBMM 166 MWWWBLOML167 LWWWBMOMM168 MWWWBMOLM169 LWWWBLOML170 LWWWBMOLM 171 MWMBMOBLL172 LWMBLOBML173 LWLBMOBMM174 MWLBMOBMM 175 MWWWLOMBL176 LWWWMOLBM177 MWWWMOLBM
Note that the fork can be crossed by a double locomotive: that happenswhen a double locomotive arrives to the selector in a round-about. Contrarily33o that circumstance, the doubler receives only simple locomotives, however twoof them at the same time. The synchronization explained in Sub-subsection 3.1.3is illustrated on Figure 36. by the fact that the green locomotive is, on eachside, at the same distance from the cell where the double locomotive is formed.
Figure 35
Locomotives crossing a fork. From top to bottom: simple green one, dou-ble green one, simple red one, double red one.
Figure 36
Locomotives crossing a doubler. Top row: a simple green locomotive be-comes a double one. Bottom row: a simple red locomotive becomes a double one.
Here, we examine the rules managing the crossing of the selectors. As ex-plained in Sub-subsection 3.1.4, a fork distributes the arriving locomotive intotwo copies. The latter ones are sent to controllers which work on opposite ways.Both of them are fixed. One selector let a simple locomotive go and kills adouble locomotive. The other selector performs the opposite action: it let adouble locomotive go and it kills a simple locomotive. Accordingly, a locomo-tive arriving to the fork leading to the controllers eventually goes on its way ona single track, as required in our scenario.34 able 7
Rules managing the controllers of the selector. We remind the reader thata meta-rule indicating a window replaces the rules with a locomotive at the differentplaces it occupies, whether it is green, red, simple or double. blue controller both controllers mauve controllerconservative and witness rules
178 WWWYBB:MM:W179 BWYYYYBBB180 BBBBYYYYB181 YWWWWWYBY182 YWWWWYBYY183 YWWWYBBYY184 YWWWWBBYY185 BWBBB:MMM:B186 BW:MMM:BBYB 187 MWMBWMOOM46 MWBMWOOMM189 WWWW:MM:BYW68 WWWWW:MM:OW191 OWWWWO:MM:O 192 MWYYYYMBM193 MBBMYYYYM194 YWWWWWYMY195 YWWWWYMYY196 YWWWYMMYY197 WWWYMB:MM:W198 BW:MMM:BMYB199 BWMMB:MMM:B motion rules
200 BWLLMBBYW201 WWMLLBBYB202 BWBBBMLMW203 WWBBBMMMB 204 MWLOOWMBL205 LWMBWMOOM206 MWLBWMOOM207 LWLOOWMBL208 LWLBWMOOM 71 MWBLWOOML72 LWBMWOOMM73 MWBMWOOLM74 LWBLWOOML75 LWBMWOOLM214 MWWLWOOMM215 LWWWWMWMM 216 BWMLMBMYW217 WWMMLBMYB218 BWLMMWMMW219 WWMMBMLMB198 BW:MMM:BMYB199 BWMMB:MMM:B
Figure 37
Locomotives crossing the control of a selector when the control is open.From top to bottom: simple green one, simple red one, double green one, double red one.Note that the control which let a double locomotive go has not the same configurationthan the one which let a simple locomotive go.
Note that in the table, the meta-rules are replaced by rules when the witnesscell is changed by the passage of the locomotive, see rules 182 up to 185 for the35lue controller and rules 198 up to 201 for the mauve controller. On the table,rule 186 shows us the importance of the order taken to choose the representinginstruction among its rotated forms. It is different from the order we can seeon rule 187. The reason is that WL < WM whatever the value of L .Figures 37 and 38 illustrate the application of the rules given by Table 7.We can check the key roles of the just mentioned rules together with rules 196and 197. Figure 37 gathers the configurations when both controllers let thelocomotive go: this is why on that figure, the top two rows show us the bluecontroller letting a simple locomotive go, whether it is green or red while thebottom two rows show us the mauve controller letting a double locomotive go. Figure 38
Locomotives crossing the control of a selector when the control is closed.From top to bottom: simple green one, simple red one, double green one, double red one.Note that the control which kills a double locomotive has not the same configurationthan the one which kills a simple locomotive. Comparing with Figure , we can seethat the controller which kills a double locomotive is the same as the one which let asingle locomotive go and that the controller which let a double locomotive go kills asimple locomotive. Figure 38 shows the opposite working of the controllers, when they kill thelocomotive: a double one is killed by a blue controller, see the bottom two rowsof the figure while a simple locomotive is killed a mauve controller, see the toptwo rows of the figure.We conclude the present subsection with the rules allowing a double loco-motive to be changed into a simple one. We remind the reader that Figure 15indicates the need of such a structure as far as, according to what we just re-minded the reader about the controllers of a selector, the controller which let adouble locomotive go on its way does not change it. Table 8 gives the few ruleswhich manage that structure together with the motion of the double locomotive36hen it crosses it. Note that rule 213 is the key one which transforms the doublelocomotive into a simple one. Figure 39 shows us the application of the rules tothe configuration which we have seen on the rightmost picture of Figure 15.
Figure 39
Top row: a green double locomotive crosses the structure; bottom row: ared double locomotive does the same. In both cases, a simple locomotive with the samecolour leaves the structure.
Table 8
Rules managing the conversion of a double locomotive into a simple one. conservative and witness rules motion rules
222 BWWWWWMYB223 YWWWB:MM:YY194 YWWWWWYMY225 MWWMOMYBM226 MWWYYMOMM 227 MWWLOMYBL228 LWWLOMYBL229 LWWMOLYBM230 MWWYYLOML231 LWWYYLOMM
In the present sub-section, we consider the rules managing the controllers ofthe flip-flop switch and of the memory switch. Both switches use the samecontrollers but their place in the circuit with respect to the tracks they controlis opposite. While the controllers of a selector are fixed, the controllers of thoseswitches are in some sense programmable. The blue controller may becomemauve and the mauve one may become blue. Also, those controllers can seea simple locomotive only. When a controller is blue, it let the locomotive go,when it is mauve, it kills the locomotive. On Figure 40, we can see that thecontrollers under study are rather close to those we have studied for the selector.It is the reason why in Table 9 we do not reproduce a few conservative rules foryellow cells which have the same neighbourhood here and in that former caseas, for instance rules 163 and 164.In Table 9, the key rules are rules 229 and 230 on one side, changing the bluecontroller into a mauve one, and rules 233 and 234 on another side, changingthe mauve controller into a blue one. 37 able 9
Rules which manage the change of colour in the controllers of the flip-flopswitch and of the memory one. blue to mauve mauve to blueconservative and witness rules
232 BWYYYMBBB233 BBBBMYYYB234 MWMOYBBYM 235 YWWWWMBYY236 YWWWYBMOY237 WWWWW:MM:YW238 WWWWWWYOW118 OWWY:MMM:OO 240 MWYYYMMBM241 MBBMMYYYM242 MWMOYMMYM 243 YWWWWMMYY244 YWWWYMMOY motion rules
245 MWLOYBBYL246 LWMOYBBYM247 BWYYYLBBM248 BBBBLYYYM 249 MWLOYMMYL250 LWMOYMMYM251 MWYYYLMBB252 MBBMLYYYB
Figure 40
Locomotives crossing the control of a passive memory switch when it letthe locomotives go. From top to bottom: simple green one, simple red one, double greenone, double red one. Note that the control works as that of the selector. However, itsdecorations are not the same and a path is getting out from the controller. See the useof that path on Figure . As the working of those controllers are the same as those of a selector, Table 9does not remind us the rules associated with the motion of the locomotive onthe ordinary tracks. The table gives the rules connected with the change of thecolour only. First the conservative and witness rules which are specific to thosecontrollers. Then, it gives the rules for the motion of the signal-locomotive andalso the rules managing the change of colour of the controllers.Figure 40 illustrates the working of the controllers. Figure 41 illustrates how38he change of colour is performed.
Figure 41
Signal-locomotives arriving at the control of a passive memory switch.From top to bottom: green signal to the blue control, red one to the same control, greensignal to the mauve control, red one to that control. Compare with the working of thecontrol on Figure . We give the rules for the registers in the present sub-section. We distinguishthree main cases: when a locomotive arrives and performs an instruction, thecase when the arriving locomotive finds out an empty register, the case when theregister contains value 1 and the locomotive arrives to perform an instruction.As we have many rules, we split the table into two ones: a small table, Table 10,for the conservative and for the witness rules, a much bigger one, Table 11, forthe motion rules.
Table 10
Conservative and witness rules for a register.
253 WWWWWWYYW254 WWWWWWOYW255 WWWWWWOOW256 BBYYBOOOB257 BBYYOOOOB183 YWWWYBBYY259 YWWWWOBYY260 OWWWWOBOO261 OWWWOBBOO 262 WWWWWBOOW263 WWWWWWMYW264 WWWWWYYBW265 WWWWWYOOW266 WWWWMYBYW267 WWWWWOYOW268 BWWWWWYOB269 BWWY:MMM:BB270 BWY:MM:YOYB271 YWWWWMOBY272 YWYMMOMBY 273 YWWWW:MM:YY274 YWWY:MMM:OY275 YWWWOBMYY276 YWOMBWMOY277 YWWWWWBOY278 OWWWWOMYO279 OWWWWOMOO280 OWBYMYMOO281 OWY:MMMM:OO282 OWWWWYBYO283 OWWWY:MM:OO 21 WWWWWOOOW238 WWWWWWYOW286 B:YY:OOOOMB287 YWMOYBMBY288 YWWWOBYOY289 OWWYYMMOO290 OWWWWOBYO291 OWWWOMBOO able 11 Motion rules for a register. First, to increment or decrement the register.Then, the particular cases: when the register contains and then when it contains . incrementing decrementing
292 YWWWYBBGG293 GWWWYBBYY294 YWWWGBBYY313 OWWWWOBRR296 RWWWWOBOO297 OWWWWRBOO298 OWWWOBBRR299 RWWWOBBOO300 OWWWRBBOO301 YWWWWOBGG302 GWWWWOBYG303 W1WWWWOGR304 WWWWWWOBO 305 OWWWWOBGB306 BWWWOBGRR307 GWWWRBBYY308 RWWWWWBGY309 YWWWYRBYY310 YWWWWWRYY311 WWWWWWRYO312 RWWOOBYYB313 OWWWOBROR314 BWORBYYOB259 YWWWWOBYY 316 YWWWYBBRR317 RWWWYBBYY318 YWWRBBYOY319 OWWWWWYYW320 BBYROOOOG321 RWWWWOBYW313 OWWWWOBRR323 BBYYGOOOB306 RWWWWWOGO325 GWROOOBYG308 OWWWWOGRR327 OWWWWWWYW 328 OWWWWOGOO329 OWWWOBGOO330 YWWWWGBYY331 GWOROOBYG332 OWWWWWRGW333 WWWWWWOGR334 GWWOROBYG335 OWWWOBGRR336 RWWWWWWGW337 GWRWORBYO →
338 MWWWWGOYG339 YWGOWOMBB340 GWWWWMOYM341 BWBMMYOYB342 BWOMBWMOY343 WWWWWOBOO344 MBBOOOYMB345 WWWWWWBOO304 WWWWWWOBO 347 BWYBMYOYB348 BBYBOOYMB349 BWWWOBYOR350 OWBYMYBOR351 OWWWWBYOY352 WWWWWOROW353 BBYRORYMM354 RWOOBYYOB355 YWMOYRBBY356 YWWWORYOY343 WWWWWOBOO358 BWOOMYYOB 359 MWWWWROYR360 RWWWWMOYM361 MWWWWMORM362 YWROWOMBR363 RWOMBWMOY352 WWWWWOROW365 BWRMMYOYB366 OWWWWOMRR367 MBROOOYMM368 WWWWWRYOW369 YWRMBWMOY 370 RWWWWOMOO371 OWWWWRMYO372 OWBYMYMRR373 MBYOROYMR374 RWBYMYROO375 RBYOORYMM376 MWWMBYRYR377 MBRYYMYYR 378 RBMYYMYYM379 MBYOOOYRM380 MWWWMYRYR381 MWWWMOYRR382 RWWWMOYMM383 MWWRYMYOM384 OWWWWWMYW → →
385 YWGOYBMBG386 BYYOOOOMB387 BWGMMYOYB388 BYOOOOMGB389 GWMOYBMBY390 YWWWOBGOG391 MBGBOOYMM333 WWWWWWOGR393 BWYMMYOYB394 BYGOOOOMB395 GWWWOBYOG305 OWWWWOBGB 304 WWWWWWOBO398 BBOOOMYGB305 BWWWOBGRR308 RWWWWWBGY401 GWWRBBYOY311 WWWWWWRYO403 BROOOMYYB312 RWWOOBYYB313 OWWWOBROR299 RWWWOBBOO343 WWWWWOBOO 408 YWROYBMBR409 RWMOYBMBY365 BWRMMYOYB411 BRYOOOOMB412 YWWWOBROR413 MBRBOOYMM414 OWWYRMMOO415 BROOOOMYG416 RWWWOBYOW417 YWMORBMBY313 OWWWWOBRR 419 WWWWRGYOW420 GWROOOMYG306 RWWWWWOGO422 YWGMBWMOY308 OWWWWOGRR424 WWWWOGYOW425 RWWWWOGOO426 GWOROOMYG332 OWWWWWRGW308 OWWWWOGRR 429 WWWWWGYOW333 WWWWWWOGR431 GWWOROMYG332 OWWWWWRGW433 OWWWOMGRR434 RWWWOMGOO336 RWWWWWWGW436 GWRWORMYO372 OWBYMYMRR438 RWBYMYMOO439 OWBYRYMOO376 MWWMBYRYR
In Table 11, we can see several rules whose number is red according to theconvention we already mentioned. As an example, rule 315 transforms a whitecell into a red one if that latter has two contiguous neighbours O and G in thatorder, the other neighbours being white. That rule applies three times andwhen the created this way red cell is superfluous, it is returned to white byrule 318. A few rules play the key role: rule 336 creates the 1 when an emptyregistered is visited by a green locomotive. Rule 359 triggers the locomotive40hich will stop the returning red locomotive as the former one signals the zero-state of the register and arrives to the memory of decrementing the registerby the way devoted to the zero-test. At last, Rule 397 starts the process ofreturning the content of the register to 0 when its content is 1 and at that time,a red locomotive arrives at the register. Figure 42
Working on a register. Top row, a green locomotive arrives: it incre-ments the register. Bottom row, a red locomotive arrives: it decrements the register.As decrementing a register needs one step more than incrementing it, the illustrationof decrementing starts one step further after the arrival of the red locomotive to theregister.
Figure 43
Working on a register, special cases. First two rows the register is empty,last two rows it contains value . Topmost row: a green locomotive arrives; the contentof the register grows from to . Next row: a red locomotive arrives; it can see thatthe register is empty, so that it triggers the locomotive exits through a different way.Third row from the top, a green locomotive arrives: the content of the register growsfrom to . Last row, a red locomotive arrives: the content of the register goes from to . Here too, there is a delay in the progression of the red locomotive when comparedwith the arrival of the green one. .7 Changing the colour of the locomotive We finish that section with the rules managing the change of colours for alocomotive. Such a transformation may be necessary when the locomotive goesback to the area of the simulation where the instructions are placed. On theway back from a register, the locomotive is always red, even in the case when itwas not possible to decrement the register. If the next instruction incrementsa register, the locomotive must become green. So we need to convert a redlocomotive to a green one. We have already mentioned that the occurrenceof a double locomotive happens within a round-about only. Accordingly, thechange of colour concerns simple locomotives only. That needs a few instructionsgathered in Table 12. Their application is illustrated by Figure 44.
Table 12
Rules for changing a red simple locomotive into a green one. conservative and witness rules motion rules
263 WWWWWWMYW442 WWWWWWYMW443 YWWWWWMYY444 YWWWWYMMY445 MWWMBMYYM446 MWWYMBBMM 447 MWWYMBBRR448 RWWYMBBMM449 MWWYGBBMM450 MWWMBRYYG451 GWWMBMYYM452 MWWGBMYYM
Figure 44
Changing a red simple locomotive into a green one.
The last rule has number 452. However, 42 rules are repeated at least once,32 of them exactly once. Accordingly, the total number of rules as indicated inthe tables is 420. However, as already mentioned, many rules of the tables areschemes of rules, so that the actual number of rules is 732. Note that the totalnumber of all possible different rules is 7 = 40,353,607 which is approximatelyreduced to 7 = 5,764,801 if we consider rules which are pairwise different underrotation invariance. It is interesting to note that many rules can be gatheredaccording to their neighbourhood. The neighbourhood of a rule x x ..x x isthe word x ..x . As an example, the neighbourhood WWWWWOG occurs in rules 306and 333, each of them being repeated in the tables. Rule 306 changes R into O while rule 333 changes W into R . In the same line, the neighbourhood WWWWWRY occurs in rules 310 and 311. In rule 311 it changes W into O while in rule 310it remains Y unchanged. Note that rule 311 entails parasitic occurrences of O which are erased by
327 OWWWWWWYW . That latter feature reminds me a similaritywith the correction of errors in the replication of DNA in natural processes.42 onclusion
There are several questions raised by this result. Is it possible to reduce thenumber of states in this context? The huge number of arbitrary rules seemsto say that it could be possible. However, that would be at the cost at reduc-ing several facilities we had here although the number of freedom is reduced,compared with what was previously achieved. Perhaps another model shouldbe used for that purpose. What could be done in the pentagrid is also an openquestion.
References [1] F. Herrmann, M. Margenstern, A universal cellular automaton in the hy-perbolic plane,
Theoretical Computer Science , , (2003), 327-364.[2] M. Margenstern, New Tools for Cellular Automata in the Hyperbolic Plane, Journal of Universal Computer Science , (12), (2000), 1226-1252.[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.[4] M. Margenstern, An Upper Bound on the Number of States for a StronglyUniversal Hyperbolic Cellular Automaton on the Pentagrid,
JAC2010
Turku, Finland, (2010),
Proceedings , Turku Center for Computer Science,168-179.[5] M. Margenstern,
Small Universal Cellular Automata in Hyperbolic Spaces:A Collection of Jewels , Springer Verlag, (2013), 331p.[6] M. Margenstern, A Weakly Universal Cellular Automaton in the Pentagridwith Five States,
Lecture Notes in Computer Science , C.S. Calude et al.(Eds.): Gruska’s Festschrift, , (2014), 99-113.[7] M. Margenstern, A weakly universal cellular automaton in the heptagridwith three states, arXiv :1410.1864v1, (2014), 27p.[8] M. Margenstern, A Weakly Universal Cellular Automaton in the Heptagridof the Hyperbolic Plane,
Complex Systems , (4), (2018), 315-354.[9] M. Margenstern, Y. Song, A new universal cellular automaton on the pen-tagrid, Parallel Processing Letters , (2), (2009), 227-246.[10] M.L. Minsky, Computation: Finite and Infinite Machines , Prentice-Hall,Englewood Cliffs, NJ, 1967.[11] I. Stewart, A Subway Named Turing, Mathematical Recreations in