Presentation is loading. Please wait.

Presentation is loading. Please wait.

COSC 3340: Introduction to Theory of Computation

Similar presentations


Presentation on theme: "COSC 3340: Introduction to Theory of Computation"— Presentation transcript:

1 COSC 3340: Introduction to Theory of Computation
University of Houston Dr. Verma Lecture 18 Lecture 18 UofH - COSC Dr. Verma

2 Combining Turing Machines
A Turing Machine can be a component of another Turing Machine (“subroutine”) We will develop a graphical notation to build larger machines for more complex tasks easily. The scheme is hierarchical. Combination is possible since all TM’s are designed to be “non-hanging” – so the first machine can save something on the leftend of the tape. Reference: “Elements of the Theory of Computation’’ by H.R. Lewis and C.H. Papadimitriou. Lecture 18 UofH - COSC Dr. Verma

3 Combining Turing Machines
Assumptions, for convenience: From now on, Turing machines can either write a symbol or move head but not both in the same move. All TMs have only one alphabet , containing the blank symbol All machines start in this position: #w# There are two types of basic machines: Symbol-writing Head-moving Lecture 18 UofH - COSC Dr. Verma

4 Basic Machines: Symbol-Writing
There are || symbol-writing machines, one for each symbol in . Each TM simply writes a specified symbol in the currently scanned tape square and halts. Formally, the TM which writes a is Wa = (K, , , s), where K = {q} for some arbitrarily chosen state q s = q and (q, b) = (h, a) for each b   Notation: Wa Lecture 18 UofH - COSC Dr. Verma

5 Basic Machines: Head-Moving
The head-moving machines simply move the head one square to the left or right, and then halt. Formally, the TM’s are VL = ({q}, , L, q), where L(q, a) = (h, L) for each a   VR = ({q}, , R, q), where R(q, a) = (h, R) for each a   let q be some state Notation: L and R let q be some state Lecture 18 UofH - COSC Dr. Verma

6 Rules for Combining Machines
Machines may be connected just like a Finite Automaton. If two machine are connected, then the first machine has to halt before the other machine starts. Lecture 18 UofH - COSC Dr. Verma

7 Rules for Combining Machines
If M1 and M2 are any TM Start in the initial state of M1; operate as M1 would operate until M1 would halt; then initiate M2 and operate as M2 would operate M1 M2 M1 M2 M3 a b After M1 halts either M2 or M3 would start depending on the symbol. Lecture 18 UofH - COSC Dr. Verma

8 Abbreviations L/R – A TM that moves the head one cell to the left/right R□ - A TM that moves to the Right seeking □ L□ - A TM that moves to the Left seeking □ R□ - A TM that moves to the Right seeking a nonblank spot L□ - A TM that moves to the Left seeking nonblank spot Lecture 18 UofH - COSC Dr. Verma

9 M = ({q0, q1 }, {a, b}, {a, b, □}, , q0, {})
Example: R□ Alphabet () = {a, b} M = ({q0, q1 }, {a, b}, {a, b, □}, , q0, {}) a R□ State Symbol Next state action q0 (q1, □, R) a (q1, a, R) b (q1, b, R) q1 halt R b L□ is very similar to R□ Lecture 18 UofH - COSC Dr. Verma

10 JFLAP SIMULATION Lecture 18 UofH - COSC Dr. Verma

11 JFLAP SIMULATION Lecture 18 UofH - COSC Dr. Verma

12 JFLAP SIMULATION Lecture 18 UofH - COSC Dr. Verma

13 JFLAP SIMULATION Lecture 18 UofH - COSC Dr. Verma

14 JFLAP SIMULATION Lecture 18 UofH - COSC Dr. Verma

15 Example: Machine 1 >L□ R□ R □(R□)2 (L□)2   □ □ Lecture 18
UofH - COSC Dr. Verma

16 Example: Machine 1 (contd.)
□abc□a □ab□□a □ab□□ab□ □a□c□abc □ab□□abc □abc□abc □abc□abc□ □abc□ □□bc□ □□bc□□ □□bc□a □abc□a □abc□a □a□c□a □a□c□a□ □a□c□ab □abc□ab Let C be the TM, we say C transforms □w□ into □w□w□ (Copying Machine) Lecture 18 UofH - COSC Dr. Verma

17 Example: Machine 2   □ >L□ LR R □ L□ Lecture 18
UofH - COSC Dr. Verma

18 Example: Machine 2 (contd.)
□ab□ aab□ aab□ abb□ ab□ Let SL be the TM, we say SL transforms □w□ into w□ (Shift-Left Machine) Lecture 18 UofH - COSC Dr. Verma

19 Example: Machine 3 I >aL□L □ L aRa□CaLa□ I □ □ □ aRa□ LI IRL□ a □
Lecture 18 UofH - COSC Dr. Verma

20 Example: Machine 3 (contd.)
f(2,2) = ? □II□II□ □II□IIa □I□□IIa □a□□IIa □a□□II□ □a□□II□II□ □a□□II□IIa □□□□II□IIa a□□□II□IIa a□□□II□II□ a□□□IIIII□ a□□□IIIII□ a□□□IIII□□ a□□IIIII□□ . □IIII□□□□□ f(n, m) = n  m is computed by the TM (Multiplication Machine) Lecture 18 UofH - COSC Dr. Verma

21 Turing Machine Models Variants of TM model Two-way infinite tape
Multiple tapes Multiple heads on each tape Multi-dimensional tapes, and Combinations of the above. Lecture 18 UofH - COSC Dr. Verma

22 Are the variants more powerful than the basic model?
Ans: No All "reasonable" extensions including those listed before lead to the same classes of languages or functions. Proved by showing that the basic model can simulate the extensions. Lecture 18 UofH - COSC Dr. Verma

23 Techniques for Simulations
The basic TM has expanded set of states expanded alphabet Note: one step in extended model is usually simulated by many steps in the basic model. Lecture 18 UofH - COSC Dr. Verma


Download ppt "COSC 3340: Introduction to Theory of Computation"

Similar presentations


Ads by Google