Yesterday was Alan Turing’s birthday, so today we will write a program for a turing machine.
The Busy Beaver is a turing machine that performs the maximum work for a given configuration of machine; the concept was invented by Tibor Radó in his 1962 paper On Non-Computable Functions. We won’t look at the underlying theory, although it is fascinating if you have the time. Instead, we’ll be content to implement the first few busy beavers. Here are the two-symbol busy beavers for one, two, three and four states, from Wikipedia; the two symbols are 0 and 1, the states are letters A through D plus the halting state H, and the moves L and R are left and right:
|
A |
B |
C |
0 |
1RB |
0RC |
1LC |
1 |
1RH |
1RB |
1LA |
|
A |
B |
C |
D |
0 |
1RB |
1LA |
1RH |
1RD |
1 |
1LB |
0RC |
1LD |
0RA |
Your task is to implement the four busy beavers. When you are finished, you are welcome to read or run a suggested solution, or to post your own solution or discuss the exercise in the comments below.
Pages: 1 2