15/July/2026 For some time, I had been struggling with the idea of a 2D Turing machine, one where the read/write tape head could range out width-wise as well as length-wise (normal operation). I found a tutorial on YouTube by TecHno RayZ which explained the unary addition of 2 numbers as I was reading in Computer Architecture and Organization by Hayes. It's a simple program,
First the r/w head is told to seek Right for any B (blank symbol).
v
0 0 0 B 0 0 B
Then when no more B's are found start erasing.
v
0 0 0 B 0 0 B
v
0 0 0 B 0 0 B
v
0 0 0 B 0 B B
This state is where any B's to the Left are replaced by 0.
v
0 0 0 0 0 B B
What if we had a 2D Turing machine.
0 0 0 B B
- - - - -
- - - - -
- - - - -
- - - 0 0
^
0 0 0 0 0
- - - - -
- - - - -
- - - - -
- - - B B
^
Immediately the complexity and time cost reduce.
0 0 0 B B
- - - - -
- - - - -
- - - - -
- - - 0 0
^
We can now multiply and divide.
0 0 0 B B
0 0 0 - -
- - - - -
- - - - -
- - - B B
^
Here we introduce 2 important 2D-specific instructions: / and \. These are inclined and declined. With 2D, we can have a degree of 'free will'. Here we are inclined of 1 towards B. towards unary 000
1 B - - -
- - 0 0 0
- - - - -
- - - - -
- - - - -
/
With just one instruction, we can 'steal' from the far end of the tape.
With the Fibonacci sequence, we can do,
1 B 1 0 0 B 1 1 1 1 - - - - - - - - - - 1 1 1 - - /
The Golden Ratio on tape above, is 1.618 or roughly 1.1001111 in binary. On the lower tape, we have 7 or 111.
1 B 1 0 0
B 1 1 1 1
[1 0 1 1 B
0 1 0 0 B
1 1 1 1 B] <== Result
1 1 1 - -
/
The result of the multiplication is: 1011.01001111, multiplied using the / and \ operators which act as register shifters, about the decimal point (B) and the lower range of it, 1111, preceeded by a B.
'Free will' determines the number of binary decimal places used based on the height of the y-axis of the tape, or are rows to be added? A trivial example of decision-making, possible in 2D.