Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCI 2670 Introduction to Theory of Computing

Similar presentations


Presentation on theme: "CSCI 2670 Introduction to Theory of Computing"— Presentation transcript:

1 CSCI 2670 Introduction to Theory of Computing
October 13, 2004

2 Agenda Yesterday Today Variants of Turing machines
Allow “stay put” state Multiple tapes Nondeterministic Today Prove equivalence of deterministic and nondeterministic Turing machines Enumerators October 13, 2004

3 Announcements Quiz tomorrow Reminder: tutorial sessions are back
High-level description of TM Trace through a TM’s operation Tape notation & configuration notation High-level description of equivalences Reminder: tutorial sessions are back Office hours return to normal Tuesday 3:00 – 4:00 Wednesday 3:00 – 4:00 October 13, 2004

4 Nondeterministic Turing machines
Same as standard Turing machines, but may have one of several choices at any point δ : Q × Г → P(Q × Г × {L,R}) October 13, 2004

5 Equivalence of machines
Theorem: Every nondeterministic Turing machine has an equivalent deterministic Turing machine Proof method: construction Proof idea: Use a 3-tape Turing machine to deterministically simulate the nondeterministic TM. First tape keeps copy of input, second tape is computation tape, third tape keeps track of choices. October 13, 2004

6 Try new decision paths until the string is accepted
Proof idea M ~ ~ ~ ~ a a # ~ ~ ~ ~ ~ ~ Input tape never changes Computation tape Decision path Try new decision paths until the string is accepted October 13, 2004

7 Intuition Consider the nondeterministic calculations as a tree
Each node represents a configuration A node for configuration C1 has one child for each configuration C2 such that C1 yields C2 Root of tree is configuration q1w A configuration may appear more than once in the tree October 13, 2004

8 Example Nondeterministic TM that accepts {ww | w  {a,b}*} Use 2 tapes
Copy input to tape 2 Position heads at beginning of tapes Move both heads right simultaneously October 13, 2004

9 Nondeterministic solution
Nondeterministically choose the midpoint Mark this point on tape 2 and return tape 2’s head to beginning Compare strings If tape head points to ~ on tape 1 and midpoint marker on tape 2 then accept Otherwise, if all possible midpoints have been tried then reject Otherwise, try a new midpoint October 13, 2004

10 Nondeterministic TM (a,~) → {a,a},{R,R} {b,~} → {b,b},{R,R}
(~,~) → (L,L) qaccept (a,a) → (a,x),(S,Res) (b,b) → (b,x),(S,Res) qreject (a,~) → {a,a},{R,R} {b,~} → {b,b},{R,R} (a,x) → {a,a},{R,R} {b,x} → {b,b},{R,R} (a,a) → (L,L) (b,b) → (L,L) (a,a) → (R,R) (b,b) → (R,R) (~,x) → (S,S) (a,b), (b,a), (a,x), (b,x), (~,a), (~,b) → (Res,Res) October 13, 2004

11 … Tree representation Move right Compare Right Compare Accept Reset
October 13, 2004

12 Deterministic equivalent
Assume midpoint is at beginning If so accept If not … Assume midpoint is after first symbol Assume midpoint is after second symbol etc. … October 13, 2004

13 How should it search the tree?
Breadth first search Search all possibilities involving k steps before searching any possibilities involving (k+1) steps What’s wrong with depth first search? If some sequence of choices results in no halting, we will never get to the accept state October 13, 2004

14 When does it halt? When it reaches an accept state or Return accept
October 13, 2004

15 Will it halt on strings in the language?
Yes if the TM accepts the input string Let b be the largest number of children of any node Can we be sure b is finite? Let k be the minimum number of steps it takes to get to the accept state This method will take at most bk steps to get to the accept state October 13, 2004

16 What about strings not in the language?
Won’t halt That’s okay October 13, 2004

17 Equivalence of approaches
Corollary: A language is Turing-recognizable if and only if some nondeterministic Turing machine recognizes it. October 13, 2004

18 Equivalence of approaches
Corollary: A language is Turing-decidable if and only if some nondeterministic Turing machine decides it. Proof: Homework Modify proof in the book October 13, 2004


Download ppt "CSCI 2670 Introduction to Theory of Computing"

Similar presentations


Ads by Google