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

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

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

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

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

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4

CS21 Decidability and Tractability

Computability Theory. CS215, Lecture 6,

Most General computer?

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

CS4026 Formal Models of Computation

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

Introduction to Turing Machines

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

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

Fundamentals of Computer Science

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Introduction to Turing Machines. Reading: Chapters 8 & 9

TURING MAHINES

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

Lecture 13: Turing Machine

Turing Machines. Lecture 8

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

Chapter 3: The Church-Turing Thesis

CSE 105 THEORY OF COMPUTATION

The Church-Turing Thesis

The Turing machine model of computation

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

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

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

CSCC63 Worksheet Turing Machines

1 Unrestricted Computation

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

Further discussion of Turing machines

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

1 Showing Recognizability

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

Turing Machines Part II

V Honors Theory of Computation

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

CSE 105 THEORY OF COMPUTATION

Turing Machines Part III

CS154, Lecture 10: Rice s Theorem, Oracle Machines

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

CSE 105 Theory of Computation

Turing Machines. Wolfgang Schreiner

Turing Machines. COMP2600 Formal Methods for Software Engineering. Katya Lebedeva. Australian National University Semester 2, 2014

Chapter 7 Turing Machines

Turing machines and linear bounded automata

Chapter 8. Turing Machine (TMs)

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

Turing machines and linear bounded automata

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

Introduction to Languages and Computation

Part I: Definitions and Properties

ECS 120 Lesson 15 Turing Machines, Pt. 1

1 Deterministic Turing Machines

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

7.1 The Origin of Computer Science

CSci 311, Models of Computation Chapter 9 Turing Machines

Turing machines and linear bounded automata

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

Theory of Computation

CS20a: Turing Machines (Oct 29, 2002)

Languages, regular languages, finite automata

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

Chapter 6: Turing Machines

SCHEME FOR INTERNAL ASSESSMENT TEST 3

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

Decidability: Church-Turing Thesis

Automata and Computability. Solutions to Exercises

Foundations of

Variants of Turing Machine (intro)

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

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

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

Turing Machines Part Two

1 Deterministic Turing Machines

More About Turing Machines. Programming Tricks Restrictions Extensions Closure Properties

CS5371 Theory of Computation. Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG)

Please give details of your answer. A direct answer without explanation is not counted.

CSE 105 THEORY OF COMPUTATION

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

Automata and Computability. Solutions to Exercises

Automata Theory (2A) Young Won Lim 5/31/18

Turing Machines. Fall The Chinese University of Hong Kong. CSCI 3130: Formal languages and automata theory

Decidability. William Chan

Final exam study sheet for CS3719 Turing machines and decidability.

Before We Start. Turing Machines. Languages. Now our picture looks like. Theory Hall of Fame. The Turing Machine. Any questions? The $64,000 Question

Computational Models - Lecture 6

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

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

Decidability (What, stuff is unsolvable?)

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

Homework. Turing Machines. Announcements. Plan for today. Now our picture looks like. Languages

Turing Machines Part One

Models. Models of Computation, Turing Machines, and the Limits of Turing Computation. Effective Calculability. Motivation for Models of Computation

CS151 Complexity Theory. Lecture 1 April 3, 2017

Equivalent Variations of Turing Machines

Turing Machine Variants

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

Transcription:

TURING MACHINES

Turing Machines (TM) The Turing machine is the ultimate model of computation. Alan Turing (92 954), British mathematician/engineer and one of the most influential scientists of the last century. 2

Turing Machines (TM) In 936, Turing introduced his abstract model for computation. The Turing machine model has become the standard in theoretical computer science. Think of a Turing Machine as a DPDA that can move freely through its stack (= tape). 3

Turing Machines (TM) Alan Turing was one of the founding fathers of CS. His computer model the Turing Machine was inspiration/premonition of the electronic computer that came two decades later Was instrumental in cracking the Nazi Enigma cryptosystem in WWII Invented the Turing Test used in AI Legacy: The Turing Award. Pre-eminent award in Theoretical CS 4

A Thinking Machine Turing Machines (TM) First Goal of Turing s Machine: A model that can compute anything that a human can compute. Before invention of electronic computers the term computer actually referred to a person who s line of work is to calculate numerical quantities! As this is a philosophical endeavor, it can t really be proved. Turing s Thesis: Any algorithm can be carried out by one of his machines 5

A Thinking Machine Turing Machines (TM) Second Goal of Turing s Machine: A model that s so simple, that can actually prove interesting epistemological results. Eyed Hilbert s th problem, as well as a computational analog of Gödel s Incompleteness Theorem in Logic. Philosophy notwithstanding, Turing s programs for cracking the Enigma cryptosystem prove that he really was a true hacker! Turing s machine is actually easily programmable, if you really get into it. Not practically useful, though 6

A Thinking Machine Turing Machines (TM) Imagine a super-organized, obsessive-compulsive human computer. The computer wants to avoid mistakes so everything written down is completely specified one letter/number at a time. The computer follows a finite set of rules which are referred to every time another symbol is written down. Rules are such that at any given time, only one rule is active so no ambiguity can arise. Each rule activates another rule depending on what letter/number is currently read. 7

Turing Machines (TM) A Thinking Machine: Example: Successor Program Sample Rules: If read, write, go right, repeat. If read, write, HALT! If read, write, HALT! Let s see how they are carried out on a piece of paper that contains the reverse binary representation of 47: 8

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT! 9

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT!

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT!

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT! 2

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT! 3

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT! 4

Turing Machines (TM) A Thinking Machine: Example: Successor Program So the successor s output on was which is the reverse binary representation of 48. Similarly, the successor of 27 should be 28: 5

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT! 6

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT! 7

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT! 8

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT! 9

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT! 2

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT! 2

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT! 22

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT! 23

Turing Machines (TM) A Thinking Machine: Example: Successor Program If read, write, go right, repeat. If read, write, HALT! If read, write, HALT! 24

Turing Machines (TM) A Thinking Machine: Example: Successor Program It was hard for the ancients to believe that any algorithm could be carried out on such a device. For us, it s much easier to believe, especially if you ve programmed in assembly! However, ancients did finally believe Turing when Church s lambda-calculus paradigm (on which lisp programming is based) proved equivalent! 25

Turing Machines (TM) A Turing Machine (TM) is a device with a finite amount of read-only hard memory (states), and an unbounded amount of read/write tapememory. There is no separate input. Rather, the input is assumed to reside on the tape at the time when the TM starts running. Just as with Automata, TM s can either be input/output machines (compare with Finite State Transducers), or yes/no decision machines. 26

Turing Machines (TM) Church Turing thesis Church Turing Thesis: all reasonable models of computation can be simulated by a (single tape) Turing machine. If we want to investigate what we can and can not do using computers, it is sufficient to study the Turing machine model. 27

Turing Machines (TM) A Comparison with FA TM can both write to and read from the tape The head can move left and right The string doesn t have to be read entirely Accept and Reject take immediate effect 28

Turing Machines (TM) A Comparison with FA and PDA Device Separate Input? Read/Write Data Structure Deterministic by default? FA PDA TM 29

Turing Machines (TM) A Comparison with FA and PDA Device Separate Input? Read/Write Data Structure Deterministic by default? FA Yes None Yes PDA TM 3

Turing Machines (TM) A Comparison with FA and PDA Device Separate Input? Read/Write Data Structure Deterministic by default? FA Yes None Yes PDA Yes LIFO Stack No TM 3

Turing Machines (TM) A Comparison with FA and PDA Device Separate Input? Read/Write Data Structure Deterministic by default? FA Yes None Yes PDA Yes LIFO Stack No TM No -way infinite tape. cell access per step. Yes (but will also allow crashes) 32

Turing Machines (TM) FINITE STATE q CONTROL AI N P U T INFINITE TAPE 33

read write move Turing Machines (TM)?, R?, R q accept?, R q reject?, R?, R?, L 34

Turing Machines (TM) Notations An edge from the state p to the state q labeled by a b,d means if in state p and tape head reading a, replace a by b and move in the direction D, and into state q a D means if in state p and tape head reading a, don t change a and move in the direction D, and into state q a b z means that given that the tape head is reading any of the pipe separated symbols, take same action on any of the symbols 35

Turing Machines (TM) Notations A TM s next action is completely determined by current state and symbol read, so can predict all of future actions if know:. current state 2. current tape contents 3. current position of TM s reading head 36

Example: Turing Machines (TM) STATE q, FIND q, # FIND # q #, FIND q, FIND q, FIND q GO LEFT x x # # x Testing membership in B = { w#w w {,}* } 37

Definition Turing Machines (TM) A Turing Machine is a 7-tuple T = (Q, S, G, d, q, q accept, q reject ), where: Q is a finite set of states S is the input alphabet, where ˇ S Gis the tape alphabet, where Gand S G d : Q G? Q G {L,R} q Q is the start state q accept Q is the accept state q reject Q is the reject state, and q reject q accept 38

Turing Machines (TM) CONFIGURATIONS q 7 q 7 39

Turing Machines (TM) Informal Description L Internal State set Q _ # _ R _ L At every step, 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 in Q. 4

Turing Machines (TM) Informal Description L Internal State set Q R At every step, the head of the TM M reads a letter x from the tape of size?. _ # L Depending on x and q the, the transition function value d(q,x) = (r,y,d) tells the TM to replace the letter a by b, move its head in direction d {L,R}, and change its internal state to r. 4

Turing Machines (TM) Output Convention The computation can proceed indefinitely, or the machines reaches one of the two halting states: accept state t or reject state r v L v _ L m v L v _ L m 42

Turing Machines (TM) Transitions in Action q 9 _ # L d(q 9,) = (q 3,,R) gives q 3 _ # L Notation: (q 9, _# _?, 3)? (q 3, _# _?, 4) 43

Turing Machines (TM) A TM recognizes a language if it accepts all and only those strings in the language A language is called Turing-recognizable or recursively enumerable if some TM recognizes it A TM decides a language if it accepts all strings in the language and rejects all strings not in the language A language is called decidable or recursive if some TM decides it 44

Turing Machines (TM) A language is called Turing-recognizable or recursively enumerable if some TM recognizes it A language is called decidable or recursive if some TM decides it r.e. languages recursive languages 45

Turing Machines (TM) Theorem: If A and A are r.e. then A is recursive Given TM that recognizes A and TM that recognizes A, we can build a new machine that decides A 46

2 { n n = } Turing Machines (TM) x? x, R?, R q 2 x? x, L?, L?, L x? x, R q q?, R? x, R q 3 x? x, R?, R?, R? x, R?, R q reject q accept q 4?, R x? x, R 47

2 { n n = } x? x, R?, R q 2 x? x, L?, L q q xq 3?, L xq 4 x? x, R q q?, R x? x, R?, R?, R q reject q accept? x, R? x, R xxq 3 q 3 xq 2 x xq 2 x q 4?, R q 2 xx q 2 xx?, R x? x, R 48

Turing Machines (TM) C = {a i b j c k ij = k and i, j, k = } aabbbcccccc xabbbcccccc xayyyzzzccc xabbbzzzccc xxyyyzzzzzz 49

Turing Machines (TM) Example Write a TM for the language L={w {,}* : #()=#()}? Pseudocode: while (there is a and a ) cross these out if (everything crossed out) accept else reject 5

Turing Machines (TM) Example L={w {,}* : #()=#()}?. if read, go right (dummy move), ACCEPT if read, write $, go right, goto // $ detects start of tape if read, write $, go right, goto 2. if read, go right, REJECT if read or X, go right, repeat (= goto ) // look for a if read, write X, go left, goto 3 2. if read, go right, REJECT if read or X, go right, repeat // look for a if read, write X, go left, goto 3 3. if read $, go right, goto 4 // look for start of tape else, go left, repeat 4. if read, write X, go right, goto // similar to step if read, write X, go right, goto 2 if read X, go right, repeat if read, go right, ACCEPT 5

Turing Machines (TM) Example L={w {,}* : #()=#()}? $,R $,R 2 X R X,L X,L 3 X,R $ R X L R X R R rej X,R 4 X R acc R 52

Turing Machines (TM) Definition A string x is accepted by a TM M if after being put on the tape with the Turing machine head set to the left-most position, and letting M run, M eventually enters the accept state. In this case w is an element of L(M) the language accepted by M. We can formalize this notion as follows: 53

Turing Machines (TM) Definition Suppose TM s configuration at time t is given by uapxv where p is the current state, ua is what s to the left of the head, x is what s being read, and v is what s to the right of the head. If δ(p,x) = (q,y,r) then write: uapxv uayqv With resulting configuration uayqv at time t+. If, δ(p,x) = (q,y,l) instead, then write: uapxv uqayv There are also two special cases: head is forging new ground pad with the blank symbol head is stuck at left end by def. head stays put (only case) is read as yields 54

Turing Machines (TM) Definition As with context free grammars, one can consider the reflexive, transitive closure * of. I.e. this is the relation between strings recursively defined by: if u = v then u * v if u v then u * v if u *v and v * w, then u *w * is read as computes to A string x is said to be accepted by M if the start configuration q x computes to some accepting configuration y i.e., a configuration containing q acc. The language accepted by M is the set of all accepted strings. I.e: L(M) = { x Σ* accepting config. y, q x * y } 55

TM Acceptor and Deciders Turing Machines (TM) Three possibilities occur on a given input w :. The TM M eventually enters q acc and therefore halts and accepts. (w L(M) ) 2. The TM M eventually enters q rej or crashes somewhere. M rejects w. (w L(M) ) 3. Neither occurs! I.e., M never halts its computation and is caught up in an infinite loop, never reaching q acc or q rej. In this case w is neither accepted nor rejected. However, any string not explicitly accepted is considered to be outside the accepted language. (w L(M) ) 56

TM Acceptor and Deciders Any Turing Machines is said to be a recognizer and recognizes L(M); if in addition, M never enters an infinite loop, M is called a decider and is said to decide L(M). R Turing Machines (TM) R R rej 2 acc R R Q: Is the above M an recognizer? A decider? What is L(M)? R L 57

TM Acceptor and Deciders Turing Machines (TM) A: M is an recognizer but not a decider because causes an infinite loop. L(M) = + + R rej acc R R 2 R R R L Q: Is L(M ) decidable? 58

TM Acceptor and Deciders Turing Machines (TM) A: Yes. All regular languages are decidable because can always convert a DFA into a TM without infinite loops. 59

Input-Output Turing Machines Turing Machines (TM) Input/output (or IO or transducing) Turing Machines, differ from TM recognizers in that they have a neutral halt state q halt instead of the accept and reject halt states. The TM is then viewed as a string-function which takes initial tape contents u to whatever the non blank portion of the tape is when reaching q halt. If v is the tape content upon halting, the notation f M (u) = v is used. If M crashes during the computation, or enters into an infinite loop, M is said to be undefined on u. 6

Input-Output Turing Machines Turing Machines (TM) When f M crashes or goes into an infinite loop for some contents, f M is a partial function If M always halts properly for any possible input, its function f is total (i.e. always defined). 6

Turing Machines (TM) Input-Output Turing Machines: Computing a function A Turing Machine M can be used to compute functions. f(n)=2n. A function arguments n will be represented as a sequence of n s on the TM tape. For example if n=3 the input string will be written on the TM tape. If the function has several arguments then everyone is represented as a sequence of s and they are separated by the * symbol. 62

Turing Machines (TM) Input-Output Turing Machines: Example Let's for example describe a Turing Machine M which computes the function f(n)=2n. The argument n will be represented as a sequence of n s on the TM tape. 63

X R R halt $,R 2 X L L X,L L 3 4 $ X R R X,R 9 6 X R,L 8 5 X R 64

65

Non-Deterministic Turing Machines (NTM) A non-deterministic Turing Machine N allows more than one possible action per given state-tape symbol pair. A string w is accepted by N if after being put on the tape and letting N run, N eventually enters q acc on some computation branch. If, on the other hand, given any branch, N eventually enters q rej or crashes or enters an infinite loop on, w is not accepted. Symbolically as before: L(N) = { x Σ* accepting config. y, q x * y } (No change needed as need not be function) 66

Non-Deterministic Turing Machines (NTM) NTM Acceptor and Deciders N is always called a non-deterministic recognizer and is said to recognize L(N); furthermore, if in addition for all inputs and all computation branches, N always halts, then N is called a nondeterministic decider and is said to decide L(N). 67

Multitape Turing Machines FINITE STATE CONTROL d : Q G k? Q G k {L,R} k 68

Theorem: Every Multitape Turing Machine can be transformed into a single tape Turing Machine FINITE STATE CONTROL FINITE STATE CONTROL # # # 69

Multitape Turing Machines Often it s useful to have several tapes when carrying out a computations. For example, consider a two tape I/O TM for adding numbers (we show only how it acts on a typical input) 7

Multitape Turing Machines Example: Addition $ $ Input string 7

Multitape Turing Machines Example: Addition $ $ 72

Multitape Turing Machines Example: Addition $ $ 73

Multitape Turing Machines Example: Addition $ $ 74

Multitape Turing Machines Example: Addition $ $ 75

Multitape Turing Machines Example: Addition $ $ $ 76

Multitape Turing Machines Example: Addition $ $ $ 77

Multitape Turing Machines Example: Addition $ $ $ 78

Multitape Turing Machines Example: Addition $ $ $ 79

Multitape Turing Machines Example: Addition $ $ $ 8

Multitape Turing Machines Example: Addition $ $ $ 8

Multitape Turing Machines Example: Addition $ $ $ 82

Multitape Turing Machines Example: Addition $ $ $ 83

Multitape Turing Machines Example: Addition $ $ $ 84

Multitape Turing Machines Example: Addition $ $ $ 85

Multitape Turing Machines Example: Addition $ $ 86

Multitape Turing Machines Example: Addition $ $ 87

Multitape Turing Machines Example: Addition $ $ 88

Multitape Turing Machines Example: Addition $ $ 89

Multitape Turing Machines Example: Addition $ 9

Multitape Turing Machines Example: Addition 9

Multitape Turing Machines Example: Addition 92

Multitape Turing Machines Example: Addition 93

Multitape Turing Machines Example: Addition 94

Multitape Turing Machines Example: Addition Output string HALT! 95

Multitape Turing Machines Conventions Input always put on the first tape If I/O machine, output also on first tape Can consider machines as string-vector generators. E.g., a 4 tape machine could be considered as outputting in (Σ*) 4 96

The notions of recursively enumerable / TM recognizable and recursive / TM decidable are the greatest contributions of computer science. For the moment note the following: They are extremely robust notions ( Church 97

Turing Machines Exercise Write a TM for the Language { j j=2 n } 98

Turing Machines Exercise: Answer hint Write a TM for the Language { j j=2n } Approach: If j= then reject ; If j= then accept ; if j is even then divide by two; if j is odd and > then reject. Repeat if necessary.. Check if j= or j=, reject/accept accordingly 2. Check, by going left to right if the string has even or odd number of zeros 3. If odd then reject 4. If even then go back left, erasing half the zeros 5. goto 99