Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 9 Turing Machine (TMs).

Similar presentations


Presentation on theme: "Chapter 9 Turing Machine (TMs)."— Presentation transcript:

1 Chapter 9 Turing Machine (TMs)

2 Turing Machines Accepts the languages that can be generated by unrestricted (phrase-structured) grammars No computational machine (i.e., computational language recognition system) is more powerful than the class of TMs due to the language processing power, i.e., the generative power of grammars, its unlimited memory, and time of computations Proposed by Alan Turing in 1936 as a result of studying algorithmic processes by means of a computational model TMs are similar to FAs since they both consist of i) a control mechanism and ii) an input tape In addition, TMs can i) move their tape head back & forth, & ii) write on, as well as read from, their tapes.

3 Turing Machines Defn A TM is a quintuple M = (Q, , , , q0), where ● Q is a finite set of states ●  is a finite set called the tape alphabet which contains B, a special symbol that represents a blank ●    - { B }, is the input alphabet ● : Q    Q    { L, R }, a transition function, which is a partial function ● q0  Q, is the start state

4 Turing Machines Machine Operations: ● Write operation - replaces a symbol on the tape w/ another symbol & then shifts to a new (or current) state ● Move operation - moves the tape head one cell to the right (left, respectively) & then shift to a new (or current) state ● Halt operation - halts when the TM encounters a <state, input symbol > pair for which no transition is defined

5 Turing Machines Machine Operations. TMs are designed to perform computations on strings from the input alphabet, e.g., a TM produces a copy of input string over { a, b }, w/ input BuB & terminates w/ tape BuBuB, where u  (a  b)*. q1 q0 q2 q3 q4 q6 q5 q7 B/B R a/a R b/Y R b/b R B/B L b/b L a/a L B/a L B/b L a/X R X/X R X/a L Y/b L Y/Y R

6 TMs Transitions of TMs: * TMs as Language Acceptors
● uqivB xqj yB denotes that xqj yB is obtained from uqivB by a single transition of M ● Uqi vB xqj yB denotes that xqj yB is obtained from uqivB by zero or more transitions of M. ● Example: (P.262) traces the computation TMs as Language Acceptors ● TMs can be designed to accept languages & to compute functions ● Defn Let M = (Q, , , , q0, F) be a TM. A string u  * is accepted by final state if the computation of M w/ input u halts in a final state. The language of M, L(M), is the set of all strings accepted by M. A language accepted by a TM is called a recursively enumerable language. m m *

7 Transitions of TMs Example. A TM that accepts the language { aibici | i  0 } is q0 B/B R Y/Y R Y/Y R Z/Z R q1 q5 q6 B/B R a/X R B/B R a/a R q2 Y/Y R X/X R b/Y R b/b R q3 Z/Z R c/Z L a/a L b/b L q4 Y/Y L Z/Z L

8 TMs Acceptance by Halting
An input string is accepted if the computation initiated w/ the string causes the TM to halt. TMs that terminate abnormally reject the input strings A TM of which its acceptance is defined by halting (normally) is defined by the quintuple (Q, , , , q0). Theorem The following statements are equivalent: i) The language L is accepted by a TM that accepts by final state ii) The language L is accepted by a TM that accepts by halting Example A TM that accepts (a  b)*aa(a  b)* by halting. B/B R q f a/a R b/b R 2 1 3

9 Transitions of TMs    
Design a TM that computes the proper-subtraction function, i.e., m n = max(m – n, 0) such that m n is m – n, if m  n, and 0, if m  n. The TM will start with a tape consisting 0m10n surrounded by blanks. The machine halts with its result on its tape, surrounded by blanks.

10 9.7 Nondeterministic TMs (NTMs)
Provide more than one applicable transition for some current state/input symbol pair, i.e., > 1 non- deterministic choice Formal Definition: A NTM M = (Q, , , , q0) or M = (Q, , , , q0, F), where Q, , , , q0, and F are as defined in any DTMs and : Q    2Q    {L, R} Example A NTM that accepts strings containing a c preceded or followed by ab q 2 1 5 4 7 3 6 B/B R a/a R a/a L b/b R b/b L c/c R c/c L

11 Transitions of TMs Design a TM that takes as input a number N and adds 1 to it in binary. The tape initially contains a $ followed by N in binary. The tape head is initially scanning the $ in the initial state q0. The TM should halt with N+1, in binary, on the tape, scanning the leftmost symbol of N+1, in the final state qf with $ removed. For instance, q0$10011 yields qf10100, and q0$11111 yields qf

12 9.6 Multitape TMs A K-tape TM A transition in a multitape TM may
consists of k tapes & k independent tape heads reads k tapes simultaneously, but has only one state is configured by the current tape symbol being pointed to by each tape head & the current state A transition in a multitape TM may change the current state, write a symbol on each tape, and independently reposition each of the tape heads. qi Tape 3 Tape 2 Tape 1

13 9.6 Multitape TMs A transition of a k-tape TM is defined as (qi, x1, x2, …, xk) = [qj; y1, d1; y2, d2; …; yk, dk] where qi, qj  Q, xn, yn  , and dn  { L, R, S }, 1  n  k. Initialize configuration: ● The input string is placed on tape 1, whereas all the other tapes are assumed to be blank to begin with. ● The tape heads scan the leftmost position of each tape. ● Any tape head attempts to move to the left of the leftmost position terminates the computation abnormally. A language accepted by a TM is a recursively enumerable language. A language that is accepted by a TM that halts for all input strings is said to be recursive.

14 9.6 Multitape TMs Example The set { ak | k is a perfect square } is a recursively enumerable language (and is also a recursive language). Tape 1 holds the input string, a string of a’s Tape 2 holds a string of X’s whose length is a perfect square Tape 3 holds a string of X’s whose length is  |S| Tape 3 - k Tape 2 – k2 Tape 1 - input a a a a a q0 (i) Tape 3 - 1 X Step 1: Since the input is not a null string, initialize tapes 2 & 3 w/ an X, & all the tape head move to Position 1 Tape 2 – 12 X Tape 1 - input a a a a a q2 Step 2: Move the heads of tapes 1 & 2 to the right, since they have scanned a nonblank square Accept: if both read a blank Reject: if tape head 1 reads a blank & tape head 2 reads an X (ii) Tape 3 - 1 X Tape 2 – 12 X Tape 1 - input a a a a a q2

15 9.6 Multitape TMs Example 9.6.1 (Continued).
Step 3: Reconfiguration for comparison w/ the next perfect square by - adding an X on tape 2 to yield k2+1 X’s - concatenating two copies of the string on tape 3 to the string on tape 2 to yield on tape 2 to yield (k+1)2 X’s - adding an X on tape 3 to yield (k + 1) X’s on tape 3 - moving all the tape heads to Position 1 (iii) Tape 3 - 2 X X Tape 2 – 22 X X X X Tape 1 - input a a a a a q1 (iv) Tape 3 - 2 X X Tape 2 – 22 X X X X Step 4: Repeat Steps 2 through 4. Tape 1 - input a a a a a q2 (v) Another iteration of Step 2 halts & rejects the input. Tape 3 - 3 X X X Tape 2 – 32 X X X X X X X X X Tape 1 - input a a a a a q2

16 9.6 Multitape TMs Example (Continued). The transition function of the TM that accepts { ak | k is a perfect square }: [Step 1.] (q0, B, B, B) = [q1; B, R; B, R; B, R] (initialize the tape) (q1, a, B, B) = [q2; a, S; X, S; X, S] (q1 is a final state) [Step 2.] (q2, a, X, X) = [q2; a, R; X, R; X, S] (compare strings on tapes 1 & 2) (q2, B, B, X) = [q3; B, S; B, S; X, S] (accept; q3 is a final state) (q2, a, B, X) = [q4; a, S; X, R; X, S] (add an X to tape 2 & re-compute) [Step 3] (q4, a, B, X) = [q5; a, S; X, R; X, S] (rewrite tapes 2 & 3) (q4, a, B, B) = [q6; a, L; B, L; X, L] (q5, a, B, X) = [q4; a, S; X, R; X, R] (add two X’s to tape 2 for each X on tape 3) [Step 4] (q6, a, X, X) = [q6; a, L; X, L; X, L] (reposition tape heads) (q6, a, X, B) = [q6; a, L; X, L; B, S] (q6, a, B, B) = [q6; a, L; B, S; B, S] (q6, B, X, B) = [q6; B, S; X, L; B, S] (q6, B, B, B) = [q2; B, R; B, R; B, R] (repeat comparison cycle)

17 9.6 Multitape TMs A multitape TM can be represented by a state diagram. Example A 2-tape TM that accepts the language { uu | u  { a, b }* }. Computation: 1) Make a copy of the input S (on tape 1) to tape 2; tape heads: right of S. 2) Move both tape heads to the left. 3) Move the head of tape 1 two squares for each square move of tape 2. 4) Reject the input S if the TM halts in q3. (i.e. |S| is odd.) 5) Compare the 1st half w/ the 2nd half of S in q4 6) Accept S in q5 [x/x R, B/x R] [B/B R, B/B R] [B/B L, B/B L] [x/x L, y/y L] x  {a, b} y  {a, b, B} q0 q1 q2 q3 > [B/B R, y/y R] [x/x L, y/y S] q4 [x/x R, x/x R] [y/y R, B/B R] q5

18 9.6 Multitape TMs Theorem A language L is accepted by a multitape TM iff it is accepted by a standard TM. Proof. By simulating a multitape TM using a single tape TM.


Download ppt "Chapter 9 Turing Machine (TMs)."

Similar presentations


Ads by Google