CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

Similar documents
CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

The Church-Turing Thesis

Turing Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA

Chapter 3: The Church-Turing Thesis

CSCC63 Worksheet Turing Machines

CS21 Decidability and Tractability

Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite

Theory of Computation (IX) Yijia Chen Fudan University

CSE 105 THEORY OF COMPUTATION

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Computability Theory. CS215, Lecture 6,

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 16 : Turing Machines

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 14 : Turing Machines

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

Harvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis

Foundations of

Recap DFA,NFA, DTM. Slides by Prof. Debasis Mitra, FIT.

CS4026 Formal Models of Computation

Computational Models - Lecture 6

Variants of Turing Machine (intro)

Turing Machines (TM) The Turing machine is the ultimate model of computation.

Most General computer?

Introduction to Turing Machines

TURING MAHINES

UNRESTRICTED GRAMMARS

V Honors Theory of Computation

An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM

Further discussion of Turing machines

Theory of Computation

CSE 105 THEORY OF COMPUTATION

Turing Machines. Lecture 8

CSE 105 THEORY OF COMPUTATION

Turing Machines (TM) Deterministic Turing Machine (DTM) Nondeterministic Turing Machine (NDTM)

CS 301. Lecture 17 Church Turing thesis. Stephen Checkoway. March 19, 2018

The Turing machine model of computation

More Turing Machines. CS154 Chris Pollett Mar 15, 2006.

An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM

7.1 The Origin of Computer Science

Decidability (What, stuff is unsolvable?)

1 Unrestricted Computation

Fundamentals of Computer Science

Chapter 1 - Time and Space Complexity. deterministic and non-deterministic Turing machine time and space complexity classes P, NP, PSPACE, NPSPACE

Testing Emptiness of a CFL. Testing Finiteness of a CFL. Testing Membership in a CFL. CYK Algorithm

Busch Complexity Lectures: Turing s Thesis. Costas Busch - LSU 1

ECS 120 Lesson 15 Turing Machines, Pt. 1

Turing Machine Variants

Midterm Exam 2 CS 341: Foundations of Computer Science II Fall 2018, face-to-face day section Prof. Marvin K. Nakayama

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) October,

THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET

Part I: Definitions and Properties

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational

CSCE 551: Chin-Tser Huang. University of South Carolina

Time Complexity (1) CSCI Spring Original Slides were written by Dr. Frederick W Maier. CSCI 2670 Time Complexity (1)

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

Reducability. Sipser, pages

Homework 5 Solution CSCI 2670 October 6, c) New text q 1 1##1 xq 3 ##1 x#q 5 #1 q reject. Old text. ~q 3 ##1 ~#q 5 #1

Midterm Exam 2 CS 341: Foundations of Computer Science II Fall 2016, face-to-face day section Prof. Marvin K. Nakayama

Introduction to Computability

CS151 Complexity Theory. Lecture 1 April 3, 2017

Large Numbers, Busy Beavers, Noncomputability and Incompleteness

Turing Machines. Wolfgang Schreiner

Turing s Thesis. Fall Costas Busch - RPI!1

Introduction to Turing Machines. Reading: Chapters 8 & 9

Equivalence of TMs and Multitape TMs. Theorem 3.13 and Corollary 3.15 By: Joseph Lauman

Automata and Computability. Solutions to Exercises

Decidable Languages - relationship with other classes.

CSE 460: Computabilty and Formal Languages Turing Machine (TM) S. Pramanik

Decidability. Human-aware Robotics. 2017/10/31 Chapter 4.1 in Sipser Ø Announcement:

CS154, Lecture 10: Rice s Theorem, Oracle Machines

1 Showing Recognizability

Griffith University 3130CIT Theory of Computation (Based on slides by Harald Søndergaard of The University of Melbourne) Turing Machines 9-0

Turing Machine properties. Turing Machines. Alternate TM definitions. Alternate TM definitions. Alternate TM definitions. Alternate TM definitions

SCHEME FOR INTERNAL ASSESSMENT TEST 3

Computational Models Lecture 8 1

Turing Machine Extensions, and Enumerators

Turing Machines Decidability

Chapter 8. Turing Machine (TMs)

Turing Machines Part II

Introduction to Languages and Computation

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012

Turing Machines. The Language Hierarchy. Context-Free Languages. Regular Languages. Courtesy Costas Busch - RPI 1

The decision problem (entscheidungsproblem), halting problem, & Turing machines. CS 350 Fall 2018 gilray.org/classes/fall2018/cs350/

Theory of Computation

Turing machines and computable functions

Automata and Computability. Solutions to Exercises

Turing machines COMS Ashley Montanaro 21 March Department of Computer Science, University of Bristol Bristol, UK

Homework Assignment 6 Answers

Chapter 7 Turing Machines

258 Handbook of Discrete and Combinatorial Mathematics

CSCE 551: Chin-Tser Huang. University of South Carolina

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

CST Part IB. Computation Theory. Andrew Pitts

Computational Models Lecture 8 1

CSCE 551 Final Exam, Spring 2004 Answer Key

1 Non-deterministic Turing Machine

Foundations of

Turing Machines. Our most powerful model of a computer is the Turing Machine. This is an FA with an infinite tape for storage.

Transcription:

CSE 2001: Introduction to Theory of Computation Fall 2013 Suprakash Datta datta@cse.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cse.yorku.ca/course/2001 11/7/2013 CSE 2001, Fall 2013 1

What do we really know? Can we always decide if a language L is regular/ context-free or not? We know: { 1 x x = 0 mod 7 } is regular { 1 x x is prime } is not regular But what about { 1 x x and x+2 are prime}? This is (yet) unknown. 11/7/2013 CSE 2001, Fall 2013 2

Describing a Language The problem lies in the informal notion of a description. Consider: { n a,b,c: a n +b n = c n } { x in year x the first female US president was elected} { x x is an easy to remember number } We have to define what we mean by description and method of deciding. 11/7/2013 CSE 2001, Fall 2013 3

Next Computability (Ch 3) Turing machines TM-computable/recognizable languages Variants of TMs 11/7/2013 CSE 2001, Fall 2013 4

Turing Machines After Alan M. Turing (1912 1954) In 1936, Turing introduced his abstract model for computation in his article On Computable Numbers, with an application to the Entscheidungsproblem. At the same time, Alonzo Church published similar ideas and results. However, the Turing model has become the standard model in theoretical computer science. 11/7/2013 CSE 2001, Fall 2013 5

Informal Description TM 1 0 1 1 _ 0 # 1 Λ At every step, L internal state set Q R the head of the TM M reads a letter x i from the one-way infinite tape. Depending on its state and the letter x i, the TM - writes down a letter, - moves its read/write head left or right, and - jumps to a new state. 11/7/2013 CSE 2001, Fall 2013 6

Input Convention w 1 w 2 Λ w _ Λ n state q 0 Initially, the tape contains the input w Σ*, padded with blanks _, and the TM is in start state q 0. During the computation, the head moves left and right (but not beyond the leftmost point), the internal state of the machine changes, and the content of the tape is rewritten. 11/7/2013 CSE 2001, Fall 2013 7

Output Convention The computation can proceed indefinitely, or the machines reaches one of the two halting states: v 1 v 2 Λ v _ Λ m v 1 v 2 Λ v _ Λ m state q accept or state q reject 11/7/2013 CSE 2001, Fall 2013 8

Major differences with FA, PDA Input can be read more than once Scratch memory available, can be accessed without restrictions The running time is not predictable from the input the machine can churn for a long time even on a short input So we need a clear indicator of end of computation 11/7/2013 CSE 2001, Fall 2013 9

Turing Machine (Def. 3.3) A Turing machine M is defined by a 7-tuple (Q,Σ,Γ,δ,q 0,q accept,q reject ), with Q finite set of states Σ finite input alphabet (without _ ) Γ finite tape alphabet with { _ } Σ Γ q 0 start state Q q accept accept state Q Why do you q reject reject state Q need these? δ the transition function δ: Q Γ Q Γ {L,R} 11/7/2013 CSE 2001, Fall 2013 10

Configuration of a TM The configuration of a Turing machine consists of the current state q Q the current tape contents Γ* the current head location {0,1,2, } This can be expressed as an element of Γ* Q Γ*: 1 0 1 1 _ 0 # 1 Λ q 9 becomes 101 q 9 1_0#1 11/7/2013 CSE 2001, Fall 2013 11

An Elementary TM Step Let u,v Γ* ; a,b,c Γ; q i,q j Q, and M a TM with transition function δ. We say that the configuration ua q i bv yields the configuration uac q j v if and only if: δ(q i,b) = (q j,c,r). Similarly, ua q i bv yields u q j acv if and only if δ(q i,b) = (q j,c,l). 11/7/2013 CSE 2001, Fall 2013 12

Terminology starting configuration on input w: q 0 w accepting configuration: uq accept v rejecting configuration: uq reject v The accepting and rejecting configurations are the halting configurations. 11/7/2013 CSE 2001, Fall 2013 13

Accepting TMs A Turing machine M accepts input w Σ* if and only if there is a finite sequence of configurations C 1,C 2,,C k with C 1 the starting configuration q 0 w for all i=1,,k 1 C i yields C i+1 (following M s δ) C k is an accepting configuration uq accept v The language that consists of all inputs that are accepted by M is denoted by L(M). 11/7/2013 CSE 2001, Fall 2013 14

Turing Recognizable (Def. 3.5) A language L is Turing-recognizable if and only if there is a TM M such that L=L(M). Also called: a recursively enumerable language. Note: On an input w L, the machine M can halt in a rejecting state, or it can loop indefinitely. How do you distinguish between a very long computation and one that will never halt? 11/7/2013 CSE 2001, Fall 2013 15

Turing Decidable (Def. 3.6) A language L=L(M) is decided by the TM M if on every w, the TM finishes in a halting configuration. (That is: q accept for w L and q reject for all w L.) A language L is Turing-decidable if and only if there is a TM M that decides L. Also called: a recursive language. 11/7/2013 CSE 2001, Fall 2013 16

Example 3.7: A = { 0 j j=2 n } Approach: If j=0 then reject ; If j=1 then accept ; if j is even then divide by two; if j is odd and >1 then reject. Repeat if necessary. 1. Sweep left to right crossing off every other zero. 1. If the tape has a single 0, accept. 2. Else If there are an odd number of zeros reject. 2. Return the head to the left-hand end of the tape. 3. goto 1 11/7/2013 CSE 2001, Fall 2013 17

State diagrams of TMs Like with PDA, we can represent Turing machines by (elaborate) diagrams. See Figures 3.8 and 3.10 for two examples. If transition rule says: δ(q i,b) = (q j,c,r), then: q i b c,r q j 11/7/2013 CSE 2001, Fall 2013 18

When Describing TMs It is assumed that you are familiar with TMs and with programming computers. Clarity above all: high level description of TMs is allowed but should not be used as a trick to hide the important details of the program. Standard tools: Expanding the alphabet with separator #, and underlined symbols 0, a, to indicate activity. Typical: Γ = { 0,1,#,_,0,1 } 11/7/2013 CSE 2001, Fall 2013 19

Some more examples B={w#w w (0,1)* } (Pg 172) C = {a i b j c k i*j=k, i,j,k >= 1} (Pg 174) 11/7/2013 CSE 2001, Fall 2013 20

Turing machine variants Multiple tapes 2-way infinite tapes Non-deterministic TMs 11/7/2013 CSE 2001, Fall 2013 21

Multitape Turing Machines A k-tape Turing machine M has k different tapes and read/write heads. It is thus defined by the 7-tuple (Q,Σ,Γ,δ,q 0,q accept,q reject ), with Q finite set of states Σ finite input alphabet (without _ ) Γ finite tape alphabet with { _ } Σ Γ q 0 start state Q q accept accept state Q q reject reject state Q δ the transition function δ: Q\{q accept,q reject } Γ k Q Γ k {L,R} k 11/7/2013 CSE 2001, Fall 2013 22

k-tape TMs versus 1-tape TMs Theorem 3.13: For every multi-tape TM M, there is a single-tape TM M such that L(M)=L(M ). Or, for every multi-tape TM M, there is an equivalent single-tape TM M. Proving and understanding these kinds of robustness results, is essential for appreciating the power of the Turing machine model. From this theorem Corollary 3.9 follows: A language L is TM-recognizable if and only if some multi-tape TM recognizes L. 11/7/2013 CSE 2001, Fall 2013 23

Outline Proof Thm. 3.13 Let M=(Q,Σ,Γ,δ,q 0,q accept,q reject ) be a k-tape TM. Construct 1-tape M with expanded Γ = Γ Γ {#} Represent M-configuration u 1 q j a 1 v 1, u 2 q j a 2 v 2,, u k q j a k v k by M configuration, q j # u 1 a 1 v 1 # u 2 a 2 v 2 # # u k a k v k (The tapes are separated by #, the head positions are marked by underlined letters.) 11/7/2013 CSE 2001, Fall 2013 24

Proof Thm. 3.13 (cont.) On input w=w 1 w n, the TM M does the following: Prepare initial string: #w 1 w n #_#Λ#_#_ Λ Read the underlined input letters Γ k Simulate M by updating the input and the underlining of the head-positions. Repeat 2-3 until M has reached a halting state Halt accordingly. PS: If the update requires overwriting a # symbol, then shift the part # Λ_ one position to the right. 11/7/2013 CSE 2001, Fall 2013 25

Non-deterministic TMs A nondeterministic Turing machine M can have several options at every step. It is defined by the 7-tuple (Q,Σ,Γ,δ,q 0,q accept,q reject ), with Q finite set of states Σ finite input alphabet (without _ ) Γ finite tape alphabet with { _ } Σ Γ q 0 start state Q q accept accept state Q q reject reject state Q δ the transition function δ: Q\{q accept,q reject } Γ P (Q Γ {L,R}) 11/7/2013 CSE 2001, Fall 2013 26

Robustness Just like k-tape TMs, nondeterministic Turing machines are not more powerful than simple TMs: Every nondeterministic TM has an equivalent 3-tape Turing machine, which in turn has an equivalent 1-tape Turing machine. Hence: A language L is recognizable if and only if some nondeterministic TM recognizes it. The Turing machine model is extremely robust. 11/7/2013 CSE 2001, Fall 2013 27

Computing with non-deterministic TMs Evolution of the n.d. TM represented by a tree of configurations (rather than a single path). If there is (at least) one accepting leave, then the TM accepts. C 5 C 2 C 6 C 1 C 3 Μ C 4 t=1 t=2 t=3 reject accept 11/7/2013 CSE 2001, Fall 2013 28

Simulating Non-deterministic TMs with Deterministic Ones We want to search every path down the tree for accepting configurations. Bad idea: depth first. This approach can get lost in never-halting paths. Good idea: breadth first. For time step 1,2, we list all possible configurations of the nondeterministic TM. The simulating TM accepts when it lists an accepting configuration. 11/7/2013 CSE 2001, Fall 2013 29

Breadth First Let b be the maximum number of children of a node. Any node in the tree can be uniquely identified by a string {1,,b}*. C 5 Example: location of the rejecting configuration is (3,1). C 2 C 6 C 1 C 3 C 4 t=1 t=2 t=3 Μ reject accept With the lexicographical listing ε, (1), (2),, (b), (1,1), (1,2),,(1,b), (2,1), et cetera, we cover all nodes. 11/7/2013 CSE 2001, Fall 2013 30

Proof of Theorem 3.10 Let M be the non-deterministic TM on input w. The simulating TM uses three tapes: T1 contains the input w T2 the tape content of M on w at a node T3 describes a node in the tree of M on w. 1) T1 contains w, T2 and T3 are empty 2) Simulate M on w via the deterministic path to the node of tape 3. If the node accepts, accept, otherwise go to 3) 3) Increase the node value on T3; go to 2) 11/7/2013 CSE 2001, Fall 2013 31

Robustness Just like k-tape TMs, nondeterministic Turing machines are not more powerful than simple TMs: Every nondeterministic TM has an equivalent 3-tape Turing machine, which in turn has an equivalent 1-tape Turing machine. Hence: A language L is recognizable if and only if some nondeterministic TM recognizes it. Let s consider other ways of computing a language 11/7/2013 CSE 2001, Fall 2013 32

Enumerating Languages Thus far, the Turing machines were recognizers. When a TM E generates the words of a language, E is an enumerator (cf. recursively enumerable ). A Turing machine E, enumerates the language L if it prints an (infinite) list of strings on the tape such that all elements of L will appear on the tape, and all strings on the tape are elements of L. (E starts on an empty input tape. The strings can appear in any order; repetition is allowed.) 11/7/2013 CSE 2001, Fall 2013 33

Enumerating = Recognizing Theorem 3.13: A language L is TM-recognizable if and only if L is enumerable. Proof: ( if ) Take the enumerator E and input w. Run E and check the strings it generates. If w is produced, then accept and stop, otherwise let E continue. ( only if ) Take the recognizer M. Let s 1,s 2, be a listing of all strings Σ* L. For j=1,2, run M on s 1,,s j for j time-steps. If M accepts an s, print s. Keep increasing j. 11/7/2013 CSE 2001, Fall 2013 34

Other Computational Models We can consider many other reasonable models of computation: DNA computing, neural networks, quantum computing Experience teaches us that every such model can be simulated by a Turing machine. Church-Turing Thesis: The intuitive notion of computing and algorithms is captured by the Turing machine model. 11/7/2013 CSE 2001, Fall 2013 35

Importance of the Church-Turing Thesis The Church-Turing thesis marks the end of a long sequence of developments that concern the notions of way-of-calculating, procedure, solving, algorithm. Goes back to Euclid s GCD algorithm (300 BC). For a long time, this was an implicit notion that defied proper analysis. 11/7/2013 CSE 2001, Fall 2013 36

Algorithm After Abū Abd Allāh Muhammed ibn Mūsā al-khwārizmī (770 840) His Al-Khwarizmi on the Hindu Art of Reckoning describes the decimal system (with zero), and gives methods for calculating square roots and other expressions. Algebra is named after an earlier book. 11/7/2013 CSE 2001, Fall 2013 37

Hilbert s 10th Problem In 1900, David Hilbert (1862 1943) proposed his Mathematical Problems (23 of them). The Hilbert s 10th problem is: Determination of the solvability of a Diophantine equation. Given a Diophantine equation with any number of unknown quantities and with integer coefficients: To devise a process according to which it can be determined by a finite number of operations whether the equation is solvable in integers. 11/7/2013 CSE 2001, Fall 2013 38

Diophantine Equations Let P(x 1,,x k ) be a polynomial in k variables with integral coefficients. Does P have an integral root (x 1,,x k ) Z k? Example: P(x,y,z) = 6x 3 yz + 3xy 2 x 3 10 has integral root (x,y,z) = (5,3,0). Other example: P(x,y) = 21x 2 81xy+1 does not have an integral root. 11/7/2013 CSE 2001, Fall 2013 39

(Un)solving Hilbert s 10th Hilbert s a process according to which it can be determined by a finite number of operations needed to be defined in a proper way. This was done in 1936 by Church and Turing. The impossibility of such a process for exponential equations was shown by Davis, Putnam and Robinson. Matijasevič proved that Hilbert s 10th problem is unsolvable in 1970. 11/7/2013 CSE 2001, Fall 2013 40