The only restriction on the length of time the Turing Machine can run is, time itself and a supply of blank tape for the machine to use. The limit on time is only a practical limitation. The limit on blank tape is a procedural problem. It is not acceptable to make all the blank tape first as this puts a limit on the amount of blank tape for any particular program. There are two solutions either empty space acts as blank tape or blank tape must be added while the program is running. Unfortunately for this design empty space will not work. It is a straight forward procedure to stop the machine and paste on a bit of blank tape every now and again. It would be more satisfactory to build a life pattern that did the job. This is the current project
The first observation is that the stack used in the Turing Machine is not quite 45 degrees. I have a new design which is 45 degrees. This is much simpler to construct. The Turing Machine stack is made up of cells which can hold a value and a delay mechanism to slow the value as it is pushed from one cell to another. This is required to ensure that the destination cell is empty when the value arrives for storage. The new design replaces the delay mechanism with another holding cell. There are separate controls for each side of each cell so this new design requires twice as many control signals. The plus side is that it is made of fewer types of components.
The design here. shows a very short stack with control logic driven by a fixed cycle of push and pops. The stack only has a value with one bit.
The stack constructor will have 2 fleets of rakes one moving vertically and one moving horizontally. They will fire gliders towards each other. The diagonal collision site will be where the stack is generated. This procedure will build a stack cell much quicker that it takes the Turing Machine to perform one cycle.
Here is an example of 2 of period 240 rakes which build a diagonal line of blocks for each offset by 60.
In this example another period 240 rake generating a pair of gliders has been added to the above to convert the block into a glider traveling down the diagonal.
The placement of all these rakes will be quite time consuming and need repeating many times to overcome the difficulties of synthesizing the components without unwanted collisions. I intent to write a simple program to place the rakes. I envisage that this program will need a description of the limitations of placement for each rake and the rakes required for each object.
I intent to write a simple life pattern compiler which can take the output of placement program and assemble the parts. This compiler will be able to evaluate equations. It will also be used to prove the equations used by the placement program to relate the position of rakes and the position of the objects that the rakes will synthesise. The proposed syntax for the input to this program is here.
The syntax will be amended to task account of:
| 1 | Should allow rules other than Life to be specified. |
| 2 | Associate the file format with the file rather than with the write operation. |
Back to Turing Machine Main Page
|
Site by Paul Rendell. |
Last Update 12 January 05 |
Comments to Paul Rendell |