Turing machines Barath Raghavan
Transcript of Turing machines Barath Raghavan
Theory ofComputation
Turing machines
Barath RaghavanCS 361 Fall 2009Williams College
MISC
Homework 2 back
What isCOMPUTATION?
1. Computation without storage.(Finite automata, regular expressions)
2. Computation with storage.(Pushdown automata, context-free grammars)
3. Limits of computation.(Turing machines, undecidability)
4. Complexity of computation.(Complexity classes, reductions)
1. Computation without storage.(Finite automata, regular expressions)
2. Computation with storage.(Pushdown automata, context-free grammars)
3. Limits of computation.(Turing machines, undecidability)
4. Complexity of computation.(Complexity classes, reductions)
What isCOMPUTATION?
ALANTURING
What were the limitations of automata?
Suppose you have
infinite storage.
Direct access to storage.
Σ, ΓQ set of states
input, tape alphabet
transitionfunction
q0 ∈ Q start state
accept / rejectstates
TMs
δ : Q× Γ→ Q× Γ× {L, R}
Qaccept ∈ QQreject ∈ Q
Properties of a Turing Machine1. Has an infinite tape.
2. Can read/write from/to the tape.3. Can move left/right on the tape.
4. Has states and transitions that govern its actions.
L = {w#w | w ∈ {0, 1}∗}
How do we recognize this language?
Turing Machine Operation
1. Input starts on the tape.2. Rest of tape is blank.3. No blanks in input.4. TM follows transition rules.5. TM cannot move past left end of tape.6. TM halts on accept/reject.
L = {w#w | w ∈ {0, 1}∗}
How do we recognize this language?
A language is
Turing RecognizableorRecursively Enumerable if some TM recognizes it.
RELanguage Class
A language is
Decidableor
Recursiveif some TM decides it.
Language Class R
Turing machines are more powerful than
pushdown automata.
Let’s build something more powerful than a
Turing machine.
Suppose a Turing machine had
multiple tapes.
Suppose a Turing machine were
nondeterministic.
What if we had a machine that
enumeratedthe strings in a language?
A language is in
only if some enumerator
enumerates it.
RE
What else is equivalent to Turing Machines?
Universal Models of Computation
Lambda Calculus [Church 1936]
Turing Machines [Turing 1936]
Random Access Machines [von Neumann/Turing 1940s]
Programming Languages [Backus 1954]
Cellular Automata [Ulam/von Neumann 1966]
Every universal model of computation allows for
the design of algorithms.
Church-Turing thesis
For every algorithm that solves some problem there is a Turing Machine for that same problem.
Implications of the Church-Turing thesis:
1. No conventional language is more powerful than any other.
2. A problem that can’t be solved on a Turing machine can’t be solved.
Broad unresolved, potential implications of the Church-Turing thesis:
1. The universe is a Turing machine(or if not a Turing machine it still cannot be used for non-recursive computation.)
2. There is no problem solvable by a human brain that cannot be solved by a Turing machine.
As with all science,
this theory is falsifiable:
1. Devise a task a computer cannot do.2. Show that a physical process cannot be replicated by a digital computer.
Reading: Sipser 3.1-3.3