This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CS 373: Theory of Computation Gul Agha Mahesh Viswanathan Fall 2010 1 1 Variants of Turing Machines 1.1 MultiTape TM MultiTape Turing Machine 1 1 t t 1 t t 1 t t finitestate control • Input on Tape 1 • Initially all heads scanning cell 1, and tapes 2 to k blank • In one step: Read symbols under each of the kheads, and depending on the current con trol state, write new symbols on the tapes, move the each tape head (possibly in different directions), and change state. MultiTape Turing Machine Formal Definition A ktape Turing Machine is M = ( Q, Σ , Γ ,δ,q ,q acc ,q rej ) where • Q is a finite set of control states • Σ is a finite set of input symbols • Γ ⊇ Σ is a finite set of tape symbols. Also, a blank symbol t ∈ Γ \ Σ • q ∈ Q is the initial state • q acc ∈ Q is the accept state • q rej ∈ Q is the reject state, where q rej 6 = q acc • δ : ( Q \ { q acc ,q rej } ) × Γ k → Q × (Γ × { L , R } ) k is the transition function. Computation, Acceptance and Language • A configuration of a multitape TM must describe the state, contents of all ktapes, and positions of all kheads. Thus, c ∈ Q × (Γ * {*} ΓΓ * ) k , where * denotes the head position. 2 • Accepting configuration is one where the state is q acc , and starting configuration on input w is ( q , * w, *t ,..., *t ) • Formal definition of a single step is skipped. • w is accepted by M , if from the starting configuration with w as input, M reaches an accepting configuration. • L ( M ) = { w  w accepted by M } Expressive Power of multitape TM Theorem 1. For any ktape Turing Machine M , there is a single tape TM single ( M ) such that L ( single ( M )) = L ( M ) . Challenges • How do we store ktapes in one? • How do we simulate the movement of k independent heads? Storing Multiple Tapes 1 1 t 1 t t finitestate control Figure 1: Multitape TM M (1 , · , , * ) (0 , * , 1 , · ) ( t , · , 1 , · ) t finitestate control Figure 2: 1tape equivalent single( M ) Store in cell i contents of cell i of all tapes. “Mark” head position of tape with * . Simulating One Step Challenge 1: Head of 1Tape TM is pointing to one cell. How do we find out all the k symbols that are being read by the k heads, which maybe in different cells? 3 • Read the tape from left to right, storing the contents of the cells being scanned in the state , as we encounter them. Challenge 2: After this scan, 1tape TM knows the next step of ktape TM. How do we change the contents and move the heads? • Once again, scan the tape, change all relevant contents, “move” heads (i.e., move * s), and change state. Overall Construction First we outline the highlevel algorithm for the 1tape TM. On input w 1. First the machine will rewrite input w to be in “new” format....
View
Full Document
 Fall '08
 Viswanathan,M
 Turing Machines, DI, tape

Click to edit the document details