Loading in 2 Seconds...

CSC3130 Formal Languages and Automata Theory Tutorial 9 Undecidable Problem

Loading in 2 Seconds...

- By
**osma** - Follow User

- 87 Views
- Uploaded on

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

**An Image/Link below is provided (as is) to download presentation**

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

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

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

- 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

Buy an air ticket

Reduce to

Travel to Japan

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

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

Example 1

- Show that REGULARTM is undecidable
- REGULARTM = {<M> | M is a TM and L(M) is a regular language}

REGULARTM is undecidable?

- Idea (By Contradiction):
- Assume there is a TM R that decides REGULARTM
- Construct a TM S that decides ATM
- Contradiction!

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’>
- Output the answer

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
- Idea (By Contradiction):
- Assume there is a TM R that decides L
- Construct a TM (by R), S that decides ATM
- Contradiction!

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
- Output the answer

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’

- 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

Output the answer

- If x ≠ε

Reject

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

3. Output the output of R”

- Now, S decides ATM… Contradiction!

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 ReductionR

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 ReductionR

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
- Contradiction!!

R

Input

Modify

M

M’

w

Q & A

- Thanks for coming!
- I understand that this topic is confusing…
- Should have some questions?

Download Presentation

Connecting to Server..