Title: The Church-Turing Thesis
1The Church-Turing Thesis
Giorgi Japaridze Theory of
Computability
Episode 1
2Components of a Turing machine (TM)
1.1.a
Giorgi Japaridze Theory of Computability
a a b a b b - - -
- - -
(Q,?,?,?,start,accept,reject)
- Q is thefinite 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.
3How a Turing machine works
1.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
start0000
0
0
0
0
-
-
-
-
-
-
-
4Main Definitions
1.1.c1
Giorgi Japaridze Theory of Computability
A TM accepts an input string iff, on that
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
(explicitly rejects), - or the machine never halts (non-explicitly
rejects).
A Turing machine is said to be a decider iff it
halts on every input.
The set recognized by a TM M is the set of the
strings that M accepts. If such an M is a
decider, then we say that it not only recognizes,
but also decides that set.
- A set is said to be decidable (????) iff some TM
decides it. - A set is said to be recognizable (????) iff some
TM recognizes it. - Synonyms of recognizable are semidecidable
(?????) and - recursively enumerable (??????).
-
5Recognizing vs. deciding
1.1.c2
Giorgi Japaridze Theory of Computability
accept
start
0 ? R
- ? R
- ? R
0 ? R
reject
What set does the above machine recognize? Does
it decide that set?
0
No.
start
accept
0 ? R
- ? R
0 ? R
- ? R
reject
0
What set does the above machine recognize? Does
it decide that set?
Yes.
6Diagrams without the reject state
1.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.
7Designing TM Example 1
1.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
8Designing TM Example 1
1.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
9Designing TM Example 1
1.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
10Designing TM Example 1
1.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
11Designing TM Example 1
1.1.e4
Giorgi Japaridze Theory of Computability
??L ?L x ?L - ?L
??R
??R
?R
- ?L
?R
start
q1
q2
q9
? L
??x,R
x?R
??R
??x,R
?R
x?R
q3
q4
q7
q5
?R
x?R
?R
- ?R
accept
q6
-
-
-
?
?
?
?
?
?
?
?
12Designing TM Example 2
1.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
13Designing TM Example 3
1.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
14Designing TM Example 4
1.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.
?
?
?
?
?
?
?
?
?
?
?
?
-
15Testing whether the head is at the beginning of
the tape
1.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
an
bn
x1,,xn ?R
16Implementing the go to the beginning of the
tape operation
1.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
17Shifting tape contents
1.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,-.
Additionally assume that every cell after the
leftmost blank cell is also blank.
- 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
18A TM for the element distinctness problem
1.1.l
Giorgi Japaridze Theory of Computability
Design a TM that decides the set Ex1x2xn
each xi?0,1 and xi?xj for each i?j
x1 x2 x3 x4 x5
x1 x2
x3 x4
0
1
1
0
1
0
1
0
1
0
-
19Turing machines with the stay put option
1.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
20Multitape Turing machines
1.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.
21Multitape Turing machines Example
1.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
-
-
22Simulating multitape TM with ordinary TM
1.2.d
Giorgi Japaridze Theory of Computability
Theorem 1.1 Every multitape TM M has an
equivalent single-tape TM S.
Proof idea The 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
1
1
1
-
q2
0
-
-
-
1
0
-
-
.
.
1
1
1
0
-
1
0
-
-
-
-
23Turing machines with an output(not in the
textbook!)
1.2.e
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.
0?R 1?R
- ?0,R
halt
24Computable functions
1.2.f
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 set
(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
25Computability vs. decidability
1.2.g
Giorgi Japaridze Theory of Computability
Theorem 1.2 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
26Algorithms
1.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, - etc.
- Calculating students average grades
- Sorting algorithms
- Any other procedures that youve learned in
the Algorithms course.
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.
27Algorithms should deal with strings
1.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 !
28Encoding
1.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.
29Encoding graphs
1.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.
30The Church-Turing thesis
1.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.
Example - Hilberts 10th problem .
31The three levels of TM descriptions
1.3.f
Giorgi Japaridze Theory of Computability
1. Formal description The TM is fully
described, say, by giving a transition diagram,
or list of states, input/tape alphabets, a
table for the transition function.
Examples Slides 1.1.b, 1.1.f, etc.
2. Implementation description English is
used to describe the way that the machine moves
its head and stores data on its tape.
Details of states or transition functions
are not given. Example Slide 1.1.h.
3. High-level description English is used to
describe the algorithm, without worrying about
implementation-level details. There is no
mention of head, tape etc. Example Slide
1.3d. All the
algorithms taught in an Algorithms course.