240 likes | 330 Views
COSC 3340: Introduction to Theory of Computation. University of Houston Dr. Verma Lecture 18. Combining Turing Machines. A Turing Machine can be a component of another Turing Machine (“subroutine”)
E N D
COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 18 UofH - COSC 3340 - Dr. Verma
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. UofH - COSC 3340 - Dr. Verma
Combining Turing Machines • Assumptions, for convenience: • From now on, Turing machines can either write a symbol or move head butnot both in the same move. • All TMs have only one alphabet , containing the blanksymbol • All machines start in this position: #w# • There are two types of basic machines: • Symbol-writing • Head-moving UofH - COSC 3340 - Dr. Verma
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 UofH - COSC 3340 - Dr. Verma
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 UofH - COSC 3340 - Dr. Verma
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. UofH - COSC 3340 - Dr. Verma
a b M1 M2 M1 M2 M3 Rules for Combining Machines If M1 and M2 are any TM Start in the initial state of M1; operate as M1 would operate until M1would halt; then initiate M2 and operate as M2 would operate After M1 halts either M2 or M3 would start depending on the symbol. UofH - COSC 3340 - Dr. Verma
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 UofH - COSC 3340 - Dr. Verma
Example: R□ Alphabet () = {a, b} M = ({q0, q1}, {a, b}, {a, b, □},, q0, {}) a R□ R b L□ is very similar to R□ UofH - COSC 3340 - Dr. Verma
JFLAP SIMULATION UofH - COSC 3340 - Dr. Verma
JFLAP SIMULATION UofH - COSC 3340 - Dr. Verma
JFLAP SIMULATION UofH - COSC 3340 - Dr. Verma
JFLAP SIMULATION UofH - COSC 3340 - Dr. Verma
JFLAP SIMULATION UofH - COSC 3340 - Dr. Verma
□ >L□ R □(R□)2 (L□)2 □ R□ Example: Machine 1 UofH - COSC 3340 - Dr. Verma
Example: Machine 1 (contd.) □abc□a □ab□□a □ab□□ab□ □a□c□abc □ab□□abc □abc□abc □abc□abc □abc□abc□ □abc□ □abc□ □□bc□ □□bc□□ □□bc□a □□bc□a □abc□a □abc□a □a□c□a □a□c□a□ □a□c□ab □a□c□ab □abc□ab • Let C be the TM, • we say C transforms □w□into □w□w□ (Copying Machine) UofH - COSC 3340 - Dr. Verma
Example: Machine 2 □ >L□ LR R □ L□ UofH - COSC 3340 - Dr. Verma
Example: Machine 2 (contd.) □ab□ □ab□ □ab□ □ab□ aab□ aab□ aab□ aab□ abb□ abb□ ab□ • Let SL be the TM, • we say SL transforms □w□into w□ (Shift-Left Machine) UofH - COSC 3340 - Dr. Verma
Example: Machine 3 I >aL□L □ aRa□CaLa□ L I □ □ □ LI aRa□ IRL□ a □ Ra R I a □R □La□ UofH - COSC 3340 - Dr. Verma
Example: Machine 3 (contd.) f(2,2) = ? □II□II□ □II□IIa □II□IIa □II□IIa □I□□IIa □I□□IIa □a□□IIa □a□□IIa □a□□II□ □a□□II□II□ □a□□II□IIa □a□□II□IIa □□□□II□IIa □□□□II□IIa a□□□II□IIa a□□□II□IIa a□□□II□II□ a□□□II□II□ a□□□IIIII□ a□□□IIIII□ a□□□IIIII□ a□□□IIII□□ a□□□IIII□□ a□□IIIII□□ a□□IIIII□□ . . . □IIII□□□□□ f(n, m) = n m is computed by the TM (Multiplication Machine) UofH - COSC 3340 - Dr. Verma
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. UofH - COSC 3340 - Dr. Verma
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. UofH - COSC 3340 - Dr. Verma
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. UofH - COSC 3340 - Dr. Verma