Church-Turing thesis
[2/50%]We present RAM's in more detail. A RAM is defined by a list of instructions, numbered from 1 to . An instruction is of one of the types shown in Figure 4.17. (Note: We only list the instructions in the form of using direct addressing. As discussed in the text, they can also use constants or indirect addressing.) Initially, all registers of a RAM contain
| Instruction | Meaning |
|---|---|
| read the next input integer into | |
| write | write on the output tape |
| write to | |
| write to | |
| write to | |
| write to | |
| write to (write 0 if) | |
| goto() | go to the instruction |
| IF-THEN | if then go to the instruction |
| : Figure 4.17: Instructions of a RAM. |
value 0, the output tape is "empty" (indicated by a special symbol, e.g., B), and the input tape contains a finite number of nonnegative integers , stored in cells 1 to , and cell is empty. The RAM begins with instruction 1 and, after finishing each instruction , it goes to instruction if instruction is one of the first seven types, or it goes to the instruction as defined in instruction if instruction is one of the last two types. The RAM halts when it reaches an instruction .
For any RAM , we let . We say computes a function if, on input halts with outputs .
Design a RAM that computes the function sort of Exercise 5(e) of Section 4.3.
Show the details of a multi-tape DTM that simulates the instruction of a RAM.
Show that every Turing-computable partial function , as defined in Section 4.2, is computable by a RAM.
Explain why the following is not a description of a legitimate Turing machine. "On input , a polynomial over variables :
- Try all possible settings of to integer values. 2. Evaluate on all of these settings. 3. If any of these settings evaluates to 0, accept; otherwise, reject."