How to work with this turing machine?
This is a screenshot of the applet LogiCell 1.0, link to which I found here.
As the bottom left corner shows, this is doing sum 0+1
an开发者_如何学运维d the result is 01b
(bottom right hand side).
I am not able to link what is displayed to what the inputs ans outputs are. For example in this case - seeing the snapshot, how do you determine that the inputs are 0
and 1
and the output is 01
?
From the documentation:
An eater manages the output. The red displayed cell only is activated if an eater absorbs a glider. This cell is the output.
Yet do note that this is a transient situation you have to be measuring for, with a certain periodicity. If you keep running the automata after that square is set, the eater is designed to return to its original form. From the PDF:
To design efficient circuits we need to somehow stop a stream of gliders to prevent the gliders from "polluting" the computational space. There are compact stable patterns, called eaters that consume gliders and then recovery back to their original form.
Since we have two bits of output (MSB and LSB) I've highlighted their "eaters"/outputs:
The addition is defined according to boolean operations:
A B | A+B
---------
0 0 | 0 0
1 0 | 0 1
0 1 | 0 1
1 1 | 1 0
MSB = A and B
LSB = (A or B) and (not (A and B))
It makes sense that you'd be able to compute the MSB faster than the LSB, hence it can be gathered "earlier" (closer to the top of the screen). Just watch the simulation and see that when the bits should be one, the corresponding eater consumes a glider - when they should be zero, the glider streams are stopped before they can reach the eater.
As for how to set up the inputs, it really comes down to whether a single square is on or off in the input construction. You can see this yourself by clicking an input (say A) and then OK, and then clicking it again:
精彩评论