Title: Reducibility
1Reducibility
2Problem is reduced to problem
If we can solve problem then we can solve
problem
3Problem is reduced to problem
If is decidable then is decidable
If is undecidable then is undecidable
4Example
the halting problem
is reduced to
the state-entry problem
5The state-entry problem
Inputs
Question
Does
enter state
on input ?
6Theorem
The state-entry problem is undecidable
Proof
Reduce the halting problem to
the state-entry problem
7Suppose we have a Decider for the state-entry
algorithm
YES
enters
state-entry problem decider
NO
doesnt enter
8We want to build a decider for the halting
problem
YES
halts on
Halting problem decider
NO
doesnt halt on
9We want to reduce the halting problem to the
state-entry problem
Halting problem decider
YES
YES
State-entry problem decider
NO
NO
10We need to convert one problem instance to the
other problem instance
Halting problem decider
YES
Convert Inputs ?
YES
State-entry problem decider
NO
NO
11Convert to
- From any halting state of add transitions
to
Single halt state
halting states
12halts on input
if and only if
halts on state on input
13Halting problem decider
YES
YES
State-entry problem decider
Generate
NO
NO
14We reduced the halting problem to the state-entry
problem
Since the halting problem is undecidable, the
state-entry problem is undecidable
END OF PROOF
15Another example
the halting problem
is reduced to
the blank-tape halting problem
16The blank-tape halting problem
Input
Turing Machine
Question
Does
halt when started with
a blank tape?
17Theorem
The blank-tape halting problem is undecidable
Proof
Reduce the halting problem to the
blank-tape halting problem
18Suppose we have a decider for the blank-tape
halting problem
halts on blank tape
YES
blank-tape halting problem decider
NO
doesnt halt on blank tape
19We want to build a decider for the halting
problem
YES
halts on
halting problem decider
NO
doesnt halt on
20We want to reduce the halting problem to the
blank-tape halting problem
Halting problem decider
YES
YES
Blank-tape halting problem decider
NO
NO
21We need to convert one problem instance to the
other problem instance
Halting problem decider
YES
YES
Blank-tape halting problem decider
Convert Inputs ?
NO
NO
22Construct a new machine
- When started on blank tape, writes
- Then continues execution like
step 1
step2
if blank tape
execute
then write
with input
23halts on input string
if and only if
halts when started with blank tape
24Halting problem decider
YES
YES
blank-tape halting problem decider
Generate
NO
NO
25We reduced the halting problem to the blank-tape
halting problem
Since the halting problem is undecidable, the
blank-tape halting problem is undecidable
END OF PROOF
26Summary of Undecidable Problems
Halting Problem
Does machine halt on input ?
Membership problem
Does machine accept string ?
27Blank-tape halting problem
Does machine halt when starting on blank
tape?
State-entry Problem
Does machine enter state on input
?
28Uncomputable Functions
29Uncomputable Functions
Values region
Domain
A function is uncomputable if it cannot be
computed for all of its domain
30An uncomputable function
maximum number of moves until any Turing machine
with states halts when started with the
blank tape
31Theorem
Function is uncomputable
Proof
Assume for contradiction that is
computable
Then the blank-tape halting problem is decidable
32Decider for blank-tape halting problem
Input machine
1. Count states of
2. Compute
3. Simulate for steps
starting with empty tape
If halts then return YES
otherwise return NO
33Therefore, the blank-tape halting problem is
decidable
However, the blank-tape halting problem is
undecidable
Contradiction!!!
34Therefore, function in uncomputable
END OF PROOF
35Undecidable Problems for Recursively Enumerable
Languages
36Take a recursively enumerable language
Decision problems
- contains two different strings
- of the same length?
All these problems are undecidable
37Theorem
For any recursively enumerable language
it is undecidable to determine whether is
empty
Proof
We will reduce the membership problem to this
problem
38Let be the TM with
Suppose we have a decider for the empty language
problem
YES
empty
empty language problem decider
NO
not empty
39We will build the decider for the membership
problem
YES
accepts
membership problem decider
NO
rejects
40We want to reduce the membership problem to the
empty language problem
Membership problem decider
NO
YES
empty language problem decider
YES
NO
41We need to convert one problem instance to the
other problem instance
Membership problem decider
NO
YES
Convert inputs ?
empty language problem decider
YES
NO
42Construct machine
On arbitrary input string
executes the same as with
When enters a final state, compare
with
Accept only if
43if and only if
is not empty
44Membership problem decider
NO
YES
empty language problem decider
construct
YES
NO
END OF PROOF