1 / 19

COSC 3340: Introduction to Theory of Computation

COSC 3340: Introduction to Theory of Computation. University of Houston Dr. Verma Lecture 23. Definition of Nondeterministic TM. A Nondeterministic Turing Machine M = ( K ,  ,  , s ) K ,  , and s are as for standard Turing machine

kathie
Download Presentation

COSC 3340: Introduction to Theory of Computation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Definition of Nondeterministic TM • A Nondeterministic Turing Machine M = (K, , , s) • K, , and s are as for standard Turing machine •   (K X ) X ((K  {h}) X (  {L, R})) • Configurations and the relation |─M and |─M* are defined in the natural way but now |─M need not be single-valued: • One configuration may yield several others in one step. • NTMs will only be constructed as language acceptors • Only one accepting computation required for input to be accepted. UofH - COSC 3340 - Dr. Verma

  3. Example: L = {w {a, b}*: w contains an occurrence of the substring abaab a, b b a a b a L L L L a L # b, # b, # a, # b, # # UofH - COSC 3340 - Dr. Verma

  4. Example: L = {w {a, b}*: w contains an occurrence of the substring abaab} • The machine receives input in the form #w#, where w {a,b}*. • It first scans from the right to left and nondeterministically guesses a point in w to start checking for the specified pattern. • It checks to see that the next five symbols are, from right to left, b, a, a, b, a. • If this pattern is detected, the machine halts and therefore accepts the input string. • If a violation of this pattern is found, the machine goes into an infiniteloop. UofH - COSC 3340 - Dr. Verma

  5. Example: L = {In: n is composite} # • Given input #In# • Nondeterministically choose two numbers p, q > 1 and transform the input into #In #Ip #Iq #. See TM for writing Ip above. • Use the multiplication machine to transform the result of Step 1 into #In #Ip*q #. • Check to see that In= Ip*q; • this is easy, since only the lengths of these strings need to be compared. Halt if the lengths are equal; otherwise continue computing forever in some trivial fashion. RIR IR # # UofH - COSC 3340 - Dr. Verma

  6. Simulation Idea for NTM • DTM will explore the computation graph in BFS (breadth-first order ) fashion. • Enumerate all possible computation starting from all 1-step computations, then 2-step computations, … Initial configurations NTM 1 2 b NTM are designed as language acceptors only . . . 1 1 b ... b ... 1 b ... 2 2 2 . . . UofH - COSC 3340 - Dr. Verma halt & accept

  7. Simulation Idea for NTM … input tape 0 0 1 0 □ □ D … x x # 0 1 x □ simulation tape … 1 2 3 3 2 3 1 2 1 1 3 □ address tape Deterministic TM D simulating nondeterministic TM N UofH - COSC 3340 - Dr. Verma

  8. Simulation Idea for NTM N • Initially tape 1 contains the input w, and tapes 2 and 3 are empty. • Copy tape 1 onto tape 2. • Use tape 2 to simulate N with input w on one branch of its nondeterministic computation. • Consult tape 3 to determine which choice to make. • If no more symbol remain on tape 3 or if choice invalid, abort and go to next step. • Go to next step if a reject configuration is encountered • Replace the string on tape 3 with the lexicographically next string. Simulate the next branch of N’s computation by going to stage 2. UofH - COSC 3340 - Dr. Verma

  9. Church-Turing Thesis • The thesis states that: • The Turing Machine is the formal equivalent of the informal concept of algorithm. • It is NOT a theorem, since it cannot be proved. (Algorithm is an informal concept). • Recall, algorithm -- a sequence of precise steps, each of which can be executed in a finite amount of time with finite resources. • Precise means no intelligence or judgment required, can be executed literally. • [Historical Note: Stated by Alonzo Church and Alan Turing – Turing was a student of Church] UofH - COSC 3340 - Dr. Verma

  10. Evidence for the Thesis • All reasonable formal models so far have turned out to be equivalent to TM. • Reasonable -- means no infinite resources or power. • Examples of other formal models: • Post Correspondence systems • Random Access Machine model • Unrestricted grammars. • Partial Recursive Functions, etc. UofH - COSC 3340 - Dr. Verma

  11. Universal Turing Machine We shall assume that there are fixed countably infinite sets K = {q1, q2, q3, …} and  = {a1, a2, a3, …} such that for every TM, the state set is a finite subset of K and the tape alphabet is a finite subset of . UofH - COSC 3340 - Dr. Verma

  12. Universal Turing Machine (contd.) • Let c be another symbol • We encode TM over the two-symbol alphabet {c, I}. • Let M = (K, , , s) be a TM where now K  K and   . • Thus K = {qi1, qi2, …, qik} and  = {aj1, aj2, …, ajk} where i1 < i2< … < ikand j1 < j2 < … < jk • s = qimfor some m, 1 mk UofH - COSC 3340 - Dr. Verma

  13. Universal Turing Machine (contd.) • Next we define kl strings Spr the transition function where 1 pk and 1 rl • Let (qip, ajr) = (q’, b), where • q’  K  {h} • b    {L, R} • Let Spr = cw1cw2cw3cw4c, where • w1 = (qip) • w2 = (ajr) • w3 = (q’) • w4 = (b) UofH - COSC 3340 - Dr. Verma

  14. Universal Turing Machine (contd.) • A Universal TM uses the encoding (M) of other machines as programs to direct its operation. • Therefore, U takes two arguments • (M) – description of machine M • (w) – encoding of input string w and performs whatever M does on w. UofH - COSC 3340 - Dr. Verma

  15. Universal Turing Machine (contd.) • If Mhalts on input w, thenUhalts on an input consisting of the encoding of M followed by the encoding of w. • If Uhalts on an input consisting of the encoding of M followed by the encoding of w, thenMhalts on input w UofH - COSC 3340 - Dr. Verma

  16. Universal TM as a 3-tape TM Let U’ = 3-tape TM U’ uses it three tapes as follows: The first tape contains the encoding of the tapeof M The second tape contains the encodingof M itself The third tape contains the encoding of the state of M at the current point in the simulated computation. UofH - COSC 3340 - Dr. Verma

  17. Universal TM as a 3-tape TM U’ U’ is started with some string #(M)(w) on its first tape and the other two tapes are blank. • First U’ moves (M) onto the second tape and shift (w) down to the left end of the first tape, preceding it by #c(#) and following it by (#)c. Thus at this point the first tape contains #(#w#). • From (M), U’ extracts the encoding of the initial state of M, which it copies onto the third tape. UofH - COSC 3340 - Dr. Verma

  18. Universal TM as a 3-tape TM U’ (contd.) • U’ sets about simulating the steps of the computation of M • U’ keeps the head on the second and third tapes at the left • Since M starts off scanning the last blank of #w#,U’ should begin its simulation by moving its head on the first tape to the last c on the tape. UofH - COSC 3340 - Dr. Verma

  19. Universal TM as a 3-tape TM U’ (contd.) • Now U’ finds on its second tape the block of the form ccIicIjcIkcIlcc such that • Ii is the sting of I’s ending at the current head position on the third tape • Ij is that on the first tape, and changes the first tape appropriately. • Finally, U’ puts Ik on the third tape and checks whether the third tape now contains (h). • If it does not, then U’ simulates another computation step by M • If it does, then U’ itself halts. UofH - COSC 3340 - Dr. Verma

More Related