190 likes | 272 Views
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
E N D
COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 23 UofH - COSC 3340 - Dr. Verma
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
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
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
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
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
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
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
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
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
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
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 mk UofH - COSC 3340 - Dr. Verma
Universal Turing Machine (contd.) • Next we define kl strings Spr the transition function where 1 pk and 1 rl • 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
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
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
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
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
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
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