2 Multi-tape Turing Machines: Informal Description (II)Each tape is bounded to the left by a cell containing the symbol Each tape has a unique headerTransitions have the form (for a 2-tape Turing machine):( (p,(x1, x2)), (q, (y1, y2)) )Such that each xi is in  and each yi is in  or is  or .and if xi =  then yi =  or yi = 

4 Multi-tape Turing Machines vs Turing Machinesa1a2…ai…b1b2……bjWe can simulate a 2-tape Turing machine M2 in a Turing machine M:we can represent the contents of the 2 tapes in the single tape by using special symbolsWe can simulate one transition from the M2 by constructing multiple transitions on MWe introduce several (finite) new states into M

5 Using States to “Remember” InformationConfiguration in a 2-tape Turing Machine M2:Tape1ababState: sTape2bbaState in the Turing machine M:“s+b+1+a+2”Which represents:M2 is in state sCell pointed by first header in M2 contains bCell pointed by second header in M2 contains an a

6 Using States to “Remember” Information (2)State in the Turing machine M:“s+b+1+a+2”(# states in M2) * | or  or | * | or  or |How many states are there in M?Yes, we need large number of states for M but it is finite!

7 Configuration in a 2-tape Turing Machine M2:ababState in M2: sTape2bbaEquivalent configuration in a Turing Machine M:ab1243eState in M: s+b+1+a+2

8 Simulating M2 with MThe alphabet  of the Turing machine M extends the alphabet 2 from the M2 by adding the separator symbols: 1, 2, 3 , 4 and e, and adding the mark symbols:  and We introduce more states for M, one for each 5-tuple p++1+ +2 where p in an state in M2 and +1+ +2 indicates that the head of the first tape points to  and the second one to We also need states of the form p++1++2 for control purposes

9 Simulating transitions in M2 with MState in M: s+b+1+a+2ab1243eAt the beginning of each iteration of M2, the head starts at e and both M and M2 are in an state sWe traverse the whole tape do determine the state p++1+ +2, Thus, the transition in M2 that is applicable must have the form:( (p,(, )), (q,(,)) ) in M2p+ +1+ +2q+ +1++2in M

10 Simulating transitions in M2 with M (2)To apply the transformation (q,(,)), we go forwards from the first cell.If the  (or ) is  (or ) we move the marker to the right (left):1…i1…iIf the  (or ) is a character, we first determine the correct position and then overwrite

12 Multi-tape Turing Machines vs Turing Machines (6)We conclude that 2-tape Turing machines can be simulated by Turing machines. Thus, they don’t add computational power!Using a similar construction we can show that 3-tape Turing machines can be simulated by 2-tape Turing machines (and thus, by Turing machines).Thus, k-tape Turing machines can be simulated by Turing machines

13 ImplicationsIf we show that a function can be computed by a k-tape Turing machine, then the function is Turing-computableIn particular, if a language can be decided by a k-tape Turing machine, then the language is decidableExample: Since we constructed a 2-tape TM that decidesL = {anbn : n = 0, 1, 2, …}, then L is Turing-computable.

14 Implications (2)Example: Show that if L1 and L2 are decidable then L1  L2 is also decidableProof. …

15 HomeworkProve that (ab)* is Turing-enumerable (Hint: use a 2-tape Turing machine.)Exercise 4.24 a) and b) (Hint: use a 3-tape Turing machine.)For proving that * is Turing-enumerable, we needed to construct a Turing machine that computes the successor of a word. Here are some examples of what the machine will produce (w  w’ indicates that when the machine receives w as input, it produces w’ as output)a  b  aa  ab  ba  bb  aaa