AND M

advertisement
CSC3130
Formal Languages and
Automata Theory
Tutorial 9
Undecidable Problem
KN Hung
SHB 1026
1
Agenda
• Recap
– Decidibility, Undecidibility, TuringRecognizable …
• Reduction
• Undecidable Problem
2
Recap
3
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
4
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
5
Recognize VS Decide
•
•
•
•
Recognize = Halts for accepting input
Decide = Halts for all inputs
Decide => Recognize
Make sure that you can distinguish these
two concepts!
6
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
7
Recognizability VS Decidibility
TuringRecognizable
Decidable
For a language, L, located here,
there is no machine that halts
for all input string
8
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}
9
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)
10
Reduction
11
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
12
Reduction
Buy an air ticket
Reduce to
Travel to Japan
The problem “To buy an air ticket”
encloses
The problem “To travel to Japan”
13
Reduction
B
Reduce to
A
Problem B “encloses” A
So, B is solved => A is solved
Thus, B is no harder than A!
14
Reduction
• A reduces to B
• A is reducible to B
B
Reduced to
A
– 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
15
Undecidable Problems
16
Example 1
• Show that REGULARTM is undecidable
• REGULARTM = {<M> | M is a TM and L(M)
is a regular language}
17
REGULARTM is undecidable?
• Idea (By Contradiction):
– Assume there is a TM R that decides
REGULARTM
– Construct a TM S that decides ATM
– Contradiction!
18
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
19
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 {0n1n}
• With the above properties
– When we run R on <M’>,
the output is “accept” iff M accepts w
– Why…? [See next few slides…]
20
Construction of M’
• M’ = “On input x:
1. If x has the form 0n1n, accept
2. If x does not have this form,
run M on input w
and output answer”
• {0n1n} is recognized by M’ anyway
• How about the other strings?
21
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
M’ = “On input x:
• they all loop on M’
1. If x has the form 0n1n, accept
2. If x does not have this form,
run M on input w
and output answer”
22
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’
23
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:
1. Construct the following TM M’
M’ = “On input x:
1. If x has the form 0n1n, 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 <M’>
3. Output the output of R”
•
Now, S decides ATM… Contradiction!
24
Example 2
• L = {<M, w> | M accepts all strings shorter
than w}
• Show that L is undecidable
25
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!
26
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
27
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 <M’, z>,
the output is “accept” iff M accepts w
28
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 <M’, “1”>,
the output is “accept” iff M accepts w
29
Construction of M’
• M’ = “On input x:
1. If x =ε
Run M on w
Output the answer
2. If x ≠ε
Reject
30
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”
31
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”
32
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”>
33
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:
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 <M’, “1”>
3. Output the output of R”
• Now, S decides ATM… Contradiction!
34
Conclusion
35
Pf: Undecidability by Reduction
• Given an undecidable language, L
• Assume such a decider TM R, exists
R
36
Pf: Undecidability by Reduction
• Given an undecidable language, L
• Assume such a decider TM R, exists
• Construct a TM, M’, by M and w
– M is from input
Modify
M
R
Input
M’
w
37
Pf: Undecidability by Reduction
• 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
Modify
M
R
Input
M’
w
38
Pf: Undecidability by Reduction
“M acc w”
then ACC
• 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
Modify
M
Otherwise,
REJ
R
Input
M’
w
– 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!!
39
Q&A
• Thanks for coming!
• I understand that this topic is confusing…
• Should have some questions?
40
Download