240 likes | 514 Views
The Church-Turing Thesis. Lecture by H. Munoz-Avila. We have the Notion of Turing Machines. Transitions: (( p , ),( q, R )) Here is a Turing machine “in action” http:// www.youtube.com / watch?v = FTSAiF9AHN4. The Church-Turing Thesis. Algorithms Turing Machines. Sounds Unbelievable.
E N D
The Church-Turing Thesis Lecture by H. Munoz-Avila
We have the Notion of Turing Machines • Transitions: ((p,),(q,R)) • Here is a Turing machine “in action” • http://www.youtube.com/watch?v=FTSAiF9AHN4
The Church-Turing Thesis Algorithms Turing Machines
Sounds Unbelievable • We are so used to programming scripting languages • Things like (in tolua, a variant of Lua that allows C++ constructs):
But Actually it is not so “unbelievable” Can be translated into C++ (not an actual translation of the code above)
But Actually it is not so “unbelievable” Can be translated into C (not an actual translation of the code above)
But Actually it is not so “unbelievable” can be translated into C kernel (not an actual translation of the code above)
But Actually it is not so “unbelievable” can be translated into Assembler (not an actual translation of the code above)
But Actually it is not so “unbelievable” Can be ran by the Von Neumann machine
But Actually it is not so “unbelievable” • We have the same basic elements in Turing Machines: • We can do arithmetic • Control • And a lot of memory!
So Why is it Called a “Thesis” • There is no precise notion for “algorithm” • Of course there is a precise notion for a C++ program • But how does programs will look like 40 years from now? • Think how programs looked like 40 years ago • So we have a “moving target”
A Bit of History • Das Entscheidungsproblem (Hilbert, 1928) • Is there a decider for First-order logic? • Vollständigkeit des Logikkalküls (Gödel, 1929) • Church developed -calculus and proved that the Entscheidungsproblem cannot be solved (1936) • impossible to prove that two -calculus are equivalent • Turing proved that the Halting problem can be reduced to the Entscheidungsproblem • And hence it cannot be solved (1936)
Three Equivalent Formalisms • -calculus • Recursive functions • Turing machines
LISP (defun palindrome( L ) (cond ((null L) T ) ((equal (car L) (car (last L))) (palindrome (cdr (reverse (cdr L))))))) (inspired by -calculus)
Prolog palCheck(List) :- reverse(List,List). reverse(L1,L2) :- rev(L1,[],L2). rev([],L,L). rev([H|L],L2,L3) :- rev(L,[H|L2],L3). (inspired by recursive functions)
Not an Accident • Any algorithm written in any one of these languages can be written in any of the other ones • Researchers sometime refer to programming languages having this property as Turing-complete • Examples of Turing-complete languages: C, C++, java, LISP, Prolog, … • Examples that are not: Context-free languages, “STRIPS” planning, LOOP
What Comes Next • Study some difficult problems that are in fact decidable • Study some harder problems that are: • Not decidable but recognizable • Problems that are not even recognizable • By the Church-Turing thesis, no algorithm exists that solves problems in (1) and (2)