CSCI 2670 Introduction to Theory of Computing

1 / 22

# CSCI 2670 Introduction to Theory of Computing - PowerPoint PPT Presentation

CSCI 2670 Introduction to Theory of Computing. October 26, 2004. Agenda. Last week Decidability of languages involving DFA’s & CFG’s Non-decidability of the Turing machine acceptance problem A TM Today Revisit the A TM proof Finish Chapter 4 Problems Tomorrow

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'CSCI 2670 Introduction to Theory of Computing' - alma

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Agenda
• Last week
• Decidability of languages involving DFA’s & CFG’s
• Non-decidability of the Turing machine acceptance problem ATM
• Today
• Revisit the ATM proof
• Finish Chapter 4
• Problems
• Tomorrow
• Begin Chapter 5 (pp. 171 – 176)

October 26, 2004

Announcements

Announcements

• Homework due next Tuesday (11/2)
• 4.4, 4.8, 5.1, 5.2, 5.13
• No quiz this week
• Quiz next Tuesday
• No tutorials this week -- extra office hours instead
• Tuesday & Wednesday 3:00 – 5:00
• Or by appointment

October 26, 2004

Undecidability of ATM

Theorem: ATM is undecidable

Proof: (By contradiction) Assume ATM is decidable and let H be a decider for ATM

H(<M,w>) = {

accept if M accepts w

reject if M does not accept w

October 26, 2004

Proof (cont.)
• Consider the TM D that submits the string <M> as input to the TM M

D = “On input <M>, where M is a TM:

• Run H on input <M,<M>>
• If H accepts <M,<M>>, reject
• If H rejects <M,<M>>, accept”
• Since H is a decider, it must accept or reject
• Therefore, D is a decider as well
• D is a diagonalizing TM

October 26, 2004

Proof (cont.)
• What happens if D’s input is <D>?

D(<D>) = {

• D cannot exist!
• Therefore, H cannot exist – i.e., ATM is undecidable

reject if D accepts <D>

accept if D does not accept <D>

October 26, 2004

Recap
• Assume H decides ATM
• H(<M,w>) = accept if TM M accepts w, reject otherwise
• Define D using H
• D(<M>) returns opposite of H(<M,<M>>)
• Consider D(<D>)
• D accepts <D> if and only if D rejects <D>

October 26, 2004

• H(<A,w>) = accept if DFA A accepts w, reject otherwise
• Define D using H
• D(<A>) returns opposite of H(<A,<A>>)
• Consider D(<D>)
• D only accepts DFA’s as input … D is a TM
• Method does not apply

October 26, 2004

Apply this method to ATM-D
• Assume H decides ATM-D
• H(<M,w>) = accept if decider TM M accepts w, reject otherwise
• Problem
• What if M is not a decider and just a regular TM?
• How can we test our input?
• ATM-D is not decidable

October 26, 2004

Co-Turing recognizable

Definition: A language A is co-Turing-recognizable if Ā is Turing-recognizable.

Example:

EDFA = {<A> | A is a DFA and L(A) = }

EDFA = {S | S does not describe a DFA or S describes a DFA with a non-empty language}

• How would we decide this language?

October 26, 2004

Decidability and recognizability

Theorem: The language A is decidable if and only if it is both Turing-recognizable and co-Turing-recognizable

Proof: In two parts

• If A is decidable then A and Ā are Turing-recognizable
• Follows from definitions
• If A and Ā are Turing-recognizable then A is decidable

October 26, 2004

Decider for A
• Assume M1 recognizes A and M2 recognizes Ā
• Consider the following TM

M = “On input w:

• Run M1 and M2 on input w in parallel
• If M1 accepts, accept; if M2 accepts, reject”
• M must halt on w because at least on of the recognizers must halt on w
• If w  A, M1 must halt; otherwise, M2 must halt

October 26, 2004

Corollary
• ATM is not Turing-recognizable

Proof: ATM is Turing-recognizable, but not decidable. By previous theorem, ATM cannot be co-Turing-recognizable.

October 26, 2004

Proving dedicability of L
• Create a TM that decides L
• Your TM may invoke another TM that decides a language you know is decidable

October 26, 2004

Some decidable languages

• FDFA = {<A> | A is a DFA and L(A) is finite}
• PRIME = { n | n is a prime number}
• CONN = {<G> | G is a connected graph}
• L10DFA = {D | D is a DFA that accepts every string w with |w| = 10}
• INTCFG = {<G1, G2, w> | G1 and G2 are CFG’s and w is accepted by both}
• INTLCFG = L(G1 G2), where G1 and G2 are CFG’s

October 26, 2004

Group project 1

FDFA = {<A> | A is a DFA and L(A) is finite}

October 26, 2004

Group project 2

PRIME = { n | n is a prime number}

October 26, 2004

Group project 3

CONN = {<G> | G is a connected graph}

October 26, 2004

Group project 4

L10DFA = {D | D is a DFA that accepts every string w with |w| = 10}

October 26, 2004

Group project 5

INTCFG = {<G1, G2, w> | G1 and G2 are CFG’s and w is accepted by both}

October 26, 2004

Group project 6

INTLCFG = L(G1 G2), where G1 and G2 are CFG’s

October 26, 2004