csc3130 formal languages and automata theory tutorial 9 undecidable problem
Download
Skip this Video
Download Presentation
CSC3130 Formal Languages and Automata Theory Tutorial 9 Undecidable Problem

Loading in 2 Seconds...

play fullscreen
1 / 40

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


  • 87 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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
csc3130 formal languages and automata theory tutorial 9 undecidable problem

CSC3130Formal Languages andAutomata TheoryTutorial 9Undecidable Problem

KN Hung

SHB 1026

agenda
Agenda
  • Recap
    • Decidibility, Undecidibility, Turing-Recognizable …
  • Reduction
  • Undecidable Problem
recap recognize
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
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 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
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
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
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
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)
reduction1
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

reduction2
Reduction

Buy an air ticket

Reduce to

Travel to Japan

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

reduction3
Reduction

B

Reduce to

A

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

reduction4
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
Example 1
  • Show that REGULARTM is undecidable
  • REGULARTM = {<M> | M is a TM and L(M) is a regular language}
regular tm is undecidable
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
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
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
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 m1
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
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’
regular tm is undecidable1
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
Example 2
  • L = {<M, w> |M accepts all strings shorter than w}
  • Show that L is undecidable
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 s1
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 m1
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 m2
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 m2
Construction of M’
  • M’ = “On input x:
    • If x =ε

Run M on w

Output the answer

    • If x ≠ε

Reject

construction of m3
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 m4
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 s1
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 undecidable1
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!
pf undecidability by reduction
Pf: Undecidability by Reduction
  • Given an undecidable language, L
  • Assume such a decider TM R, exists

R

pf undecidability by reduction1
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

pf undecidability by reduction2
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 reduction3
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

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