CSCI 2670 Introduction to Theory of Computing - PowerPoint PPT Presentation

About This Presentation
Title:

CSCI 2670 Introduction to Theory of Computing

Description:

Title: PowerPoint Presentation Author: Wim van Dam Last modified by: Shelby Funk Created Date: 8/27/2001 7:35:01 AM Document presentation format: Letter Paper (8.5x11 in) – PowerPoint PPT presentation

Number of Views:112
Avg rating:3.0/5.0
Slides: 25
Provided by: Wimva9
Learn more at: http://cobweb.cs.uga.edu
Category:

less

Transcript and Presenter's Notes

Title: CSCI 2670 Introduction to Theory of Computing


1
CSCI 2670Introduction to Theory of Computing
October 6, 2005
2
Agenda
  • Yesterday
  • Variants of Turing machines
  • Allow stay put state
  • Multiple tapes
  • Today
  • Quick revisit of multiple tapes
  • Non-determinism
  • Prove equivalence of deterministic and
    nondeterministic Turing machines
  • Enumerators
  • Prove equivalence of enumerators and
    deterministic Turing machines

3
Announcements
  • Homework due next Tuesday
  • 3.7, 3.15 b c, 3.16 d
  • 3.7 and 3.15 are same in both texts
  • 3.16 d Show the collection of
    Turing-recognizable languages is closed under the
    operation of intersection.

4
Corollary
  • Corollary A language is Turing-recognizable if
    and only if some multitape Turing machine
    recognizes it.

5
Example
  • Using 2-tape Turing machine, write a copy machine
  • Copy tape 1 to tape 2
  • Move tape 1 to beginning
  • Copy tape 1 to tape 2
  • Accept

6
Copy machine
7
Copy machine
8
Nondeterministic Turing machines
  • Same as standard Turing machines, but may have
    one of several choices at any point
  • d Q ? ? P(Q ? L,R)

9
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.

10
Proof idea
Input tape never changes
Computation tape
Decision path
Try new decision paths until the string is
accepted
11
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

12
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

13
Nondeterministic solution
  • Nondeterministically choose the midpoint
  • Mark this point on tape 2 and return tape 2s
    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

14
Tree representation
15
Deterministic equivalent
  • Assume midpoint is at beginning
  • If so accept
  • If not
  • Assume midpoint is after first symbol
  • If so accept
  • If not
  • Assume midpoint is after second symbol
  • If so accept
  • If not
  • etc.

16
How should it search the tree?
  • Breadth first search
  • Search all possibilities involving k steps before
    searching any possibilities involving (k1) steps
  • Whats wrong with depth first search?
  • If some sequence of choices results in never
    reaching a halting state, we will never get to
    the accept state

17
When does it halt?
  • When it reaches an accept state
  • Return accept

18
Will it halt on strings in the language?
  • Yes
  • 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

19
What about strings not in the language?
  • Wont halt
  • Thats okay

20
Equivalence of approaches
  • Corollary A language is Turing-recognizable if
    and only if some nondeterministic Turing machine
    recognizes it.

21
Equivalence of approaches
  • Corollary A language is Turing-decidable if and
    only if some nondeterministic Turing machine
    decides it.
  • Proof Very similar to the proof we just did

22
Enumerators
  • Instead of reading an input and processing it,
    enumerators start with an empty tape and print
    out strings in S

23
Machine equivalence
  • Theorem A language is Turing-recognizable if
    and only of some enumerator enumerates it.
  • Proof technique Construction in each direction

24
TM accept enumerator language
  • TM On input w
  • Run enumerator E. Every time E prints a string,
    compare it to w.
  • If w appears in the output, accept.
Write a Comment
User Comments (0)
About PowerShow.com