# 1 CSC3130 Formal Languages and Automata Theory Tutorial 9 Undecidable Problem KN Hung SHB 1026.

## Presentation on theme: "1 CSC3130 Formal Languages and Automata Theory Tutorial 9 Undecidable Problem KN Hung SHB 1026."— Presentation transcript:

1 CSC3130 Formal Languages and Automata Theory Tutorial 9 Undecidable Problem KN Hung SHB 1026

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

3 Recap

4 Recap: Recognize Given a language L and a machine M “ M recognizes L ” 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

5 Recap: Decide Given a language L and a machine M “ M decides L ” 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

6 Recognize VS Decide Recognize = Halts for accepting input Decide = Halts for all inputs Decide => Recognize Make sure that you can distinguish these two concepts!

7 Recap: ~able / ~ability L is Turing-recognizable iff there is a TM that recognizes L L is decidable iff there is a TM that decides L L is undecidable iff there is no TM that decides L

8 Recognizability VS Decidibility Turing- Recognizable Decidable For a language, L, located here, there is no machine that halts for all input string

9 Some Decidable Problems The following problems are decidable –A DFA = { | A is a DFA that accepts w} –A NFA = { | A is a NFA that accepts w} –E DFA = { | A is a DFA and L(A) = Ø} –EQ DFA = { | A, B are DFAs, L(A) = L(B)} –A CFG = { | G is a CFG that generates w}

10 Some Undecidable Problems The following problems are undecidable –A TM = { | M is a TM that accepts w} To prove undecidability of a problem using reduction, A TM is used very frequently (nearly in all situations) Used in Example 1 and 2 (Later slides)

11 Reduction

12 Reduction Occurs in daily life… Problem A : Travel to Japan Problem B : Buying a air ticket to Japan Problem A reduces to Problem B –Meaning: Settling B automatically solves A –Put in logical statement: B is solvable  A is solvable

13 Reduction Buy an air ticket Travel to Japan Reduce to The problem “To buy an air ticket” encloses The problem “To travel to Japan”

14 Reduction B A Reduce to Problem B “encloses” A So, B is solved => A is solved Thus, B is no harder than A !

15 Reduction 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 B A Reduced to

16 Undecidable Problems

17 Example 1 Show that REGULAR TM is undecidable REGULAR TM = { | M is a TM and L(M) is a regular language }

18 REGULAR TM is undecidable? Idea (By Contradiction): –Assume there is a TM R that decides REGULAR TM –Construct a TM S that decides A TM –Contradiction!

19 Construction of S On input –where M is a TM and w is a string: Construct M’ by M and w Run R on Output the answer

20 Idea of M’ Strategy: Convert M into another TM M’ : M’ recognizes a regular language iff M accepts w If M accepts w, let M’ recognizes {0, 1}* Otherwise, let M’ recognizes {0 n 1 n } With the above properties –When we run R on, the output is “accept” iff M accepts w –Why…? [See next few slides…]

21 Construction of M’ M’ = “On input x : 1. If x has the form 0 n 1 n, accept 2. If x does not have this form, run M on input w and output answer” {0 n 1 n } is recognized by M’ anyway How about the other strings?

22 Construction of M’ For strings of form 0 n 1 n, 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 : 1. If x has the form 0 n 1 n, accept 2. If x does not have this form, run M on input w and output answer”

23 L(M’) in relation to S If M accepts w –M’ recognizes {0 n 1 n } ∪ {0,1}* –{0,1}* is regular –R will accept M’ If M does not accept w –M’ recognizes {0 n 1 n } ∪ Ø –{0 n 1 n } is not regular –R will reject M’

24 REGULAR TM is undecidable Assume “ R that decides REGULAR TM ” exists We construct S to decide A TM “On input, where M is a TM and w is a string: 1.Construct the following TM M’ M’ = “On input x : 1.If x has the form 0 n 1 n, accept 2.If x does not have this form, run M on input w and accept if M accepts w ” 2. Run R on input 3. Output the output of R ” Now, S decides A TM … Contradiction!

25 Example 2 L = { | M accepts all strings shorter than w} Show that L is undecidable

26 L is undecidable? L = { | M accepts all strings shorter than w} Again, we try to use the undecidability of A TM to achieve a contradiction Idea (By Contradiction): –Assume there is a TM R that decides L –Construct a TM (by R ), S that decides A TM –Contradiction!

27 Construction of S On input –where M is a TM and w is a string: Construct M’ by M and w Run R on –This time, we have a TM that takes 2 arguments – a TM, and a string – as inputs –Think what string to put as the 2 nd input Output the answer

28 Idea of M’ Strategy: Convert M into another TM M’ : M’ accepts all strings shorter than z iff M accepts w We want to achieve the following: –When we run R on, the output is “accept” iff M accepts w

29 Idea of M’ Strategy: Convert M into another TM M’ : M’ accepts all strings shorter than “ 1 ” iff M accepts w We want to achieve the following: –When we run R on, the output is “accept” iff M accepts w

30 Construction of M’ M’ = “On input x : 1. If x =ε Run M on w Output the answer 2. If x ≠ε Reject

31 Construction of M’ For M’ –If M accepts w the only possibility is input isε AND M’ 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”

32 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”

33 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 Otherwise (i.e., M loops on or rejects w ) –L(M’) = Ø –S rejects

34 L is undecidable Assume “ R that decides REGULAR TM ” exists We construct S to decide A TM “On input, where M is a TM and w is a string: 1.Construct the following TM M’ M’ = “On input x : 1. If x =ε Run M on x Output the answer 2. If x ≠ε Reject 2. Run R on input 3. Output the output of R ” Now, S decides A TM … Contradiction!

35 Conclusion

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

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 Pf: Undecidability by Reduction R MM’ Modify Input w

38 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 MM’ Modify Input w

39 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 A TM –Contradiction!! Pf: Undecidability by Reduction R MM’ Modify Input “M acc w” then ACC Otherwise, REJ w

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

Download ppt "1 CSC3130 Formal Languages and Automata Theory Tutorial 9 Undecidable Problem KN Hung SHB 1026."

Similar presentations