440 likes | 565 Views
Reducibility. Problem is reduced to problem. If we can solve problem then we can solve problem. Problem is reduced to problem. If is decidable then is decidable. If is undecidable then is undecidable. Example:. the halting problem. is reduced to.
E N D
Reducibility COMP 335
Problem is reduced to problem If we can solve problem then we can solve problem COMP 335
Problem is reduced to problem If is decidable then is decidable If is undecidable then is undecidable COMP 335
Example: the halting problem is reduced to the state-entry problem COMP 335
The state-entry problem Inputs: • Turing Machine • State • String Question: Does enter state on input ? COMP 335
Theorem: The state-entry problem is undecidable Proof: Reduce the halting problem to the state-entry problem COMP 335
Suppose we have a Decider for the state-entry algorithm: YES enters state-entry problem decider NO doesn’t enter COMP 335
We want to build a decider for the halting problem: YES halts on Halting problem decider NO doesn’t halt on COMP 335
We want to reduce the halting problem to the state-entry problem: Halting problem decider YES YES State-entry problem decider NO NO COMP 335
We need to convert one problem instance to the other problem instance Halting problem decider YES Convert Inputs ? YES State-entry problem decider NO NO COMP 335
Convert to : • Add new state • From any halting state of add transitions to Single halt state halting states COMP 335
halts on input if and only if halts on state on input COMP 335
Halting problem decider YES YES State-entry problem decider Generate NO NO COMP 335
We reduced the halting problem to the state-entry problem Since the halting problem is undecidable, the state-entry problem is undecidable END OF PROOF COMP 335
Another example: the halting problem is reduced to the blank-tape halting problem COMP 335
The blank-tape halting problem Input: Turing Machine Question: Does halt when started with a blank tape? COMP 335
Theorem: The blank-tape halting problem is undecidable Proof: Reduce the halting problem to the blank-tape halting problem COMP 335
Suppose we have a decider for the blank-tape halting problem: halts on blank tape YES blank-tape halting problem decider NO doesn’t halt on blank tape COMP 335
We want to build a decider for the halting problem: YES halts on halting problem decider NO doesn’t halt on COMP 335
We want to reduce the halting problem to the blank-tape halting problem: Halting problem decider YES YES Blank-tape halting problem decider NO NO COMP 335
We need to convert one problem instance to the other problem instance Halting problem decider YES YES Convert Inputs ? Blank-tape halting problem decider NO NO COMP 335
Construct a new machine • When started on blank tape, writes • Then continues execution like step 1 step2 if blank tape execute then write with input COMP 335
halts on input string if and only if halts when started with blank tape COMP 335
Halting problem decider YES YES blank-tape halting problem decider Generate NO NO COMP 335
We 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 COMP 335
Summary of Undecidable Problems Halting Problem: Does machine halt on input ? Membership problem: Does machine accept string ? COMP 335
Blank-tape halting problem: Does machine halt when starting on blank tape? State-entry Problem: Does machine enter state on input ? COMP 335
Uncomputable Functions COMP 335
Uncomputable Functions Values region Domain A function is uncomputable if it cannot be computed for all of its domain COMP 335
An uncomputable function: maximum number of moves until any Turing machine with states halts when started with the blank tape COMP 335
Theorem: Function is uncomputable Proof: Assume for contradiction that is computable Then the blank-tape halting problem is decidable COMP 335
Decider 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 COMP 335
Therefore, the blank-tape halting problem is decidable However, the blank-tape halting problem is undecidable Contradiction!!! COMP 335
Therefore, function in uncomputable END OF PROOF COMP 335
Undecidable Problems for Recursively Enumerable Languages COMP 335
Take a recursively enumerable language Decision problems: • is empty? • is finite? • contains two different strings • of the same length? All these problems are undecidable COMP 335
Theorem: For any recursively enumerable language it is undecidable to determine whether is empty Proof: We will reduce the membership problem to this problem COMP 335
Let be the TM with Suppose we have a decider for the empty language problem: YES empty empty language problem decider NO not empty COMP 335
We will build the decider for the membership problem: YES accepts membership problem decider NO rejects COMP 335
We want to reduce the membership problem to the empty language problem: Membership problem decider NO YES empty language problem decider YES NO COMP 335
We need to convert one problem instance to the other problem instance Membership problem decider NO YES Convert inputs ? empty language problem decider YES NO COMP 335
Construct machine : On arbitrary input string executes the same as with When enters a final state, compare with Accept only if COMP 335
if and only if is not empty COMP 335
Membership problem decider NO YES empty language problem decider construct YES NO END OF PROOF COMP 335