Turing Machines. Wolfgang Schreiner

Similar documents
Turing machine. Turing Machine Model. Turing Machines. 1. Turing Machines. Wolfgang Schreiner 2. Recognizing Languages

Limits of Computability

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

Most General computer?

Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine

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

Computability Theory. CS215, Lecture 6,

CS20a: Turing Machines (Oct 29, 2002)

Decidability (What, stuff is unsolvable?)

Chapter 6: Turing Machines

Introduction to Turing Machines. Reading: Chapters 8 & 9

CS20a: Turing Machines (Oct 29, 2002)

Decidability. Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff

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

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

CS21 Decidability and Tractability

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

Decidability: Church-Turing Thesis

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

Introduction to Turing Machines

CS5371 Theory of Computation. Lecture 14: Computability V (Prove by Reduction)

Lecture 13: Turing Machine

Turing machines and linear bounded automata

1 Showing Recognizability

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

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

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

CSE 105 THEORY OF COMPUTATION

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

Part I: Definitions and Properties

Turing Machines Part II

CPSC 421: Tutorial #1

Turing Machines. Lecture 8

V Honors Theory of Computation

The Church-Turing Thesis

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

Turing machines Finite automaton no storage Pushdown automaton storage is a stack What if we give the automaton a more flexible storage?

THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET

Further discussion of Turing machines

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

Limits of Feasibility. Example. Complexity Relationships among Models. 1. Complexity Relationships among Models

Turing machines and linear bounded automata

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

TURING MAHINES

Chapter 3: The Church-Turing Thesis

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

CSE 105 THEORY OF COMPUTATION

Computable Functions

Theory of Computer Science. Theory of Computer Science. D7.1 Introduction. D7.2 Turing Machines as Words. D7.3 Special Halting Problem

Chapter 8. Turing Machine (TMs)

More About Turing Machines. Programming Tricks Restrictions Extensions Closure Properties

Theory of Computation Lecture Notes. Problems and Algorithms. Class Information

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

T (s, xa) = T (T (s, x), a). The language recognized by M, denoted L(M), is the set of strings accepted by M. That is,

Turing machines and linear bounded automata

Decidability and Undecidability

DM17. Beregnelighed. Jacob Aae Mikkelsen

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

CSE 105 THEORY OF COMPUTATION

Turing Machine Recap

Chapter 2 Algorithms and Computation

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

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

CSE 105 THEORY OF COMPUTATION

The Turing machine model of computation

CSci 311, Models of Computation Chapter 9 Turing Machines

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

Section 14.1 Computability then else

Turing Machines Part III

Chapter 7 Turing Machines

Decidability. William Chan

Turing Machines. Wen-Guey Tzeng Computer Science Department National Chiao Tung University

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

COMPARATIVE ANALYSIS ON TURING MACHINE AND QUANTUM TURING MACHINE

CSE 105 THEORY OF COMPUTATION. Spring 2018 review class

CSCE 551 Final Exam, Spring 2004 Answer Key

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4

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

Computability and Complexity

Theory of Computation

Theory of Computing Tamás Herendi

Decidability (intro.)

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

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

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

Chapter 2: Finite Automata

Computational Models Lecture 8 1

Turing Machines. Chapter 17

The Unsolvability of the Halting Problem. Chapter 19

Equivalent Variations of Turing Machines

Theory of Computation (IX) Yijia Chen Fudan University

Homework 8. a b b a b a b. two-way, read/write

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

Lecture 14: Recursive Languages

CS154, Lecture 10: Rice s Theorem, Oracle Machines

CS151 Complexity Theory. Lecture 1 April 3, 2017

SCHEME FOR INTERNAL ASSESSMENT TEST 3

Lecture 12: Mapping Reductions

Final exam study sheet for CS3719 Turing machines and decidability.

} Some languages are Turing-decidable A Turing Machine will halt on all inputs (either accepting or rejecting). No infinite loops.

Transcription:

Turing Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang Schreiner http://www.risc.jku.at 1/28

1. Turing Machines 2. Recognizing Languages 3. Generating Languages 4. Computing Functions 5. The Church-Turing Thesis Wolfgang Schreiner http://www.risc.jku.at 2/28

Turing Machine Model tape Turing machine sequence accepted The machine is always in one of a finite set of states. The machine starts its execution in a fixed start state. An infinite tape holds at its beginning the input word. Tape is read and written and arbitrarily moved by the machine. The machine proceeds in a sequence of state transitions. Machine reads symbol, overwrites it, and moves tape head left or right. The symbol read and the current state determine the symbol written, the move direction, and the next state. If the machine cannot make another transition, it terminates. The machine signals whether it is in an accepting state. If the machine terminates in an accepting state, the word is accepted. Wolfgang Schreiner http://www.risc.jku.at 3/28

Turing Machines Turing Machine M = (Q,Γ,,Σ,δ,q 0,F ): The state set Q, a fine set of states. A tape alphabet Γ, a finite set of tape symbols. The blank symbol Γ. An input alphabet Σ Γ\{ }. The (partial) transition function δ : Q Γ p Q Γ { L, R }, δ(q,x) = (q,x, L / R )... M reads in state q symbol x, goes to state q, writes symbol x, and moves the tape head left/right. The start state q 0 Q A set of accepting states (final states) F Q. The crucial difference to an automaton is the infinite tape that can be arbitrarily moved and written. Wolfgang Schreiner http://www.risc.jku.at 4/28

Example M = (Q,Γ,,Σ,δ,q 0,F ) Q = {q 0,q 1,q 2,q 3,q 4 } Γ = {,0,1,X,Y } Σ = {0,1} F = {q 4 } q 0 Y 0 0,Y q 1 q 3 Y X 1 0,Y q 2 q 4 δ 0 1 X Y q 0 (q 1,X,R) (q 3,Y,R) q 1 (q 1,0,R) (q 2,Y,L) (q 1,Y,R) q 2 (q 2,0,L) (q 0,X,R) (q 2,Y,L) q 3 (q 4,,R) (q 3,Y,R) q 4 Machine accepts every word of form 0 n 1 n (replacing it by X n Y n ). Wolfgang Schreiner http://www.risc.jku.at 5/28

Turing Machine Simulator http://math.hws.edu/eck/js/turing-machine/tm.html Wolfgang Schreiner http://www.risc.jku.at 6/28

Generalized Turing Machines Infinite tape in both directions. Can be simulated by a machine whose tape is infinite in one direction. Multiple tapes. Can be simulated by a machine with a single tape. Nondeterministic transitions. We can simulate a nondeterministic M by a deterministic M. Let r be the maximum number of choices that M can make. M operates with 3 tapes. Tape 1 holds the input (tape is only read). M writes to tape 2 all finite sequences of numbers 1,...,r. First all sequences of length 1, then all of length 2, etc. After writing sequence s 1 s 2...s n to tape 2, M simulates M on tape 3. M copies the input to tape 3 and performs at most n transitions. In transition i, M attempts to perform choice s i. If choice i is not possible or M terminates after n transitions in a non-accepting state, M continues with next sequence. If M terminates in accepting state, M accepts the input. Every generalized Turing machine can be simulated by the core form. Wolfgang Schreiner http://www.risc.jku.at 7/28

1. Turing Machines 2. Recognizing Languages 3. Generating Languages 4. Computing Functions 5. The Church-Turing Thesis Wolfgang Schreiner http://www.risc.jku.at 8/28

Turing Machine Configurations Configuration a 1...a k q a k+1...a m : q: the current state of M. a k+1 : the symbol currently under the tape head. a 1...a k : the portion of the tape left to the tape head. a k+2...a m : the portion right to the head (followed by...). Move relation: a 1...a k q a k+1...a m b 1...b l p b l+1...b m If M is a situation described by the left configuration, it can make a transition to the situation described by the right configuration. a i = b i for all i k + 1 and one of the following: l = k + 1 and δ(q,a k+1 ) = (p,b l,r), l = k 1 and δ(q,a k+1 ) = (p,b l+2,l). Extended move relation: c 1 c 2 M can make in an arbitrary number of moves a transition from the situation described by configuration c 1 to the one described by c 2. c 1 0 c 2 : c 1 = c 2 c 1 i+1 c 2 : c : c 1 i c c c 2 c 1 c 2 : i N : c 1 i c 2 Wolfgang Schreiner http://www.risc.jku.at 9/28

The Language of a Turing Machine The language L(M) of Turing machine M = (Q,Γ,,Σ,δ,q 0,F ): The set of all inputs that drive M from its initial configuration to a configuration with an accepting state such that from this configuration no further move is possible: L(M) := { w Σ a,b Γ,q Q : q 0 w a q b q F a,b Γ,q Q : a q b a q b L is a recursively enumerable language: There exists a Turing machine M such that L = L(M). L is a recursive language: There exists a Turing machine M such that L = L(M) and M terminates for every possible input. Every recursive language is recursively enumerable; as we will see, the converse does not hold. } Wolfgang Schreiner http://www.risc.jku.at 10/28

Recursiv. Enumerable/Recursive Languages Theorem: L is recursive, if and only if both L and its complement L are recursively enumerable. Proof : Let L be a recursive. Since by definition L is recursively enumerable, it remains to be shown that also L is recursively enumerable. Since L is recursive, there exists a Turing machine M such that M halts for every input w: if w L, then M accepts w; if w L, then M does not accept w. With the help of M, we can construct the following M with L(M ) = L: function M (w): case M(w) of yes: return no no: return yes end case end function w M yes no M yes no Wolfgang Schreiner http://www.risc.jku.at 11/28

Recursiv. Enumerable/Recursive Languages Proof : Let L be such that both L and L are recursively enumerable. We show that L is recursive. Since L is r.e., there exists M such that L = L(M) and M halts for w L with M(w) = yes. Since L is r.e., there exists M with L = L(M) and M halts for w L with M(w) = yes. We can thus construct M with L(M ) = L that always halts: function M (w): parallel begin if M(w) = yes then return yes end if loop forever end begin if M(w) = yes then return no end if loop forever end end parallel end function Wolfgang Schreiner http://www.risc.jku.at 12/28 w M M yes yes no no M yes no

Closure of Recursive Languages Let L,L 1,L 2 be recursive languages. Then also the complement L, the union L 1 L 2, the intersection L 1 L 2 are recursive languages. Proof by construction of the corresponding Turing machines. Wolfgang Schreiner http://www.risc.jku.at 13/28

1. Turing Machines 2. Recognizing Languages 3. Generating Languages 4. Computing Functions 5. The Church-Turing Thesis Wolfgang Schreiner http://www.risc.jku.at 14/28

Enumerators Turing machine M = (Q,Γ,, /0,δ,q 0,F ) with special symbol # Γ. M is an enumerator, if M has an additional output tape on which M moves its tape head only to the right, and M writes only symbols different from. The generated language Gen(M) of enumerator M is the set of all words that M eventually writes on its output tape. The end of each word is marked by a trailing #. M may run forever and thus Gen(M) may be infinite. Wolfgang Schreiner http://www.risc.jku.at 15/28

Recognizing versus Generating Languages Theorem: L is recursively enumerable, if and only if there exists some enumerator M such that L = Gen(M). Proof : Let L be recursively enumerable, i.e., L = L(M ) for some M. We construct enumerator M such that L = Gen(M). procedure M: loop produce next (m,n) on working tape if M (w m ) = yes in at most n steps then write w m to output tape end if end loop end procedure (0,0),(1,0),(1,1),(2,0),... (m,n) n w yes m M M write w m w m Wolfgang Schreiner http://www.risc.jku.at 16/28

Recognizing versus Generating Languages Proof : Let L be such that L = Gen(M) for some enumerator M. We show that there exists some Turing machine M such that L = L(M ). function M (w): while M is not terminated do M writes next word w if w = w then return yes end if end while return no end function w M w on tape? yes M yes no Recognizing is possible, if and only if generating is possible. Wolfgang Schreiner http://www.risc.jku.at 17/28

1. Turing Machines 2. Recognizing Languages 3. Generating Languages 4. Computing Functions 5. The Church-Turing Thesis Wolfgang Schreiner http://www.risc.jku.at 18/28

Functions Take binary relation f A B. f : A B: f is a total function from A to B. For every a A, there is exactly one b B such that (a,b) f. f : A p B: f is a partial function from A to B. For every a A, there is at most one b B such that (a,b) f. Auxiliary notions: domain(f ) := {a b : (a,b) f } range(f ) := {b a : (a,b) f } f (a) := such b : (a,b) f Every total function f : A B is a partial function f : A p B; every partial function f : A p B is a total function f : domain(f ) B. Wolfgang Schreiner http://www.risc.jku.at 19/28

Functions Let f : Σ p Γ where Σ Γ. f is a function over words in some alphabets. f is Turing computable, if there exists a Turing machine M such that for input w (i.e. initial tape content w...), M terminates in an accepting state, if and only if w domain(f ); for input w, M terminates in an accepting state with output w (i.e. final tape content w...), if and only if w = f (w). Not every function f : Σ p Γ is Turing computable: The set of all Turing machines is countably infinite: all machines can be ordered in a single list (in the alphabetic order of their definitions). The set of all functions Σ p Γ is more than countably infinite (Cantor s diagonalization argument). Consequently, there are more functions than Turing machines. M computes f, if M terminates for arguments in the domain of f with output f (a) and does not terminate for arguments outside the domain. Wolfgang Schreiner http://www.risc.jku.at 20/28

Example We show that natural number subtraction is Turing computable. Subtraction on N: m n := Unary representation of n N: { m n if m n 0 else 000...0 }{{} n times L(0 ) Input 00 0 shall lead to output 0. 2 1 = 1. Idea: replace every pair of 0 in m and n by. Wolfgang Schreiner http://www.risc.jku.at 21/28

Example (Contd) M = (Q,Γ,,Σ,δ,q 0,F ) Q = {q 0,...,q 6 } Σ = {0},Γ = {0,1, },F = {q 6 } q 0 0 δ 0 1 q 0 (q 1,,R) (q 5,,R) (q 5,,R) q 1 (q 1,0,R) (q 2,1,R) (q 2,1,R) q 2 (q 3,1,L) (q 2,1,R) (q 4,,L) q 3 (q 3,0,L) (q 3,1,L) (q 0,,R) q 4 (q 4,0,L) (q 4,,L) (q 6,0,R) q 5 (q 5,,R) (q 5,,R) (q 6,,R) q 6 q 1 q 2 1, 0 0 1 q 3 0,1 q 4 q 5 0,1 In q 0, the leading 0 is replaced by. In q 1, M searches for the next and replaces it by a 1. In q 2, M searches for the next 0 and replaces it by 1, then moves left. In q 3, M searches for previous, moves right and starts from begin. In q 4, M has found a instead of 0 and replaces all previous 1 by. In q 5, n is (has become) 0; the rest of the tape is erased. In q 6, the computation successfully terminates. Wolfgang Schreiner http://www.risc.jku.at 22/28 0,1 1, q 6

Example (Contd) 2 1 = 1: q 0 00 0 q 1 0 0 0q 1 0 01q 2 0 0q 3 11 q 3 011 q 3 011 q 0 011 q 1 11 1q 2 1 11q 2 1q 4 1 q 4 1 q 4 0q 6 1 2 = 0: q 0 0 00 q 1 00 1q 2 00 q 3 110 q 3 110 q 0 110 q 5 10 q 5 0 q 5 q 6. For m > n, leading blanks still have to be removed. Wolfgang Schreiner http://www.risc.jku.at 23/28

Turing Computability Theorem: f : Σ p Γ is Turing computable, if and only if L f := {(a,b) Σ Γ a domain(f ) b = f (a)} is recursively enumerable. Proof : Since f : Σ p Γ is Turing computable, there exists a Turing machine M which computes f. To show that L f is r.e., we construct M with L(M ) = L f : function M (a,b): b M(a) if b = b then return yes else return no end if end function (a,b) b a M b = M yes no yes no Wolfgang Schreiner http://www.risc.jku.at 24/28

Turing Computability Proof : Since L f is recursively enumerable, there exists an enumerator M with Gen(M) = L f. We construct the following Turing machine M which computes f : function M (a): while M is not terminated do M writes (a,b ) to tape if a = a then return b end if end while loop forever end function a M yes (a,.) on tape? M (a, b) b Computing is possible, if and only if recognizing is possible. Wolfgang Schreiner http://www.risc.jku.at 25/28

1. Turing Machines 2. Recognizing Languages 3. Generating Languages 4. Computing Functions 5. The Church-Turing Thesis Wolfgang Schreiner http://www.risc.jku.at 26/28

Algorithms Computer science is based on algorithms. Compute as follows the greatest common divisor of two natural numbers m,n that are not both 0: 1. If m = 0, the result is n. 2. If n = 0, the result is m. 3. If m > n, subtract n from m and continue with step 1. 4. Otherwise subtract m from n and continue with step 1. Euklid( m, n, r) m 0 n 0? ja ja m > n? nein m m n n n m ja m = 0? nein r n r m nein Euklid( m, n, r): while m 0 n 0 do if m > n then m m n else n n m if m = 0 then r n else r m end Euklid. What is an algorithm and what is computable by an algorithm? Wolfgang Schreiner http://www.risc.jku.at 27/28

The Church-Turing Thesis Church-Turing Thesis: Every problem that is solvable by an algorithm (in an intuitive sense) is solvable by a Turing machine. Thus the set of intuitively computable functions is identical with the set of Turing computable functions. Replaces fuzzy notion algorithm by precise notion Turing machine. Unprovable thesis, exactly because the notion algorithm is fuzzy. Substantially validated, because many different computational models have no more computational power than Turing machines. Random access machines, loop programs, recursive functions, goto programs, λ-calculus, rewriting systems, grammars,... Turing machines represent the most powerful computational model known, but there are many other equally powerful ( Turing complete ) models. Wolfgang Schreiner http://www.risc.jku.at 28/28