Download presentation
Presentation is loading. Please wait.
Published bySamuel Marshall Modified over 6 years ago
1
COSC 3340: Introduction to Theory of Computation
University of Houston Dr. Verma Lecture 22 Lecture 22 UofH - COSC Dr. Verma
2
Simulating 2-way infinite tape TM with Basic TM
In the following slides we will study the approach of Lewis and Papadimitriou. [Full reference appears in syllabus] Lecture 22 UofH - COSC Dr. Verma
3
Illustration of 2-way infinity tape TM
… … □ a b b a a b □ □ q0 h q1 q3 q2 Lecture 22 UofH - COSC Dr. Verma
4
2-way infinite tape TM Assumption: All TMs can, in one move either write a symbol on tape or move the head one cell but not both. No distinguished leftmost square Input string anywhere on the tape Position of the head on the blank just to its right Lecture 22 UofH - COSC Dr. Verma
5
2-way infinite tape TM (contd.)
Computation will proceed as just as for one-way infinite tape Yield relation |─M between configurations |─M* - Reflexive closure |─M. – Transitive closure Lecture 22 UofH - COSC Dr. Verma
6
2-way infinite tape TM (contd.)
Formally, TM T = (K, , , s) as before Since left and right are symmetric, we would define a configuration of such a machine to be a quadruple (q, w, a, u), where q K, w, u * a w does not begin with □ and u does not end with □ Lecture 22 UofH - COSC Dr. Verma
7
Simulating 2-way infinite tape TM with basic TM
… … Tape of M1 -3 -2 -1 1 2 3 … $ 1 2 3 Tape of M2 … -1 -2 -3 -4 Divide the tape into two tracks and copy the input onto the upper track, placing the end-marker $ on the leftmost square. Simulate TM M1 on the divided tape When and if M1 would halt, restore the tape to “single-track” format. Lecture 22 UofH - COSC Dr. Verma
8
We discuss details of Step 2.
Schema for M2 Step 1 is easy – let I be the TM for this step. Step 3 is a little harder – let F be the TM for this step. Let M1’ be the TM for Step 2, then M2 is: >I M1’F We discuss details of Step 2. Lecture 22 UofH - COSC Dr. Verma
9
Implementing the 2-track Idea
Construction of M1’ shows a number of useful techniques: Let 1 = {a: a 1} Let 2 = {$} 1 (1 X 1) (1 X 1) (1 X 1) Let state set of M1’ = (K1 {h}) X {1, 2} 1 – upper track, 2 – lower track Lecture 22 UofH - COSC Dr. Verma
10
Simulating 2-way infinite tape TM
Step 2: a. Simulate M1 on the upper track A move of the tape head to the left or right by M1 is simulated by a move of the tape head in the same direction by M1’ and if M1 would rewrite a tape square, M1’ changes only the upper track b. Simulate M1 on the lower track When M1 moves its head, M1’ moves its head in the opposite direction and if M1 write in a tape square, M1’ changes only the lower track. Lecture 22 UofH - COSC Dr. Verma
11
Simulate the 2-way infinite tape TM with a basic TM (contd.)
Step 2: a. Simulate M1 on the upper track A move of the tape head to the left or right by M1 is simulated by a move of the tape head in the same direction by M1’ and if M1 would rewrite a tape square, M1’ changes only the upper track If q K1, (a1, a2) 1 X 1, and 1 (q, a1) = (p, b), then (<p,1>, L)’ if b is L 1’ (<q,1>, (a1, a2 )) = (<p,1>, R)’ if b is R (<p,1>, (b, a2))’ if b is 1 Lecture 22 UofH - COSC Dr. Verma
12
Simulating 2-way infinite tape
b. Simulate M1 on the lower track When M1 moves its head, M1’ moves its head in the opposite direction and if M1 write in a tape square, M1’ changes only the lower track. If q K1, (a1, a2) 1 X 1, and 1 (q, a2) = (p, b), then (<p,2>, R)’ if b is L 1’(<q,2>, (a1, a2 )) = (<p,2>, L)’ if b is R (<p,2>, (a1 ,b))’ if b is 1 Lecture 22 UofH - COSC Dr. Verma
13
Simulating 2-way infinite tape TM with basic TM (contd.)
c. Changing tracks If head of M1’ is on $ then the head is moved to the right one square, and the information that the other track is being inspected is recorded in the state of M1’ d. Extend the tape to the right M1’ moves its head to the right onto tape square which contains ordinary blanks rather than member of the alphabet. Blanks are changed to pairs of blank before proceeding. Lecture 22 UofH - COSC Dr. Verma
14
Simulating the 2-way infinite tape TM with a basic TM (contd.)
c. Change track If head of M1’ is on $ then the head is moved to the right one square, and the information that the other track is being inspected is recorded in the state of M1’ If q K1 {h}, then 1’(<q,1>, $)’ = (<q,2>, R)’ 1’(<q,2>, $)’ = (<q,1>, R)’ Lecture 22 UofH - COSC Dr. Verma
15
Simulating the 2-way infinite tape TM with a basic TM (contd.)
d. Extend the tape to the right M1’ moves its head to the right onto tape square which contains ordinary blanks rather than member of the alphabet. Blanks are changed to pairs of blank before proceeding. If q K1 {h}, then 1’(<q,1>, #)’ = (<q,1>, (#, #))’ 1’(<q,2>, #)’ = (<q,2>, (#, #))’ Lecture 22 UofH - COSC Dr. Verma
16
Simulate the 2-way infinite tape TM with a basic TM (contd.)
e. Halt and record head position M1’ may move into a state which is not the true halt state. M1’ moves from these states into the halt state while recording the head position on the upper or lower track. If a1,a2 1 , then 1’(<h,1>, (a1,a2))’ = (h, (a1,a2))’ 1’(<h,2>, (a1,a2))’ = (h, (a1,a2))’ f. All other values of 1’ may be defined arbitrarily Lecture 22 UofH - COSC Dr. Verma
17
(ii) Multiple tape TM Tape 1 … Tape 2 … . . . … Tape k q0
Finite control h q1 q3 q2 Lecture 22 UofH - COSC Dr. Verma
18
Multiple tape TM Like ordinary TM but with several tapes.
Each tape with its own read/write head. Input on tape number 1 initially. Lecture 22 UofH - COSC Dr. Verma
19
Example: 2-tape TM for Copying
Assume there are 2-tapes: Move the head on the first tape left until a blank is found. Move the head on both tapes to the right, copying each symbol on the first tape onto the second tape, until a blank is found on the first tape. The first square of the second tape should be left blank. Lecture 22 UofH - COSC Dr. Verma
20
Example (contd.) Move the head on the second tape to the left until a blank is found. Again move the heads on both tapes to the right, this time copying symbols from the second tape onto the first tape. Halt when a blank is found on the second tape. Lecture 22 UofH - COSC Dr. Verma
21
Example (contd.): (1) # L#(1) #(2) R(1)R(2) (2) 1 2 4 #(1)
(2) # L#(2) R(1)R(2) (1) 3 Lecture 22 UofH - COSC Dr. Verma
22
Example (contd.) At the beginning: First tape #w# Second tape #
After(1) First tape #w# After(2) First tape #w# Second tape #w# After(3) First tape #w# After(4) First tape #w#w# Lecture 22 UofH - COSC Dr. Verma
23
Simulation of Multiple tape TM with Basic TM
We study two approaches: Given in the text (Sipser) Given in the reference (Lewis and Papadimitriou). Lecture 22 UofH - COSC Dr. Verma
24
Idea behind simulation of Multiple tape TM with Basic TM (Sipser)
Let TM M have k tapes S simulates the effect of k tapes by storing their information on its single tape using □ as a delimiter. S must keep track of the location of the heads Lecture 22 UofH - COSC Dr. Verma
25
Idea behind simulation of Multiple tape TM with Basic TM
… 1 1 □ M … a a a □ … b a □ S □ 1 1 □ a a a □ b a □ Lecture 22 UofH - COSC Dr. Verma
26
Simulation of Multiple tape TM with Basic TM
First S puts its tape into the format that represents all k tapes of M To simulate a single move, S scans its tape from the first in order to determine the symbols under the virtual heads. Then make a second pass to update the M’s transition function If at any point S moves one of the virtual heads to the right onto a □, it writes a blank symbol on this tape cell and shifts the tape contents to the rightmost □. Then it continues the simulation as before Lecture 22 UofH - COSC Dr. Verma
27
(ii) K-tape TM simulated by basic TM
Given input w (1 – {#})*, M2 follows: Put an endmarker on the leftmost tape square. a # b a # # # 2 = 1 (1 X {0,1})k {$} … b b b # # # # … $ a # b a # # # # # … 1 # … b b b # # # # … 1 # Lecture 22 UofH - COSC Dr. Verma
28
K-tape TM simulated by a basic TM
Divide the next |w| + 2 tape square into 2k tracks, putting #w# into the first track and marking the positions of the k heads appropriately. … … $ # a1 a2 an-1 an # # # # … … 1 # … … # # # # # # # … … 1 # Lecture 22 UofH - COSC Dr. Verma
29
K-tape TM simulated by a basic TM
Simulate the computation by M1, until M1 would halt. Repeat the following sequence of operations, beginning each time with Scan left down the tape, gathering information about the symbol scanned by the k tape heads of M1. Go right to the right end of the part of the tape that has been divided into tracks. No writing on the tape occurs during this part of the operation of M2, but when the head has returned to the end, the state finite control has changed to reflect the k-tuple of symbol form 1 in the k tracks at the marked head positions. … Lecture 22 UofH - COSC Dr. Verma
30
Simulation of k-tape TM (contd.)
Scan left and then right down the tape to update the tracks in accordance with the move of M1 that is to be simulated. On each pair of tracks, this involves either moving the head position marker one square to the right or left, or rewriting the symbol from 1 Lecture 22 UofH - COSC Dr. Verma
31
K-tape TM simulated by a basic TM
When M1 would halt, M2 first converts its tape from track into single symbol format, position its head where M1, would have placed its first head, and then halts. Lecture 22 UofH - COSC Dr. Verma
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.