CHAPTER 3 The Church-Turing Thesis

Slides:



Advertisements
Similar presentations
Algorithms Sipser 3.3 (pages ). CS 311 Fall Computability Hilbert's Tenth Problem: Find a process according to which it can be determined.
Advertisements

Turing Machines Memory = an infinitely long tape Persistent storage A read/write tape head that can move around the tape Initially, the tape contains only.
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
The Big Picture Chapter 3. We want to examine a given computational problem and see how difficult it is. Then we need to compare problems Problems appear.
1 COMP 382: Reasoning about algorithms Unit 9: Undecidability [Slides adapted from Amos Israeli’s]
Foundations of (Theoretical) Computer Science Chapter 3 Lecture Notes (Section 3.2: Variants of Turing Machines) David Martin With.
Applied Computer Science II Chapter 3 : Turing Machines Prof. Dr. Luc De Raedt Institut für Informatik Albert-Ludwigs Universität Freiburg Germany.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Algorithms Sipser 3.3 (pages ). CS 311 Mount Holyoke College 2 Computability Hilbert's Tenth Problem: Find “a process according to which it can.
More Turing Machines Sipser 3.2 (pages ). CS 311 Fall Multitape Turing Machines Formally, we need only change the transition function to.
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
More Turing Machines Sipser 3.2 (pages ).
CS5371 Theory of Computation Lecture 11: Computability Theory II (TM Variants, Church-Turing Thesis)
Lecture 5 Turing Machines
Computation Theory Introduction to Turing Machine.
CHAPTER 4 Decidability Contents Decidable Languages
Foundations of (Theoretical) Computer Science
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 5 Reducibility Contents Undecidable Problems from Language Theory.
CS5371 Theory of Computation Lecture 10: Computability Theory I (Turing Machine)
January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.
Theory of Computation. Computation Computation is a general term for any type of information processing that can be represented as an algorithm precisely.
Lecture 14: Church-Turing Thesis Alonzo Church ( ) Alan Turing ( )
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Remaining Topics Decidability Concept 4.1 The Halting Problem 4.2
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
The class P Section 7.2 CSC 4170 Theory of Computation.
Theory of Computation, Feodor F. Dragan, Kent State University 1 TheoryofComputation Spring, 2015 (Feodor F. Dragan) Department of Computer Science Kent.
Decidable languages Section 4.1 CSC 4170 Theory of Computation.
The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Turing Machines.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 7 Time complexity Contents Measuring Complexity Big-O and small-o notation.
Turing -Recognizable vs. -Decidable
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 3 Church-Turing Thesis Some slides are.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich
Computability Review homework. Video. Variations. Definitions. Enumerators. Hilbert's Problem. Algorithms. Summary Homework: Give formal definition of.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
CS 461 – Oct. 28 TM applications –Recognize a language √ –Arithmetic √ –Enumerate a set –Encode a data structure or problem to solve Two kinds of TMs –Decider:
 2004 SDU 1 Algorithm Informally speaking, an algorithm is a collection of simple instructions for carrying out a task. Example:  Elementary arithmetic.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY * Read chapter 4 of the book for next time * Lecture9x.ppt.
Theory of Computational Complexity TA : Junichi Teruyama Iwama lab. D3
Chapters 11 and 12 Decision Problems and Undecidability.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
CSC 4170 Theory of Computation The class P Section 7.2.
CSC 4170 Theory of Computation The class P Section 7.2.
CSE 105 theory of computation
Predicates Predicate: A Boolean (yes-no) function. Example:
Chapter 9 TURING MACHINES.
Jaya Krishna, M.Tech, Assistant Professor
فصل سوم The Church-Turing Thesis
Jaya Krishna, M.Tech, Assistant Professor
Chapter 3 Turing Machines.
CSCI 2670 Introduction to Theory of Computing
CS21 Decidability and Tractability
Formal Languages, Automata and Models of Computation
Theory of Computability
CS21 Decidability and Tractability
The Church-Turing Thesis
Computer Language Theory
CSCI 2670 Introduction to Theory of Computing
Instructor: Aaron Roth
Theory of Computability
Presentation transcript:

CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples, Turing-recognizable and Turing-decidable languages Variants of Turing Machine Multi-tape Turing machines, non-deterministic Turing Machines, Enumerators, equivalence with other models The definition of Algorithm Hilbert’s problems, terminology for describing Turing machines

The definition of algorithm Informally, an algorithm is a collection of simple instructions for carrying out some task. Algorithms play an important role in CS and Math. Even though algorithms have had a long history in mathematics (finding prime numbers, greatest common divisors, …), the notion of algorithms itself was not defined precisely until the twentieth century. Before that, mathematicians had an intuitive notion of what algorithms were and relied upon that notion when using and describing them. The intuitive notion was insufficient for gaining a deeper understanding of algorithms. The story “Hilbert’s tenth problem” relates how the precise definition of algorithm was crucial to one important mathematical problem. In 1900, mathematician David Hilbert, in his lecture (at the International Congress of Mathematicians in Paris), identified twenty-three mathematical problems and posed them as challenge for the coming century. The tenth problem on his list concerned algorithms. Devise a process according to which it can be determined by finite number of operations whether a polynomial has an integral root.

Hilbert’s tenth problem A polynomial is a sum of terms, where each term is a product of certain variables and a constant called a coefficient. is a term with coefficient 6. is a polynomial with four terms over the variables x,y, and z. A root of a polynomial is an assignment of values to variables so that the value of the polynomial is 0. That polynomial has a root x=5, y=3, z=0. This root is integral since all the variables are assigned integer values. Some polynomials have an integral root and some do not. So, Hilbert’s tenth problem was to devise an algorithm that tests whether a polynomial has an integral root. We now know that no algorithm exists for this task; it is algorithmically unsolvable. For mathematicians of that period to come to this conclusion with their intuitive concept of algorithm would have been virtually impossible. The intuitive concept of algorithm may have been adequate for giving algorithms for certain tasks, but it was useless for showing that no algorithm exists for a particular task. Proving that an algorithm does not exist requires having a clear definition of algorithm. Progress on the tenth problem had to wait for that definition.

Church-Turing thesis The definition came in the 1936 papers of A. Church and A.Turing. Church used a notational system called -calculus to define algorithms. Turing did it with his ‘machines’. These two definitions were shown to be equivalent. This connection between the informal notion of algorithm and the precise definition has come to be called the Church-Turing thesis. Intuitive notion Turing machine of algorithms algorithms equals This thesis provides the definition of algorithm necessary to resolve Hilbert’s tenth problem. In 1970, Yuri Matijasevich showed that no algorithm exists for testing whether a polynomial has integral roots. Later we will see the techniques that form the basis for proving that this and other problems are algorithmically unsolvable.

Hilbert’s tenth problem(cont.) We formulate Hilbert’s tenth problem in our terminology. Let D = {p: p is polynomial with an integral root}. Hilbert’s tenth problem asks whether the language (set) D is decidable. The answer is negative. We can show that D is Turing-recognizable, but not decidable. Let first consider a simpler problem: it is an analog of Hilbert’s tenth problem for polynomials that have only a single variable, e.g. Let D1 = {p: p is polynomial over x with an integral root}. Here is a Turing machine M1 that recognizes D1: Clearly, if p has an integral root, M1 will find it and accept. If p does not have an integral root, M1 will run forever. For multivariable case, we can present similar Turing machine M that recognizes D. M will go through all possible settings of its variables to integral values. Both M1 and M are recognizers but not deciders. We can convert M1 to be decider for D1 since we can calculate bounds within which the roots of a single variable polynomial must lie and restrict the search to these bounds. If a root is not found within these bounds, the machine rejects. Matijasevich’s theorem shows that calculating such bounds for multivariable polynomials is impossible. M1= “ the input is a polynomial p over the variable x. Evaluate p with x set successively to the values 0,1,-1,2,-2,… . If at any point the polynomial evaluates to 0, accept.”

Terminology for describing Turing Machines Three variants of description. The formal description: spells out in full the Turing machine’s states, transition function, and so on. 2. The implementation description: uses English prose to describe the way that the Turing machine moves its head and the way that it stores data on its tape. 3. The high-level description: uses English prose to describe an algorithm, ignoring the implementation model. At this level we do not need to mention how the machine manages its tape or head. From now on we will use only high-level descriptions. The input to a TM is always a string. if we want to provide an object other than a string as input, we must first represent that object as a string. Strings can easily represent polynomials, graphs, grammars, automata, and any combination of those objects. Notation for the encoding of an object O into its representation as a string is <O>. A string <O1,O2,…,Ok> is the encoding of several objects O1,O2,…,Ok. We will use the following format for describing TM algorithms: We describe TM algorithm with an indented segments of text within quotes. We break the algorithm into stages, each usually involving many individual steps of the TM’s computation. The first line of the algorithm describes the input to the machine. If the input is simply w, the input is taken to be a string w. If the input is the encoding of an object as in <A>, the TM first implicitly tests whether the input properly encodes an object of the desired form and rejects it if it doesn’t.

Example Let A be the language consisting of all strings representing undirected graphs that are connected. Graph is connected if every node can be reached from every other node by traveling along the edges of the graph. We write A = {<G>: G is a connected undirected graph}. The following is a high-level description of a TM M that decides A. M = “On input <G>, the encoding of a graph G: Select the first node of G and mark it. Repeat the following stage until no new nodes are marked. For each node in G, mark it if it is attached by an edge to a node that is already marked. Scan all the nodes of G to determine whether they all are marked. If they are, accept; otherwise reject.” 4 G = <G >= (1,2,3,4)((1,2), (2,3), (3,1), (1,4)) 1 2 3 A graph G and its encoding <G>.

Homework Problems: 3.9 (page 148 of the textbook); 3.13 and 3.15 (page 149 of the textbook).