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