CSC3130 Formal Languages and Automata Theory Tutorial 9 Undecidable Problem

1 / 40

# CSC3130 Formal Languages and Automata Theory Tutorial 9 Undecidable Problem - PowerPoint PPT Presentation

CSC3130 Formal Languages and Automata Theory Tutorial 9 Undecidable Problem. KN Hung SHB 1026. Agenda. Recap Decidibility, Undecidibility, Turing-Recognizable … Reduction Undecidable Problem. Recap. Recap: Recognize. Given a language L and a machine M “ M recognizes L ” iff

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

## PowerPoint Slideshow about ' CSC3130 Formal Languages and Automata Theory Tutorial 9 Undecidable Problem' - osma

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

### CSC3130Formal Languages andAutomata TheoryTutorial 9Undecidable Problem

KN Hung

SHB 1026

Agenda
• Recap
• Decidibility, Undecidibility, Turing-Recognizable …
• Reduction
• Undecidable Problem

### Recap

Recap: Recognize
• Given a language L and a machine M

“MrecognizesL” iff

“For any w ∈ L, M halts and goes to an accepting state”

• “M is a recognizer for L”
• However, for w ∉ L, M may
• Reject
• Loop forever
Recap: Decide
• Given a language L and a machine M

“MdecidesL” iff

“For any w ∈ L, M halts and accepts AND

Otherwise, M rejects”

• “M is a decider for L”
• Meaning: M can determine whether a given string is in L or not
Recognize VS Decide
• Recognize = Halts for accepting input
• Decide = Halts for all inputs
• Decide => Recognize
• Make sure that you can distinguish these two concepts!
Recap: ~able / ~ability
• L is Turing-recognizable iffthere is a TM that recognizes L
• L is decidable iffthere is a TM that decides L
• L is undecidable iffthere is no TM that decides L
Recognizability VS Decidibility

Turing-Recognizable

Decidable

For a language, L, located here,there is no machine that halts for all input string

Some Decidable Problems
• The following problems are decidable
• ADFA = {<A, w> | A is a DFA that accepts w}
• ANFA = {<A, w> | A is a NFA that accepts w}
• EDFA= {<A, w> | A is a DFA and L(A) = Ø}
• EQDFA = {<A, B> | A, B are DFAs, L(A) = L(B)}
• ACFG = {<G, w> | G is a CFG that generates w}
Some Undecidable Problems
• The following problems are undecidable
• ATM = {<M, w> | M is a TM that accepts w}
• To prove undecidability of a problem using reduction, ATM is used very frequently (nearly in all situations)
• Used in Example 1 and 2 (Later slides)

### Reduction

Reduction
• Occurs in daily life…
• Problem A: Travel to Japan
• Problem B: Buying a air ticket to Japan
• Problem Areduces toProblem B
• Meaning: Settling B automatically solves A
• Put in logical statement:

B is solvable  A is solvable

Reduction

Reduce to

Travel to Japan

The problem “To buy an air ticket”enclosesThe problem “To travel to Japan”

Reduction

B

Reduce to

A

Problem B“encloses”ASo, B is solved => A is solvedThus, B is no harder than A!

Reduction

B

• A reduces to B
• A is reducible to B
• If B is solved, then A is solved
• i.e., Whenever there is a solution to B,then there is a solution to A
• If A cannot be solved, then B cannot be solved (Contrapositive)
• Thus, B is no harder than A

Reduced to

A

### Undecidable Problems

Example 1
• Show that REGULARTM is undecidable
• REGULARTM = {<M> | M is a TM and L(M) is a regular language}
REGULARTM is undecidable?
• Assume there is a TM R that decides REGULARTM
• Construct a TM S that decides ATM
Construction of S
• On input <M, w>
• where M is a TM and w is a string:
• Construct M’ by M and w
• Run R on <M’>
Idea of M’
• Strategy: Convert M into another TM M’: M’ recognizes a regular languageiffM accepts w
• If M accepts w, let M’ recognizes {0, 1}*
• Otherwise, let M’ recognizes {0n1n}
• With the above properties
• When we run R on <M’>,

the output is “accept” iffM accepts w

• Why…? [See next few slides…]
Construction of M’
• M’ = “On input x:
• If x has the form 0n1n, accept
• If x does not have this form, run M on input wand output answer”
• {0n1n} is recognized by M’ anyway
• How about the other strings?
Construction of M’
• For strings of form 0n1n, M’ accepts
• For all the other strings, listing all cases…
• If M accepts w
• they are all accepted by M’
• If M rejects w
• they are all rejected by M’
• If M loops on w
• they all loop on M’
• M’ = “On input x:
• If x has the form 0n1n, accept
• If x does not have this form, run M on input wand output answer”
L(M’)in relation to S
• If M accepts w
• M’ recognizes {0n1n}∪{0,1}*
• {0,1}* is regular
• R will accept M’
• If M does not accept w
• M’ recognizes {0n1n}∪Ø
• {0n1n} is not regular
• R will reject M’
REGULARTM is undecidable
• Assume “R that decides REGULARTM” exists
• We construct S to decide ATM

“On input <M, w>, where M is a TM and w is a string:

• Construct the following TM M’

M’ = “On input x:

• If x has the form 0n1n, accept
• If x does not have this form, run M on input w and accept if M accepts w”

2. Run R on input <M’>

3. Output the output of R”

• Now, S decides ATM… Contradiction!
Example 2
• L = {<M, w> |M accepts all strings shorter than w}
• Show that L is undecidable
L is undecidable?
• L = {<M, w> |M accepts all strings shorter than w}
• Again, we try to use the undecidability of ATM to achieve a contradiction
• Assume there is a TM R that decides L
• Construct a TM (by R), S that decides ATM
Construction of S
• On input <M, w>
• where M is a TM and w is a string:
• Construct M’ by M and w
• Run R on <M’, ?>
• This time, we have a TM that takes 2 arguments – a TM, and a string – as inputs
• Think what string to put as the 2nd input
Idea of M’
• Strategy: Convert M into another TM M’: M’ accepts all strings shorter than ziffM accepts w
• We want to achieve the following:
• When we run R on <M’, z>,

the output is “accept” iffM accepts w

Idea of M’
• Strategy: Convert M into another TM M’: M’ accepts all strings shorter than “1”iffM accepts w
• We want to achieve the following:
• When we run R on <M’, “1”>,

the output is “accept” iffM accepts w

Construction of M’
• M’ = “On input x:
• If x =ε

Run M on w

• If x ≠ε

Reject

Construction of M’
• For M’
• If M accepts w
• the only possibility is input isε ANDM’ accepts ε
• If M rejects w,
• Case 1: x=ε
• M’ rejects
• Case 2: x ≠ε
• M’ rejects
• If M loops on w
• Case 1: x=ε
• M’ loops
• Case 2: x ≠ε
• M’ rejects
• M’ = “On input x:
• If x =ε run M on w and output answer
• If x ≠ε reject”
Construction of M’
• For M’
• If M accepts w
• M’ accepts only ε
• Otherwise
• M’ does not accepts any string
• including ε
• M’ = “On input x:
• If x =ε run M on w and output answer
• If x ≠ε reject”
L(M’)in relation to S
• If M accepts w
• L(M’) = {ε}
• {ε} is exactly the language that contains all string shorter than “1”
• S accepts <M’, “1”>
• Otherwise (i.e., M loops on or rejects w)
• L(M’) = Ø
• S rejects <M’, “1”>
L is undecidable
• Assume “R that decides REGULARTM” exists
• We construct S to decide ATM

“On input <M, w>, where M is a TM and w is a string:

• Construct the following TM M’M’ = “On input x:
• If x =ε

Run M on x

• If x ≠ε

Reject

2. Run R on input <M’, “1”>

3. Output the output of R”

• Now, S decides ATM… Contradiction!

### Conclusion

Pf: Undecidability by Reduction
• Given an undecidable language, L
• Assume such a decider TM R, exists

R

Given an undecidable language, L

Assume such a decider TM R, exists

Construct a TM, M’, by M and w

M is from input

Pf: Undecidability by Reduction

R

Input

Modify

M

M’

w

37

Given an undecidable language, L

Assume such a decider TM R, exists

Construct a TM, M’, by M and w

M is from input

Feed M’ to R

Pf: Undecidability by Reduction

R

Input

Modify

M

M’

w

38

Pf: Undecidability by Reduction

“M acc w” then ACC

Otherwise,REJ

• Given an undecidable language, L
• Assume such a decider TM R, exists
• Construct a TM, M’, by M and w
• M is from input
• Feed M’ to R
• If you are right
• R will accept M’iff M accepts w
• R will reject M’iff M does not accept w
• Thus, you obtain a decider for ATM

R

Input

Modify

M

M’

w

Q & A
• Thanks for coming!
• I understand that this topic is confusing…
• Should have some questions?