1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
-
date post
19-Dec-2015 -
Category
Documents
-
view
219 -
download
4
Transcript of 1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
The rest of the course deals with an important tool in Computability and Complexity theories, namely: Reductions.
The reduction technique enables us to use the undecidability of to prove many other languages undecidable.
Introduction
2
TMA
A reduction always involves two computational problems. Generally speaking, the idea is to show that a solution for some problem A induces a solution for problem B. If we know that B does not have a solution, we may deduce that A is also insolvable. In this case we say that B is reducible to A.
Introduction
3
In the context of undecidability: If we want to prove that a certain language L is undecidable. We assume by way of contradiction that L is decidable, and show that a decider for L, can be used to devise a decider for . Since is undecidable, so is the language L.
Introduction
4
TMATMA
Using a decider for L to construct a decider for , is called reducing L to .
Note: Once we prove that a certain language L is undecidable, we can prove that some other language, say L’ , is undecidable, by reducing L’ to L.
Introduction
5
TMA TMA
1. We know that A is undecidable.
2. We want to prove B is undecidable.
3. We assume that B is decidable and use this assumption to prove that A is decidable.
4. We conclude that B is undecidable.
Note: The reduction is from A to B.
Schematic of a Reduction
6
1. We know that A is undecidable. The only undecidable language we know, so far, is whose undecidability was proven directly. So we pick to play the role of A.
2. We want to prove B is undecidable.
Demonstration
7
TMA
TMA
2. We want to prove B is undecidable. We pick to play the role of B that is: We want to prove that is undecidable.
3. We assume that B is decidable and use this assumption to prove that A is decidable.
Demonstration
8
TMHALT
TMHALT
3. We assume that B is decidable and use this assumption to prove that A is decidable.In the following slides we assume (towards a contradiction) that is decidable and use this assumption to prove that is decidable.
4. We conclude that B is undecidable.
Demonstration
9
TMA
TMHALT
Consider
Theorem
is undecidable.
Proof
By reducing to .
The “Real” Halting Problem
10
wMwMHALTTM on haltsTM that a is ,
TMHALT
TMATMHALT
Assume by way of contradiction that is decidable.
Recall that a decidable set has a decider R: A TM that halts on every input and either accepts or rejects, but never loops!.
We will use the assumed decider of to devise a decider for .
Discussion
11
TMHALT
TMHALT
TMA
Recall the definition of :
Why is it impossible to decide ?
Because as long as M runs, we cannot determine whether it will eventually halt.
Well, now we can, using the decider R for .
Discussion
12
TMA
TMA
wMwMATM acceptsTM that a is ,
TMHALT
Assume by way of contradiction that is decidable and let R be a TM deciding it. In the next slide we present TM S that uses R as a subroutine and decides . Since is undecidable this constitutes a contradiction, so R does not exist.
Proof
13
TMHALT
TMA TMA
S=“On input where M is a TM:
1. Run R on input until it halts.
2. If R rejects, (i.e. M loops on w ) - reject.
(At this stage we know that R accepts, and we conclude that M halts on input w.)
3. Simulate M on w until it halts.
4. If M accepts - accept, otherwise - reject. “
Proof (cont.)
14
wM ,
wM ,
In the discussion, you saw how Diagonalization can be used to prove that is not decidable.
We can use this result to prove by reduction that is not decidable.
Another Example
15
TMA
TMHALT
Note: Since we already know that both and are undecidable, this new proof does not add any new information. We bring it here only for the the sake of demonstration.
Another Example
16
TMA
TMHALT
1. We know that A is undecidable. Now we pick to play the role of A.
2. We want to prove B is undecidable. We pick to play the role of B, that is: We want to prove that is undecidable.
3. We assume that B is decidable and use this assumption to prove that A is decidable.
Demonstration
17
TMHALT
TMA
TMA
3. We assume that B is decidable and use this assumption to prove that A is decidable.In the following slides we assume that is decidable and use this assumption to prove that is decidable.
4. We conclude that B is undecidable.
Demonstration
18
TMA
TMHALT
Let R be a decider for . Given an input for , R can be run with this input :If R accepts, it means that .This means that M accepts on input w. In particular, M stops on input w. Therefore, a decider for must accept too.wM ,
Discussion
19
wM ,
TMHALT
TMA
TMAwM ,
If however R rejects on input , a decider for cannot safely reject: M may be halting on w to reject it. So if M rejects w, a decider for must accept .
Discussion
20
TMHALT
wM ,
wM ,
TMHALT
How can we use our decider for ?The answer here is more difficult. The new decider should first modify the input TM, M, so the modified TM, , accepts, whenever TM M halts.
Since M is a part of the input, the modification must be a part of the computation.
Discussion
21
TMA
1M
Faithful to our principal “ If it ain’t broken don’t
fix it”, the modified TM keeps M as a subroutine, and the idea is quite simple:Let and be the accepting and rejecting states of TM M, respectively. In the modified TM, , and are kept as ordinary states.
Discussion
22
acceptq
1M
rejectq
acceptq rejectq
We continue the modification of M by adding a new accepting sate . Then we add two new transitions: A transition from to , and another transition from to .
This completes the description of . It is not hard to verify that accepts iff M halts.
acceptnq
Discussion
23
acceptq
rejectq
acceptnq
acceptnq
1M
1M
The final description of a decider S for is:
S=“On input where M is a TM:
1. Modify M as described to get .
2. Run R, the decider of with input .
3. If R accepts - accept, otherwise - reject. ”
Discussion
25
TMHALT
TMA
1M
wM ,1
wM ,
It should be noted that modifying TM M to get , is part of TM S, the new decider for , and can be carried out by it.
It is not hard to see that S decides . Since
is undecidable, we conclude that is undecidable too.
Discussion
26
1M
TMHALT
TMHALT
TMHALTTMA
We continue to demonstrate reductions by showing that the language , defined by
is undecidable.
Theorem
is undecidable.
The TM Emptiness Problem
27
M AndTM a is LMMETM
TME
TME
The proof is by reduction from :
1. We know that is undecidable.
2. We want to prove is undecidable.
3. We assume toward a contradiction that is decidable and devise a decider for .
4. We conclude that is undecidable.
Proof Outline
28
TME
TMA
TMA
TMATME
TME
Assume by way of contradiction that is decidable and let R be a TM deciding it. In the next slides we devise TM S that uses R as a subroutine and decides .
Proof
29
TME
TMA
Given an instance for , , we may try to run R on this instance. If R accepts, we know that . In particular, M does not accept w so a decider for must reject .
Proof
30
TMA
ML
wM ,
wM ,
TMA
What happens if R rejects? The only conclusion we can draw is that . What we need to know though is whether .
In order to use our decider R for , we once again modify the input machine M to obtain TM :
Proof
31
ML
MLw
TME
1M
We start with a TM satisfying .
Description of___
32
1M
MLML 1
1Macceptq
rejectq
M
startq
acceptnq
rejectnq
startnq
wM
wMwML
rejects if
accepts if 1
Now we add a filter to divert all inputs but w.
Description of___
33
1M
wx
wx
1Macceptq
rejectq
M
startq
acceptnq
rejectnq
startnq
wx filter
no
yes
TM has a filter that rejects all inputs excepts w, so the only input reaching M, is w.
Therefore, satisfies:
wM
wMwML
rejects if
accepts if 1
Proof
34
1M
1M
Here is a formal description of :
“On input x :
1. If - reject . 2. If - run M on w and accept if M accepts. ”
Note: M accepts w if and only if .
Proof
35
wx 1M
wx
1ML
1M
S=“On input where M is a TM:
1. Compute an encoding of TM . 2. Run R on input .
3. If R rejects - accept, otherwise - reject.
Proof
37
wM ,
1M 1M
1M