Turing Machines (TM) Model of Computation.

Slides:



Advertisements
Similar presentations
Turing Machines Part 1:. 2 Church-Turing Thesis Part 1 An effective procedure is defined as: a procedure which can be broken down into simple.
Advertisements

Part VI NP-Hardness. Lecture 23 Whats NP? Hard Problems.
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.
Deterministic Turing Machines
Introduction to Computability Theory
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Lecture 16 Deterministic Turing Machine (DTM) Finite Control tape head.
Variants of Turing machines
CS605 – The Mathematics and Theory of Computer Science Turing Machines.
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
Courtesy Costas Busch - RPI1 A Universal Turing Machine.
Turing Machines New capabilities: –infinite tape –can read OR write to tape –read/write head can move left and right q0q0 input tape.
Complexity ©D.Moshkovitz 1 Turing Machines. Complexity ©D.Moshkovitz 2 Motivation Our main goal in this course is to analyze problems and categorize them.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata are like Turing Machines with a restriction: The working space of the tape is the space of the.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Fall 2004COMP 3351 Turing Machines. Fall 2004COMP 3352 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Lecture 5 Turing Machines
Courtesy Costas Busch - RPI1 Turing Machines. Courtesy Costas Busch - RPI2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Turing Machines.
Computability and Complexity 3-1 Turing Machine Computability and Complexity Andrei Bulatov.
Costas Busch - RPI1 Turing Machines. Costas Busch - RPI2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Prof. Busch - LSU1 Turing Machines. Prof. Busch - LSU2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Chapter 9 Turing Machine (TMs).
1 Turing Machines. 2 A Turing Machine Tape Read-Write head Control Unit.
AUTOMATA THEORY VIII.
Turing Machines A more powerful computation model than a PDA ?
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
CSCI 2670 Introduction to Theory of Computing September 28, 2005.
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
A Universal Turing Machine
Turing Machines Chapter 17. Languages and Machines SD D Context-Free Languages Regular Languages reg exps FSMs cfgs PDAs unrestricted grammars Turing.
The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
Theory of computing, part 4. 1Introduction 2Theoretical background Biochemistry/molecular biology 3Theoretical background computer science 4History of.
Costas Busch - LSU1 Turing’s Thesis. Costas Busch - LSU2 Turing’s thesis (1930): Any computation carried out by mechanical means can be performed by a.
1 Section 13.1 Turing Machines A Turing machine (TM) is a simple computer that has an infinite amount of storage in the form of cells on an infinite tape.
1 IDT Open Seminar ALAN TURING AND HIS LEGACY 100 Years Turing celebration Gordana Dodig Crnkovic, Computer Science and Network Department Mälardalen University.
1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.
Lecture 24UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 24.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
Decidability Decidable/Undecidable problems. Jaruloj Chongstitvatana Decidability2 Accepting: Definition Let T = (Q, , , , s) be a TM. T accepts.
1 Introduction to Turing Machines
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 A Universal Turing Machine. 2 Turing Machines are “hardwired” they execute only one program A limitation of Turing Machines: Real Computers are re-programmable.
Turing’s Thesis.
Turing’s Thesis Costas Busch - LSU.
Busch Complexity Lectures: Turing Machines
CS21 Decidability and Tractability
COSC 3340: Introduction to Theory of Computation
Turing Machines 2nd 2017 Lecture 9.
CSE 105 theory of computation
Turing Machines Acceptors; Enumerators
Chapter 9 TURING MACHINES.
COSC 3340: Introduction to Theory of Computation
CS21 Decidability and Tractability
Recall last lecture and Nondeterministic TMs
Decidability and Tractability
CSE 105 theory of computation
Variants of Turing machines
Intro to Theory of Computation
CSE 105 theory of computation
Presentation transcript:

Turing Machines (TM) Model of Computation

Outlines Structure of Turing machines Deterministic Turing machines (DTM) Accepting a language Computing a function Composite Turing machines Multitape Turing machines Nondeterministic Turing machines (NTM) Universal Turing machines (UTM) Jaruloj Chongstitvatana 2301379 Turing Machines

Structure of TM TAPE Finite set of states CONTROL UNIT Start state A single halt state Move left or right one cell at a time TAPE HEAD TAPE Store input for the TM Can be of any length Can read from and write on tape Jaruloj Chongstitvatana 2301379 Turing Machines

What does a TM do? Determine if an input x is in a language. That is, answer if the answer of a problem P for the instance x is “yes”. Compute a function Given an input x, what is f(x)? Jaruloj Chongstitvatana 2301379 Turing Machines

How does a TM work? At the beginning, A TM is in the start state (initial state) its tape head points at the first cell The tape contains , following by input string, and the rest of the tape contains . Jaruloj Chongstitvatana 2301379 Turing Machines

How does a TM work? For each move, a TM reads the symbol under its tape head According to the transition function on the symbol read from the tape and its current state, the TM: write a symbol on the tape move its tape head to the left or right one cell or not changes its state to the next state Jaruloj Chongstitvatana 2301379 Turing Machines

When does a TM stop working? A TM stops working, when it gets into the special state called halt state. (halts) The output of the TM is on the tape. when the tape head is on the leftmost cell and is moved to the left. (hangs) when there is no next state. (hangs) Jaruloj Chongstitvatana 2301379 Turing Machines

How to define deterministic TM (DTM) a quintuple (Q, , , , s), where the set of states Q is finite, not containing halt state h, the input alphabet  is a finite set of symbols not including the blank symbol , the tape alphabet  is a finite set of symbols containing , but not including the blank symbol , the start state s is in Q, and the transition function  is a partial function from Q  ({})  Q{h}  ({})  {L, R, S}. Jaruloj Chongstitvatana 2301379 Turing Machines

Example of a DTM M= ({s,p1,p2,p3,p4,q1,q2}, {0,1},{0,1,@}, , s} s h 1/,R q2 h q1 /1,L @/,R /,L s p1 p4 p2 p3 /@,R 0/,R 0/0,R 1/1,R 0/,L 0/0,L 1/1,L /,R Jaruloj Chongstitvatana 2301379 Turing Machines

How a DTM works s h p1 q1 @    1   1      p2 p4 q2 /,L /@,R 1/,R p1 q1 @    1   1      /,R 0/,R 0/0,L 1/1,L @/,R p2 0/0,R 1/1,R p4 q2 /1,L /,L 0/,L On the input 0001000, the TM halts. h p3 Jaruloj Chongstitvatana 2301379 Turing Machines

How a DTM works s h p1 q1 @          p2 p4 q2 /,L /@,R 1/,R p1 q1 @          /,R 0/,R 0/0,L 1/1,L @/,R p2 0/0,R 1/1,R p4 q2 /1,L On the input 0000000, the TM hangs. /,L 0/,L h p3 Jaruloj Chongstitvatana 2301379 Turing Machines

Configuration Definition Let T = (Q, , , , s) be a DTM. A configuration of T is an element of Q  {h}  ({})  ({}) ({}) Can be written as (q,l,a,r) or (q,lar) string to the right of tape head Current state symbol under tape head string to the left of tape head Jaruloj Chongstitvatana 2301379 Turing Machines

Yield the next configuration Definition Let T = (Q, , , , s) be a DTM, and (q1, 1a11) and (q2, 2a22) be two configurations of T. We say (q1, 1a11) yields (q2, 2a22) in one step, denoted by (q1, 1a11) T (q2, 2a22), if (q1, a1) = (q2,a2,s), 1=2 and 1=2, (q1, a1) = (q2,b,R), 2=1b and 1=a22, (q1, a1) = (q2,b,L), 1=2a2 and 2=b1. Jaruloj Chongstitvatana 2301379 Turing Machines

Yield in zero step or more Definition Let T=(Q, , , , s) be a DTM, and (q1, 1a11) and (q2, 2a22) be two configurations of T. We say (q1, 1a11) yields (q2, 1a22) in zero step or more, denoted by (q1, 1a11) -*T (q2, 1a22), if q1=q2, 1 =2, a1= a2, and 1= 2, or (q1,1a11)-T (q, a) and (q, a)-*T (q2,1a22) for some q in Q,  and  in *, and a in . Jaruloj Chongstitvatana 2301379 Turing Machines

Yield in zero step or more: Example (q1,@) (q1,@) (q2,) (h ,1) (s,0001000) (p1,@0001000) (p2,@001000) (p2,@001000) (p3,@001000) (p4,@00100) (p1,@00100) (p2,@0100) (p3,@0100) s /,L /@,R 1/,R p1 q1 /,R 0/,R 0/0,L 1/1,L @/,R p2 0/0,R 1/1,R p4 q2 /1,L /,L 0/,L h p3 Jaruloj Chongstitvatana 2301379 Turing Machines

TM accepting a language Definition Let T=(Q, , , , s) be a TM, and w*. T accepts w if (s, , , w) |-T* (h, , , 1). The language accepted by a TM T, denoted by L(T), is the set of strings accepted by T. Jaruloj Chongstitvatana 2301379 Turing Machines

Example of language accepted by a TM L(T)={0n10n | n0} T halts on 0n10n T hangs on 0n+110n at p3 T hangs on 0n10n+1 at q1 T hangs on 0n 12 0n at q1 1/,R q2 h q1 /1,L @/,R /,L s p1 p4 p2 p3 /@,R 0/,R 0/0,R 1/1,R 0/,L 0/0,L 1/1,L /,R Jaruloj Chongstitvatana 2301379 Turing Machines

TM computing a function Definition Let T=(Q, , , , s) be a TM, and f be a function from * to *. T computes f if, for any string w in *, (s, , , w) |-T* (h, , , f(w)). Jaruloj Chongstitvatana 2301379 Turing Machines

Example of TM Computing Function 1/1,R 1/1,R /,R 1/,L /1,R /,L s p1 p2 p3 p4 /,R h Jaruloj Chongstitvatana 2301379 Turing Machines

Example of TM Computing Function 0/0,L 1/1,L 0’/0’,L 1’/1’,L 0/0,R1/1,R /0’,L q2 q1 h 0’/0,R1’/1,R /,S @/0,R 0/@,R /,R 0’/0,R1’/1,R /,L s p1 p2 p3 @/1,R 1/@,R 1/1,L 0/0,L r2 r1 0/0,R1/1,R 0/0,L 1/1,L 0’/0’,L 1’/1’,L /1’,L Jaruloj Chongstitvatana 2301379 Turing Machines

Composite TM Let T1 and T2 be TM’s. T1  T2 means executing T1 until T1 halts and then executing T2. T1 -a T2 means executing T1 until T1 halts and if the symbol under the tape head when T1 halts is a then executing T2. Jaruloj Chongstitvatana 2301379 Turing Machines

Example of Composite TM 0/,R 0/0,R 1/1,R /,L 0/,L 0/0,L 1/1,L /,R h Ts T0-0 1 T0-0 1/,R h s /@,R s h 1 Ts Terase1 Terase1 q2 h q1 /1,L @/,R /,L  Tout1 Tout1 Jaruloj Chongstitvatana 2301379 Turing Machines

Nondeterministic TM An NTM starts working and stops working in the same way as a DTM. Each move of an NTM can be nondeterministic. Jaruloj Chongstitvatana 2301379 Turing Machines

Each Move in an NTM reads the symbol under its tape head According to the transition relation on the symbol read from the tape and its current state, the TM choose one move nondeterministically to: write a symbol on the tape move its tape head to the left or right one cell or not changes its state to the next state Jaruloj Chongstitvatana 2301379 Turing Machines

How to define nondeterministic TM (NTM) a quintuple (Q, , , , s), where the set of states Q is finite, and does not contain halt state h, the input alphabet  is a finite set of symbols, not including the blank symbol , the tape alphabet  is a finite set of symbols containing , but not including the blank symbol , the start state s is in Q, and the transition fn :Q({})2Q{h}({}){L,R,S}. Jaruloj Chongstitvatana 2301379 Turing Machines

Configuration of an NTM Definition Let T = (Q, , , , s) be an TM. A configuration of T is an element of Q       Can be written as (q,l,a,r) or (q,lar) string to the left of tape head symbol under tape head string to the right of tape head Jaruloj Chongstitvatana 2301379 Turing Machines

Yield the next configuration Definition Let T = (Q, , , , s) be an NTM, and (q1, 1a11) and (q2, 2a22) be two configurations of T. We say (q1, 1a11) yields (q2, 2a22) in one step, denoted by (q1, 1a11) T (q2, 2a22), if (q2,a2,S)  (q1, a1), 1=2 and 1=2, (q2,b,R)  (q1, a1), 2=1b and 1=a22, (q2,b,L)  (q1, a1), 1=2a2 and 2=b1. Jaruloj Chongstitvatana 2301379 Turing Machines

NTM accepting a language/computing a function Definition Let T = (Q, , , , s) be an NTM. Let w* and f be a function from * to *. T accepts w if (s, , , w) |-T* (h, , , 1). The language accepted by a TM T, denoted by L(T), is the set of strings accepted by T. T computes f if, for any string w in *, (s, , , w) |-T* (h, , , f(w)). Jaruloj Chongstitvatana 2301379 Turing Machines

Example of NTM Let L={ww| w{0,1}*} s r0 q0 t0 v p u h q1 t1 r1 0/0,L Jaruloj Chongstitvatana 2301379 Turing Machines

Multitape TM TM with more than one tape. Each tape has its own tape head. Each tape is independent. CONTROL UNIT TAPE TAPE Jaruloj Chongstitvatana 2301379 Turing Machines

2-Tape Turing Machine a quintuple (Q, , , , s), where the set of states Q is finite, and does not contain the halt state h, the input alphabet  is a finite set of symbols, not including the blank symbol , the tape alphabet  is a finite set of symbols containing , but not including the blank symbol , the start state s is in Q, and the transition function  is a partial function from Q  ({})2  Q{h}  ({})2  {L, R, S}2 . Jaruloj Chongstitvatana 2301379 Turing Machines

Example of 2-Tape Turing Machine ,/(,),(R,S) ,/(,),(R,S) ,/(,),(L,R) s p1 p2 p3 0,/(0,),(R,S) 1,/(1,),(R,S) 0,/(0,0),(L,R) 1,/(1,1),(L,R) 0,/(0,),(R,S) 1,/(1,),(R,S) ,/(,),(L,L) ,/(1,),(L,L) ,/(,),(R,R) h q2 p4 0,0/(,),(L, L) 1,1/(,),(L, L) Jaruloj Chongstitvatana 2301379 Turing Machines

Equivalence of 2-tape TM and single-tape TM Theorem: For any 2-tape TM T, there exists a single-tape TM M such that for any string  in *: if T halts on  with  on its tape, then M halts on  with  on its tape, and if T does not halt on , then M does not halt on . Jaruloj Chongstitvatana 2301379 Turing Machines

How 1-tape TM simulates 2-tape TM Marking the position of each tape head in the content of the tape Encode content of 2 tapes on 1 tape When to convert 1-tape symbol into 2-tape symbol Construct 1-tape TM simulating a transition in 2-tape TM Convert the encoding of 2-tape symbols back to 1-tape symbols cannot be done all at once because the tape is infinite Jaruloj Chongstitvatana 2301379 Turing Machines

Encoding 2 tapes in 1 tape  0 1 1 1 0    0 1 1 1 0    0 1 1 1 0    0 1 1 1 0    0 1 0 1     0 1 0 1    New alphabet contains: old alphabet encoding of a symbol on tape 1 and a symbol on tape 2 encoding of a symbol on tape 1 pointed by its tape head and a symbol on tape 2 encoding of a symbol on tape 1 and a symbol on tape 2 pointed by its tape head encoding of a symbol on tape 1 pointed by its tape head and a symbol on tape 2 pointed by its tape head Jaruloj Chongstitvatana 2301379 Turing Machines

How the tape content is changed  0 1 1 1 0     1  1  1    Jaruloj Chongstitvatana 2301379 Turing Machines

Tape format c(b,) # c(a,) c(b,) c(c,) c(d,) Encoded tape content … Encoded tape content seperator What’s read on tape 1 and 2 Jaruloj Chongstitvatana 2301379 Turing Machines

Simulating transitions in 2-tape TM in 1-tape TM a1,a2/(b1,b2),(d1,d2) p q c(a1,a2) p T_tape1 (a1,b1,d1) q T_tape2 (a2,b2,d2) Jaruloj Chongstitvatana 2301379 Turing Machines

T_tape1(0,1,d) Update the first cell Convert 1-tape symbol into 2-tape symbol #/#,L ? and x are 0, 1, or  c(?,?)/c(?,?),R c(0,x)/c(0,x),L 0/c(0,),L S not #/not #,L c(?,x)/c(0,x),R #/#,R c(0,?)/c(1,?),d c(1,x)/c(1,x),L 1/c(1,),L #/#,L c(?,x)/c(1,x),R h not #/not #,L c(?,x)/c(?,x),R c(,x)/c(,x),L /c(,),L c(?,x)/c(,x),R It is not possible that c(1,?) is found because c(0,?) is wriiten in cell 1. Remember symbol under tape head in tape 1 #/#,L not #/not #,L Jaruloj Chongstitvatana 2301379 Turing Machines

Tcleanup pn |, L c(0, ?)|, L 0|0,L |c(0, ), R ?| , R 1|1,L |,R c(0,)|0, S c(1,)|1, S c(,)|, S |, L pn h |, R |, R Jaruloj Chongstitvatana 2301379 Turing Machines

Tencode s h 1/,R 0/,R 0/0,R 1/1.R /,L /,R /,R /,L #/c(,),R /#,L s h 1/,R 0/,R 0/0,R 1/1.R /,L /,R /,R /,L /c(0, ),L /c(1, ),L Jaruloj Chongstitvatana 2301379 Turing Machines

Equivalence of 2-tape TM and single-tape TM Proof: Let T = (Q, , , , s) be a 2-tape TM. We construct a 1-tape TM M=(K, , ’, ’, s’) such that ’ =   {c(a,b)| a,b are in {}}  {c(a,b)| a,b are in {}}  {c(a,b)|a,b are in {}}  {c(a,b)|a,b are in {}}  {#} We need to prove that: if T halts on  with output , then M halts on  with output , and if T does not halt on , then M does not halt on  Jaruloj Chongstitvatana 2301379 Turing Machines

if T halts on  with output  Jaruloj Chongstitvatana 2301379 Turing Machines

if T does not halt on  If T loops, then M loops. If T hangs in a state p, M hangs somewhere from p to the next state. Jaruloj Chongstitvatana 2301379 Turing Machines

Equivalence of NTM and DTM Theorem: For any NTM Mn, there exists a DTM Md such that: if Mn halts on input  with output , then Md halts on input  with output , and if Mn does not halt on input , then Md does not halt on input . Proof: Let Mn = (Q, , , , s) be an NTM. We construct a 2-tape TM Md from Mn as follows: Jaruloj Chongstitvatana 2301379 Turing Machines

Construct a DTM equivalent to an NTM WriteInitialConfiguration Set WorkingTape FindStateinCurrentConfiguration WriteAllPossibleNextConfiguration EraseCurrentConfiguration FindNewConfiguration h a,h a,q Tape 1: simulate Mn’s tape Tape 2: store configuration tree a is any symbol, q is any state in Q Depend on Mn Jaruloj Chongstitvatana 2301379 Turing Machines

How Md works  1 @ - s 1 *  # - * q 1 #  * s 1 # @  * 1 q #  s q WriteInitialConfiguration Tape 1  1 @ Set Working Tape FindNewConfiguration FindStateinCurrentConfiguration EraseCurrentConfiguration Current state: s Current state: s Current state: q a,h a,q h WriteAllPossibleNextConfiguration Tape 2 - s 1 *  # - * q 1 #  * s 1 # @  * 1 q #  s q 0/0,R /@,S /,R Jaruloj Chongstitvatana 2301379 Turing Machines

WriteAllPossibleNextConfiguration q1 q2 qn a/b1,d1 a/b2,d2 a/bn,dn For each (p,a,qi,bi,di), 1  i n a,p Writeq1b1d1 Writeq2b2d2 Writeqnbndn Jaruloj Chongstitvatana 2301379 Turing Machines

Example: WriteAllPossibleNextConfiguration q 0/0,R /@,S /,R WriteqR Writes@R ,s 0,q Writeq0R … Nondeterministic move Deterministic move Jaruloj Chongstitvatana 2301379 Turing Machines

if Mn halts on input  with output  Then, there is a positive integer n such that the initial configuration (s, ) of Mn yeilds a halting configuration (h, ) in n steps. From the construction of Md, the configuration (h, ) must appear on tape 2 at some time. Then, Md must halt with  on tape 1. Jaruloj Chongstitvatana 2301379 Turing Machines

if Mn does not halt on input  Then, Mn cannot reach the halting configuration. That is, (s, ) never yields a halting configuration (h, ). From the construction of Md, the configuration (h,) never appears on tape 2. Then, Md never halt. Jaruloj Chongstitvatana 2301379 Turing Machines

Universal Turing Machine Given the description of a DTM T and an input string z, a universal TM simulates how T works on input z. What’s need to be done? How to describe T and z on tape Use an encoding function How to simulate T Jaruloj Chongstitvatana 2301379 Turing Machines

Encoding function Let T=(Q, , , s) be a TM. The encoding function e(T) is defined as follows: e(T)=e(s)#e(), e()=e(m1)#e(m2)#...#e(mn)#, where  = {m1, m2,..., mn} e(m)=e(p),e(a),e(q),e(b),e(d), where m = (p, a, q, b, d) e(z)=1e(z1)1e(z2)1…1e(zm)1, where z=z1z2…zm is a string e()=0, e(ai)=0i+1, where ai is in  e(h)=0, e(qi)=0i+1, where qi is in Q e(S)=0, e(L)=00, e(R)=000 Jaruloj Chongstitvatana 2301379 Turing Machines

Example of Encoded TM q1 q2 h e()=0 , e(a1)=00 , e(a2)=000 e(h)=0, e(q1)=00, e(q2)=000 e(S)=0, e(L)=00, e(R)=000 e(a1a1a2) = 1e()1e(a1)1e(a1)1e(a2)1e()1 = 101001001000101 e(m1) = (q1),e(a1),e(q2),e(a2),e(R) = 00,00,000,000,000 e(m2) = e(q2),e(),e(h),e(),e(S) = 000,0,0,0,0 e() = e(m1)#e(m2)#...# = 00,00,000,000,000#000,0,0,0,0#...# e(T) = e(s)#e() = 00#00,00,000,000,000#000,0,0,0,0#...# Input = e(Z)|e(T)| = 101001001000101|00#00,00,000,000,000#000,0,0,0,0#...#| q1 q2 h a1/a2,R /,s Jaruloj Chongstitvatana 2301379 Turing Machines

Universal Turing Machine Tape 1: I/O tape, store the transition function of T and input of T Tape 2: simulate T’s tape Tape 3: store T’s state CopyInputToTape2 CopyStartStateToTape3 UpdateTape2 FindRightMove  (halt) UpdateStateOnTape3 CopyTape2ToTape1 Jaruloj Chongstitvatana 2301379 Turing Machines

How UTM Works a2  1 0 0 1 0 1 | 0 0 Tape 1 # 0 0 , 0 0 , 0 0 0 , 0 0 0 , 0 0 0 # 0 0 0 , 0 , 0 , 0 , 0 # ... # | Tape 2 1 0 0 0 1 0 1 1 0 0 1 0 1 CopyInputToTape2 CopyStartStateToTape3 Tape 3 UpdateTape2 FindRightMove Not halt UpdateStateOnTape3 CopyTape2ToTape1 0 0 0 0 0 halt Jaruloj Chongstitvatana 2301379 Turing Machines

Church-Turing Thesis Turing machines are formal versions of algorithms. No computational procedure will be considered an algorithm unless it can be presented as a Turing machine. Jaruloj Chongstitvatana 2301379 Turing Machines

Checklist Construct a DTM, multitape TM, NTM accepting languages or computing function Construct composite TM Prove properties of languages accepted by specific TM Prove the relationship between different types of TM Describe the relationship between TM and FA Prove the relationship between TM and FA Jaruloj Chongstitvatana 2301379 Turing Machines