Chapter 3: The Church-Turing Thesis
For Your Enjoyment
Chapter 3.1, Turing Machines
High Level Overview
- Proposed by Alan Turing in 1936.
- Like a finite automaton, but has unlimited and unrestricted memory.
- Can solve any problem that is computable.
Turing Machine Features
- An infinite tape
- A read/write head that can read symbols from the tape and write symbols
to the tape.
- A read/write head that has the ability to move one square either left
or right on the tape.
- Accept and Reject states that take effect immediately.
High Level Example
Look at Figure 3.2 on page 167. The idea is to
recognize the language B = {w#w | w ∈ {0, 1}*}.
Turing Machine Definition
A Turing machine is a 7-tuple (Q, Σ, Γ, δ,
q0, qaccept, qreject) where
Q, Σ, Γ are finite sets and
- Q is the set of states,
- Σ is the input alphabet not containing the blank symbol,
- Γ is the tape alphabet, where the blank symbol ∈ Γ
and Σ ⊆ Γ,
- δ: Q × Γ → Q × Γ × {L, R} is
the transition function,
- q0 ∈ Q is the start state,
- qaccept ∈ Q is the accept state, and
- qreject ∈ Q is the reject state,
where qreject ≠ qaccept.
Active Learning Problems
- What is Σ in Figure 3.2?
- What is Γ in Figure 3.2?
- Assume that at the start of a computation, the input tape
contains 0100#0100 (followed by an infinite number of blank
symbols). What transitions are needed for the tape
to contain x100#x100 and for the read/write head to be positioned
on the #?
- A configuration of a Turing machine is u q v where
q is the current state of the machine and u v are the
contents of Γ. The first symbol of v is the location
of the read/write head. What is the starting configuration in
the bullet above?
Terminology
- ua qi bv yields u qj acv
if δ(qi, b) = (qj, c, L).
Note: u, v ∈ Γ* and
a, b, c ∈ Γ
- ua qi bv yields uac qj v
if δ(qi, b) = (qj, c, R).
Active Learning Problems
- Write the special cases for yields if the configuration is
qi bv.
- Explain why special cases are not needed for configuration
ua qi.
Terminology and Notation
- Special configurations include the start configuration,
accepting configuration, rejecting configuration
and halting configuration.
- A Turing Machine M accepts input w if a sequence
of configurations C1, ... Ck exist such that
C1 is the start configuration, each Ci yields
Ci+1 and Ck is an accepting configuration.
- The collection of strings that Turing Machine M accepts is the
language of M or the language recognized by M and is
denoted L(M).
- A language is Turing-recognizable if some Turing Machine
recognizes it.
- A language is Turing-decidable (or decidable) if
some Turing Machine decides it. To decide a language, the Turing
Machine must halt on all inputs. In other words, no infinite looping
is allowed. Every decidable language is Turing-recognizable, but
not vice-versa - stay tuned!