1RB0RC 1LB1LD 0RA0LD 1LA1RC

From BusyBeaverWiki
Revision as of 07:13, 5 November 2024 by Icy (talk | contribs) (→‎Example)
Jump to navigation Jump to search

1RB0RC_1LB1LD_0RA0LD_1LA1RC (bbch) (also known as p17620-s158491 or p17620) is a non-halting Turing machine with 4 states and 2 symbols. It is a translated cycler with period 17,620 and preperiod 158,491. The behavior of this Turing machine before entering its period can be classified as spaghetti, but as shown below, it is possible to analyze its computation to some extent.

Analysis

Summary

When the head is going from right to left, it takes the 01-run length encoding (separated by 1s) of the left side, doubles each run length, and interprets it as a 1-run length encoding (separated by 0s) and outputs it to the right side. It does this until it hits two consecutive 0s in a row, at which point it changes direction.

When the head is going from left to right, the output is more complicated but has a mod 3 theme. A run length that is 0 mod 3 causes the head to change direction.

Details

We adopt the following notation:

  • To the left of the head, we represent strings in 01-run length encoding, separated by 1s. That is, the non-negative integer n represents the string 01n 1. In addition, the vertical bar | represents a 0 which is not part of any 01 blocks.
  • To the right of the head, we represent strings in 1-run length encoding, separated by 0s. That is, the non-negative integer n represents the string 1n 0.
  • The variables x and y stand for integers.
  • Every macro transition in the below analysis goes from state A to state A.

Example

At step 1656, the machine's tape is

A 0 1011101101011010110110100110 >0 00111101111 0.

In the aforementioned run length encoding, this is

A 0 |2012211|10| >0 0044 0.

Going left

T1:  A      x|1| >0 0y  →[13]  A    x+1| >0 (y+2)
T2:  A     x|10| >0 0y  →[16]  A    x+1| >0 0(y+2)
T3:  A    x|100| >0 0y  →[19]  A    x+1| >0 00(y+2)
T4:  A    x|0|0| >0 0   →[19]  A (x+1)0| >0

T5:  A    (x+1)| >0 0y  →[13]  A     x0| >0 (y+2)
T6:  A   (x+1)0| >0 0y  →[16]  A     x0| >0 0(y+2)
T7:  A  (x+1)00| >0 0y  →[19]  A     x0| >0 00(y+2)
T8:  A (x+1)000| >0 0y  →[22]  A     x0| >0 000(y+2)

Combining these, we can show, for any integers x and b and any string s:

T9: A x|sb0| >0 0y  →  x0| >0 0 (2*s) (y+2*(b+1))

Going right

T10:  A  x| >0 (y+3)   →[15]    (x+1)0| >0 y
T11:  A  x| >0 20      →[27]    (x+2)0| >0
T12:  A  x| >0 2(y+2)  →[17]   (x+1)|1| >0 y
T13:  A  x| >0 4       →[21]    (x+1)1| >0
T14:  A  x| >0 6       →[30]   (x+1)10| >0 0
T14:  A   | >0 80      →[127]        0| >0 0026

It is much less clear what is going on here, but we can see the