410 likes | 530 Views
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
E N D
CSC3130Formal Languages andAutomata TheoryTutorial 9Undecidable Problem KN Hung SHB 1026
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 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
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’ • M’ = “On input x: • If x =ε Run M on w Output the answer • 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 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 • 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 • Contradiction!! R Input Modify M M’ w
Q & A • Thanks for coming! • I understand that this topic is confusing… • Should have some questions?