Title: The Church-Turing Thesis
1The Church-Turing Thesis
Giorgi Japaridze Theory of
Computability
Chapter 3
2What is this course about?
Giorgi Japaridze Theory of Computability
3.0.a
- Main questions that will be asked and answered
-
- What does computation mean?
- What can be computed and what can not?
- How quickly?
- With how much memory?
3Preliminaries
Giorgi Japaridze Theory of Computability
3.0.b
Alphabet --- a finite set of objects called the
symbols of the alphabet. E.g. ?
a,b,,z ? 0,1
? 0,1,
String over ? --- a finite sequence of symbols
from ?. E.g. x 01110 is a string over ?.
x5 --- the length of x is 5.
The empty string is denoted ?. ?0.
Concatenation xy of the strings x and y ---
the
result of appending y at the end of x.
k
xk --- xxx
Language --- a set of strings
4Components of a Turing machine (TM)
3.1.a
Giorgi Japaridze Theory of Computability
a a b a b b - - -
- - -
(Q,?,?,?,start,accept,reject)
- Q is the set of states
- ? is the input alphabet not containing the blank
symbol - - ? is the tape alphabet, where -?? and ???
- ? is the transition function of the type Q???
Q???L,R - start,accept,reject ?Q, where reject?accept
the states - accept and reject are called halting
states. - There are no transitions from the halting states,
and they immediately take effect!
x?y,R
q1
q2
If the current tape symbol is x, replace
it with y, move the head right and go to q2.
The label x?x,R is simply written as x?R.
If we here have L instead of R, then the head is
moved left, unless it was on the first cell, in
which case it remains where it was.
5How a Turing machine works
3.1.b
Giorgi Japaridze Theory of Computability
0 ? L x ? L
q5
x?R
- ? R
- ? L
x?R
start
q2
q3
0?x,R
0? -,R
- ? R
0? x,R
0?R
x?R
q4
accept
reject
- Configuration
- Current state
- Tape contents
- Head position
- ? R
-xq50x
-
x
0
x
-
-
-
-
-
-
-
6Definitions
3.1.c1
Giorgi Japaridze Theory of Computability
A TM accepts an input string iff, on this
input, sooner or later it enters the accept
state. Otherwise the
string is considered rejected.
- Thus, the input is rejected in two cases
- The machine enters the reject state at some
point, or - The machine never halts (never enters a halting
state).
A Turing machine is said to be a decider iff it
halts on every input.
The language recognized by a TM --- the set the
strings that TM accepts If this machine is a
decider, then we say that it not only
recognizes, but also decides that language.
A language is said to be Turing-recognizable iff
some TM recognizes it. A language is said to be
Turing-decidable iff some TM decides it.
7Recognizing vs. deciding
3.1.c2
Giorgi Japaridze Theory of Computability
accept
0 ? R
- ? R
- ? R
0 ? R
reject
What language does the above machine
recognize? Does it decide that language?
accept
0 ? R
- ? R
0 ? R
- ? R
reject
What language does the above machine
recognize? Does it decide that language?
8Diagrams without the reject state
3.1.d
Giorgi Japaridze Theory of Computability
0 ? L x ? L
x?R
q5
- ? R
- ? L
start
x?R
q2
q3
0?x,R
0? -,R
- ? R
0?R
0? x,R
accept
x?R
q4
The reject state can be safely removed. It will
be understood that all the missing transitions
lead to the reject state.
9Designing TM Example 1
3.1.e1
Giorgi Japaridze Theory of Computability
Design a TM that recognizes (better decides)
?n ?m nm
1. Sweep left to right across the tape, testing
if the input has the form ?? if not, reject
if yes, go back to the beginning of the tape And
go to step 2 (state q3).
??L ?L x ?L - ?L
??R
??R
?R
- ?L
?R
start
q1
q2
q9
? L
q3
10Designing TM Example 1
3.1.e2
Giorgi Japaridze Theory of Computability
2. Keep going to the right, replace the first ?
you see before with x and go to step 3 (state
q5) if you reach without seeing a ?, go to
step 4 (state q6).
x?R
??x,R
q4
q3
q5
?R
?R
q6
11Designing TM Example 1
3.1.e3
Giorgi Japaridze Theory of Computability
3. Keep going to the right, pass and then
replace the first ? you see with x and go to the
beginning of the tape, step 2 (this can be done
by going to state q9) if you reach a blank
without seeing a ?, reject.
q9
??x,R
??R
?R
x?R
q7
q5
12Designing TM Example 1
3.1.e4
Giorgi Japaridze Theory of Computability
4. Keep going to the right as long as you see x.
If you see a ? before reaching a blank, reject
otherwise accept.
x?R
- ?R
accept
q6
13Designing TM Example 2
3.1.f
Giorgi Japaridze Theory of Computability
Design a TM that decides ?n lt?m nltm
??L lt ?L x ?L
??L lt ?L x ?L - ?L
??R
??R
lt ?R
- ?L
?R
start
q1
q2
q9
? L
??x,R
x?R
??R
??x,R
lt ?R
x?R
q3
q4
q7
q5
?R
x?R
lt ?R
??R
accept
q6
14Designing TM Example 3
3.1.g
Giorgi Japaridze Theory of Computability
Design a TM that decides ?n ?m ?k
nmk
?L ??L ?L x ?L - ?L
??R
??R
??R
?R
- ?L
?R
?R
start
q1
q2
q9
q0
? L
??x,R
x?R ?R
??R ?R
??x,R
?R
x?R
q3
q4
q7
q5
?R
x?R
?R
- ?R
accept
q6
15Designing TM Example 4
3.1.h
Giorgi Japaridze Theory of Computability
Design a TM that decides ?n ??m ?k
n?mk
Step 1 Check if the string has the form ?
?? ? . If not, reject If yes, go back to
the beginning of the tape, step 2.
Step 2 Find the first ? between and ?, delete
it and go to step 3 If no such ? was found, go
to step 5.
Step 3 Find the first ? between ? and , delete
it and go to step 4 If no such ? was found, go
to the beginning of the tape, restoring on the
way back all the deleted ? between ? and , and
go to step 2.
Step 4 Find the first ? after , delete it, go
back to ?, and go to step 3 If no such ? was
found before seeing a blank, reject.
Step 5 Go right past if no ? is found there
before reaching a blank, Accept otherwise reject.
?
?
?
?
?
?
?
?
?
?
?
?
-
16Testing whether the head is at the beginning of
the tape
3.1.i
Giorgi Japaridze Theory of Computability
Design a fragment of a TM that, from a state
Beg?, goes to a state Yes or No,
depending on whether you are at the beginning of
the tape or not, without corrupting the
contents of the tape.
Tape alphabet x1,,xn
Add a new tape symbol
- Read the current symbol, remember it, type , and
move left - Read the current symbol.
- If it is , restore the remembered
symbol and go to Yes. - If it is not , move right, restore
the remembered symbol and go to No.
x1,,xn ?R
a1
b1
?x1,L
?x1,R
x1 ?,L
?L
Beg?
Yes
No
Temp
xn ?,L
?xn,L
?xn,R
x3
x7
an
bn
x1,,xn ?R
Beg?
17Implementing the go to the beginning of the
tape operation
3.1.j
Giorgi Japaridze Theory of Computability
Design a fragment of a TM that, from a state Go
to the beginning, goes to the beginning of the
tape and state Done.
Move left and test if you are at the beginning of
the tape. If yes, go to Done.
If not, repeat the step.
?R
No
?L
?L
Done
Go to the beginning
Beg?
?L
Yes
?R
18Shifting tape contents
3.1.k
Giorgi Japaridze Theory of Computability
Design a fragment of a TM that, beginning from
the current cell, shifts the contents of the
tape right, typing in the current cell a 0.
Assume the tape alphabet is 0,1,-.
- If the current symbol is blank, type 0 and you
are done. - Read the current symbol, remember it, type 0 and
move right. - While the current symbol is not -, remember it,
type - the previously remembered symbol and move
right. - 4. Once you see a blank, type the remembered
symbol - and you are done.
0?0,R
Remembered 0
0?0,R
- ?0,R
- ?0,R
Done
Shift
Done
0?1,R
1?0,R
- ?1,R
1?0,R
Remembered 1
1?1,R
19A TM for the element distinctness problem
3.1.l
Giorgi Japaridze Theory of Computability
Design a TM that decides the language Ex1x2
xn each xi?0,1 and xi?xj for each i?j
See page 147 for a description of such a TM
x1 x2 x3 x4 x5
20Turing machines with the stay put option
3.2.a
Giorgi Japaridze Theory of Computability
A transition of this type of machine may have
either L (move left), Or R (move right), or S
(stay put).
a?b,S
q1
q2
Replace a with b and go to state q2 without
moving the head
This does not increase the power of the machine,
because the above transition can be simulated
with the ordinary TM as follows
a?b,R
?L
q2
q1
21Multitape Turing machines
3.2.b
Giorgi Japaridze Theory of Computability
A multitape TM has k tapes, each with its own
read/write head. Initially, the input is written
on the first tape, and all the other tapes are
blank, with each head at the beginning of the
corresponding tape. For a 3-tape TM, a
transition will look like
0,1,1?1,0,1,R,R,L
q1
q2
- If you are in state q1 and see 0 on Tape1, 1 on
Tape2 and 1 on Tape3, - type 1 on Tape1, 0 on Tape2 and 1 on Tape3
- move Head1 right, Head2 right and Head3 left
- go to state q2.
22Multitape Turing machines Example
3.2.c
Giorgi Japaridze Theory of Computability
Design a fragment of a 2-tape TM that swaps the
contents of the tapes, from the position where
the heads are at the beginning and there are no
blanks followed by non-blank symbols. Tape
alphabet 0,1,-
0,0?0,0,R,R 0,1?1,0,R,R 0,- ? -,0,R,R 1,0?0,1,R,R
1,1?1,1,R,R 1,- ? -,1,R,R -,0?0,-,R,R -,1?1,-,R,R
-,- ?- ,-,L,L
Done
Swap
Tape1 Tape2
1
1
0
-
0
0
-
-
23Simulating multitape TM with ordinary TM
3.2.d
Giorgi Japaridze Theory of Computability
Theorem 3.13 Every multitape TM M has an
equivalent single-tape TM S.
Proof idea The tape contents and the head
positions of M can be represented on the single
tape of S and correspondingly updated as shown
on the following example for a 3-tape M S
follows the steps of M and accepts iff M
accepts.
Tape1 M Tape2
Tape3 S
0
0
1
-
q0
-
-
-
-
-
-
-
-
0
0
1
-
-
-
-
-
-
-
-
-
-
-
-
24Nondeterministic Turing machines
3.2.e
Giorgi Japaridze Theory of Computability
A nondeterministic TM is allowed to have more
than one transition for a given tape
symbol A string is accepted iff one of the
possible branches of computation takes us to the
accept state.
q2
a?b,R
q1
a?c,L
q3
Theorem 3.16 Every nondeterministic TM has an
equivalent deterministic TM.
Proof omitted. Idea Simulate every possible
branch of computation in a breadth-first manner.
25Turing machines with an output(not in the
textbook!)
3.2.f
Giorgi Japaridze Theory of Computability
The only difference with ordinary TM is
that a TM with an output (TMO) has a state halt
instead of accept and reject if and when such a
machine reaches the halt state, the contents of
the tape (up to the first blank cell) will be
considered its output.
Example Design a machine that, for every input
w?0,1, returns w0.
26Computable functions
3.2.g
Giorgi Japaridze Theory of Computability
A function g ?? ? is said to be
computable, iff there is a TMO M such that for
every input w?? M returns the output u with
ug(w). In this case we say that M computes g.
Example Let f 0,1 ?0,1 be the function
defined by
f(w)w0, so that f(?)0, f(0)00, f(1)10,
f(00)000, f(01)010, etc. Then obviously f
is computable.
The graph of a function g ?? ? is the language
(w,u) w??,
ug(w) E.g., the graph of the above function f
is (?,0), (0,00), (1,10), (00,000),
(01,010), ,
i.e. (w,u) w?0,1, uw0
27Computability vs. decidability
3.2.h
Giorgi Japaridze Theory of Computability
Theorem A function is computable iff its graph
is decidable.
Proof sketch. Let g ?? ? be a function. (?)
Suppose C is a TMO that computes g. Construct a
TM D that works as follows D On
input t 1. If t does not have
the form (w,u), where w,u??, then reject.
Otherwise, 2. Simulate C for
input w. If it returns u, accept otherwise
reject.
(?) Suppose a TM D decides the graph of g. Let
s1,s2,s3, be the lexicographic list of all
strings over the alphabet ?. Construct a TMO C
that works as follows C On input t
Simulate D for each of the
inputs (t,s1), (t,s2),(t,s3), until you find si
suct that (t,si) is
accepted, and return this si
28Algorithms
3.3.a
Giorgi Japaridze Theory of Computability
The intuitive notion of algorithms An algorithm
(procedure, recipe) is a collection of simple
instructions for carrying out some task.
- Examples
- The elementary school algorithms for adding,
subtracting, multiplying, - dividing, etc.
- Calculating students average grades
- Sorting algorithms
- Any other procedures that Professor Zhu DaMing
has taught you.
To carry out an algorithm, you only need to
mechanically (blindly) follow its instructions.
No understanding of the objects you are
manipulating, no understanding of what you are
doing is needed!
We need a strict mathematical definition of an
algorithm. The above definition obviously does
not qualify.
29Algorithms should deal with strings
3.3.b
Giorgi Japaridze Theory of Computability
The structure of an algorithm
Input(s) Output or Input(s)
Yes (accept) or No (reject)
The attempt to formalize the notion of algorithm
should start from strictly specifying what kind
of objects can be inputs/outputs.
These are going to be only.
strings
No loss of generality non-string objects can be
easily represented with strings. A tuple of such
objects can also be represented with a (one
single) string.
After all, computers exclusively deal with
strings --- strings over the alphabet 0,1 !
30Encoding
3.3.c
Giorgi Japaridze Theory of Computability
Encoding --- representing objects as strings in
some standard way. There are usually many ways
to encode as one encoding can be easily
(algorithmically) converted into another, it does
not matter which encoding we choose.
Encoding numbers 0,1,2,3,,34,, or
0,1,10,11,,100010,
Encoding pairs of numbers (4,2), (1,3), , or
42, 13,, or aaaabb, abbb,
Encoding people David Stewart, Dongfei
Wei, , or Stewart, David, Wei, Dungfei,
or 315-21-5541, 326-11-1521
Encoding assembly language instructions Their
machine language equivalents.
If O is an object, ltOgt will stand for a (the)
encoding of O.
31Encoding graphs
3.3.d
Giorgi Japaridze Theory of Computability
1
2
3
G
ltGgt (1,2,3,4,5)((1,4),(1,5),(2,3),(4,5))
4
5
Algorithm M for checking if a graph is
connected M On input ltGgt, the
encoding of a graph G
1. Select the first node of G and mark it.
2. Repeat the following
stage until no new nodes are marked
3. For each node in G, mark
it if it is attached by an edge to a
node that is already
marked. 4. Scan all
the nodes of G to determine whether they all are
marked. If they
are, accept otherwise reject.
32The Church-Turing thesis
3.3.e
Giorgi Japaridze Theory of Computability
The Church-Turing thesis
(the intuitive notion of) Algorithm
Turing machine
It can never be mathematically proven!
Importance Without the Church-Turing thesis, you
can never prove that a certain problem has no
algorithmic solution.
Illustrative example Hilberts 10th problem (see
page 154 of textbook).