Close
Register
Close Window

CS4114 Coursenotes

Chapter 8 Week 10

Show Source |    | About   «  8.2. Decideability vs. Acceptability   ::   Contents   ::   8.4. Turing Machine Extensions  »

8.3. Combining Turing Machines

8.3.1. An Important TM

Settings

Proficient Saving... Error Saving
Server Error
Resubmit

8.3.2. .

.

8.3.3. Combining Turing Machines

Turing machine computations can be combined into larger machines:
\(M_2\) prepares string as input to \(M_1\).
\(M_2\) passes control to \(M_1\) with I/O head at start of input.
\(M_2\) retrieves control when \(M_1\) has completed.

8.3.4. Some Basic Machines and Notation

\(|\Sigma|\) symbol-writing machines (one for each symbol)
Any give letter \(\sigma\) has a symbol-writing machine named \(\sigma\)
Head-moving machines, name R and L, move the head appropriately
Start state indicated with >
Transitions on anything other than the given symbol (for example, #) are labeled \(\overline{\#}\)
Multiple copies of a machine get a superscript: \(R^2\) means move right twice.

8.3.5. More Machines

First do \(M_1\), then do \(M_2\) or \(M_3\) depending on current symbol.

(For \(\Sigma = \{a, b,c\}\)) Move head to the right until a blank is found.

8.3.6. More Machines (2)

Find first blank square to left: \(L_{\#}\)

8.3.7. More Machines (2)

Shift a string left.

Notice: The last step is “L#”, NOT with # a subscript! Meaning, “move left, then write #”. NOT “Move left until you see a #”.

8.3.8. More Machines (3)

Copy Machine: Transform \(\#w\underline{\#}\) into \(\#w\#w\underline{\#}\).

8.3.9. Turing’s Thesis

You now have some intuition for what can be accomplished by a Turing Machine
Acceptor, transducer, math computations
Might be painful to write in “machine code”, but possible
And we have the beginnings of a more powerful graphical language to express our ideas
Turing Thesis: Any computation that can be carried out by mechanical means can be performed by some Turing machine.
How would we prove or disprove this?
[Technically, we can’t, unless we could really nail down the meaning of “mechanical means”]

8.3.10. Formal Concept of Algorithm

A useful working definition:
An algorithm to compute a function is a Turing Machine program that solves it.
Using this definition lets us reason formally about what problems (functions) do or do not have algorithms.

   «  8.2. Decideability vs. Acceptability   ::   Contents   ::   8.4. Turing Machine Extensions  »

nsf
Close Window