Problem 3: Busy Beaver Turing Machines
In this problem we consider a class of Turing Machines with n-states whose sole objective is to write as many '1's onto an empty, all '0', tape as possible and then halt. The machine that writes the highest number of '1's is called the n-state "Busy Beaver".
Each Busy-beaver Turing machine has n-states labeled {S1, S2, ... Sn, H}, it machine begins in state S1 and halts by transitioning to the special state H. Each cell of the Turing machine's tape contains either a '1' or a '0', and each move of the Turing machine is its current state and the value of the tape cell under the tape head. A move consists of first modifying the contents of the current tape cell under the head of the Turing machine, moving the tape either left, L, or right, R, followed by a transition to the next state.
The following truth table specifies the behavior of a 3-state Busy Beaver.
Current State | Tape Value | Write Tape | Move Tape | Next State
S1 | 0 | 1 | L | S3
S1 | 1 | 1 | R | S2
S2 | 0 | 1 | R | S3
S2 | 1 | 1 | R | H
S3 | 0 | 1 | R | S1
S3 | 1 | 1 | L | S3
A. How large of a ROM is required to implement an n-state Busy Beaver that adheres to the given specification (give the number of words and the bits-per-word)? Ignoring the possibility of equivalent machines, in general how many n-state Turing machines are there?
B. What will the 3-state Busy Beaver given above leave on the tape when it halts? Show the result of each step by indicating the current state and the contents of the tape with the head position indicated by square brackets as shown below for the first two states.
S1: ... 0 0 0 0 0 0 0 0 0 0[0]0 0 0 0 0 0 0 0 0 0 ...
S3: ... 0 0 0 0 0 0 0 0 0[0]1 0 0 0 0 0 0 0 0 0 0 ...
C. Design a 2-state Turing Machine that writes as many "1"s as possible onto an all zero (in both directions) tape and then halts. Hint: you can write at most four "1"s.
Current State | Tape Value | Write Tape | Move Tape | Next State
S1 | 0 |
S1 | 1 |
S2 | 0 |
S2 | 1 |
D. Suppose that we choose to ignore the value of the cell under the read head, thus turning our Turing machine into a finite-state machine. In this case, how many "1"s can we write with an FSM that has n states?