Church's Thesis (Church-Turing Thesis)
Church's Thesis (Church-Turing Thesis)
(Church-Turing Thesis)
An algorithm is a formal procedure that halts.
Examples:
unrestricted grammars
lambda calculus
cellular automata
DNA computing
quantum computing (?)
The Unsolvability of the Halting Problem
Suppose we could implement
HALTS(M,x)
M: string representing a Turing Machine
x: string representing the input for M
If M(x) halts then True
else False
TROUBLE(x)
x: string
If HALTS(x,x) then loop forever
else halt
Why?
"M""w" pairs
Other Undecidable Problems About
Turing Machines
i A B
1 10 101
2 011 11
3 101 011
Some Languages Aren't Even Recursively
Enumerable
A pragmatically non RE language:
Why not?
Reduction
Example:
L1 = {a, b : a,b N : b = a + 1}
= Succ
a, b becomes Succ(a), b
L2 = {a, b : a,b N : a = b}
x
M1 x L1?
y = M2 yes yes
y L2? no
(x) no
y = M2 halt halt
y L2?
(x)
Reduce L1 to L2: L1
L1 = L2 + (now - 4/9/1865)
L2
Reduce L2 to L1: L2
L2 = L1 - (now - 4/9/1865)
L1
Why Backwards Doesn't Work, Continued
L1 = days since beginning of universe
L2 = elapsed days between the beginning of the
universe and the assassination of Abraham Lincoln.
L3 = days between the assassination of Abraham
Lincoln and now.
Considering L2: L1
Reduce L1 to L2:
L1 = L2 + (now - 4/9/1865) L2
Reduce L2 to L1: L2
L2 = L1 - (now - 4/9/1865)
L1
Considering L3: L1
Reduce L1 to L3:
L1 = oops L3
Reduce L3 to L1: L3
L3 = L1 - 365 - (now - 4/9/1866)
L1
Is There Any String on Which M Halts?
L1 = H = {s = "M" "w" : Turing machine M
halts on input string w}
Examples:
L contains only even length strings.
L contains an odd number of strings.
L contains all strings that start with "a"
L is infinite
L is regular
Note:
Rice's theorem applies to languages, not machines.
So, for example, the following properties of machines
are decidable:
M contains an even number of states
M has an odd number of symbols in its tape
alphabet
Of course, we need a way to define a language. We'll
use machines to do that, but the properties we'll deal
with are properties of L(M), not of M itself.
Proof of Rice's Theorem
Proof: Let P be any nontrivial property of the RE
languages.
L1 = H = {s = "M" "w" : Turing machine M
halts on input string w}
Example 2:
L = {s = "M1" "M2": L(M1) = L(M2)}.
Why?
If M does not halt on w, then M* accepts (which is
regular).
If M does halt on w, then M* accepts H (which is not
regular).
Undecidable Problems About
Unrestricted Grammars
Then
("M" "w") = "G" "w"
Then
("G") = "G" "G*"
y = M2 halt halt
y L2?
(x)
M1
M* halt halt
M2
M*
x w halt halt
M
Semidecidable Recursively
Enumerable Enumerable
Unrest. grammar