In spirit, this is possible. However the book's software only allows us to use
10 differents states. This task seems to need more states.
Program: multiply.dat
Please use your browser to save the file multiply.dat to your computer. For instance, to save
the program if you are using Internet Explorer as your browser, click
the right mouse button on the multiply.dat
link, and select "Save Target As...".
Once you have it saved, you can run the ITM
software of [DH],
click on the "Open" button and specify the
saved file, wherever you chose to save it on your computer.
If that does not work, you can type the program in from scratch.
| Rule# |
Input State |
Input Symbol |
Output State |
Output Symbol |
Move |
| 1 | 1 | b | 2 | b | R |
| 2 | 2 | 1 | 2 | 1 | R |
| 3 | 2 | b | 3 | b | L |
| 4 | 3 | X | 4 | 1 | L |
| 5 | 3 | 1 | 3 | 1 | L |
| 6 | 3 | b | clean | b | R |
| 7 | 4 | 1 | 4 | 1 | R |
| 8 | 4 | X | 4 | X | R |
| 9 | 4 | b | 5 | b | R |
| 10 | 5 | 1 | 5 | 1 | R |
| 11 | 5 | X | 5 | X | R |
| 12 | 5 | b | 6 | b | L |
| 13 | 6 | X | 6 | X | L |
| 14 | 6 | 1 | 7 | X | R |
| 15 | 6 | b | RESET | b | R |
| 16 | 7 | X | 7 | X | R |
| 17 | 7 | b | 8 | b | R |
| 18 | 8 | 1 | 8 | 1 | R |
| 19 | 8 | b | 9 | 1 | L |
| 20 | 9 | 1 | 9 | 1 | L |
| 21 | 9 | b | 6 | b | L |
Here is the general design:
look for 1 in first number. If none left, go to cleanup
Else, change to x, then go to the blank before output
Copy:
back up to find leftmost 1 in the second number
change to X
place an additional 1 at end of output
return to the beginning of output
when no more 1's, change all x's back to 1's. Then go to the blank
between two numbers.
Cleanup:
erase first original number
erase second original number
Michael Goldwasser
Last modified: Fri Nov 16 23:17:26 CST 2001