840 likes | 858 Views
This lecture series discusses reductions in computational complexity theory, demonstrating how problems can be reduced to other problems to facilitate their solution. The lecture covers the definition of reductions, the relationship between reducibility and decidability, and provides examples of reductions in various problem domains.
E N D
Busch Complexity Lectures:Reductions Prof. Busch - LSU
Problem is reduced to problem If we can solve problem then we can solve problem Prof. Busch - LSU
Definition: Language is reduced to language There is a computable function (reduction) such that: Prof. Busch - LSU
Recall: Computable function : There is a deterministic Turing machine which for any string computes Prof. Busch - LSU
Theorem: If: a: Language is reduced to b: Language is decidable Then: is decidable Proof: Basic idea: Build the decider for using the decider for Prof. Busch - LSU
Decider for Reduction YES Input string YES accept accept compute Decider for (halt) (halt) NO NO reject reject (halt) (halt) END OF PROOF Prof. Busch - LSU
Example: is reduced to: Prof. Busch - LSU
We only need to construct: Turing Machine for reduction DFA Prof. Busch - LSU
Let be the language of DFA Let be the language of DFA Turing Machine for reduction DFA construct DFA by combining and so that: Prof. Busch - LSU
Decider for Reduction Input string YES compute YES Decider NO NO Prof. Busch - LSU
Theorem (version 1): If: a: Language is reduced to b: Language is undecidable Then: is undecidable (this is the negation of the previous theorem) Proof: Suppose is decidable Using the decider for build the decider for Contradiction! Prof. Busch - LSU
If is decidable then we can build: Decider for Reduction YES Input string YES accept accept compute Decider for (halt) (halt) NO NO reject reject (halt) (halt) CONTRADICTION! END OF PROOF Prof. Busch - LSU
Observation: In order to prove that some language is undecidable we only need to reduce a known undecidable language to Prof. Busch - LSU
State-entry problem Input: • Turing Machine • State • String Question: Does enter state while processing input string ? Corresponding language: Prof. Busch - LSU
Theorem: is undecidable (state-entry problem is unsolvable) Proof: Reduce (halting problem) to (state-entry problem) Prof. Busch - LSU
Halting Problem Decider Decider for state-entry problem decider Reduction YES YES Compute Decider NO NO Given the reduction, if is decidable, then is decidable A contradiction! since is undecidable Prof. Busch - LSU
We only need to build the reduction: Reduction Compute So that: Prof. Busch - LSU
Construct from : special halt state halting states A transition for every unused tape symbol of Prof. Busch - LSU
special halt state halting states halts halts on state Prof. Busch - LSU
Therefore: halts on input halts on state on input Equivalently: END OF PROOF Prof. Busch - LSU
Blank-tape halting problem Input: Turing Machine Question: Does halt when started with a blank tape? Corresponding language: Prof. Busch - LSU
Theorem: is undecidable (blank-tape halting problem is unsolvable) Proof: Reduce (halting problem) to (blank-tape problem) Prof. Busch - LSU
Halting Problem Decider Decider for blank-tape problem decider Reduction YES YES Compute Decider NO NO Given the reduction, If is decidable, then is decidable A contradiction! since is undecidable Prof. Busch - LSU
We only need to build the reduction: Reduction Compute So that: Prof. Busch - LSU
Construct from : Accept and halt no Tape is blank? yes Run Write on tape with input If halts then halt Prof. Busch - LSU
Accept and halt no Tape is blank? yes Run Write on tape with input halts on input halts when started on blank tape Prof. Busch - LSU
halts on input halts when started on blank tape Equivalently: END OF PROOF Prof. Busch - LSU
Theorem (version 2): If: a: Language is reduced to b: Language is undecidable Then: is undecidable Proof: Suppose is decidable Then is decidable Using the decider for build the decider for Contradiction! Prof. Busch - LSU
Suppose is decidable reject Decider for (halt) accept (halt) Prof. Busch - LSU
Suppose is decidable Then is decidable (we have proven this in previous class) Decider for NO YES reject accept Decider for (halt) (halt) YES NO accept reject (halt) (halt) Prof. Busch - LSU
If is decidable then we can build: Decider for Reduction YES Input string YES accept accept compute Decider for (halt) (halt) NO NO reject reject (halt) (halt) CONTRADICTION! Prof. Busch - LSU
Alternatively: Decider for Reduction NO Input string YES reject accept compute Decider for (halt) (halt) YES NO accept reject (halt) (halt) CONTRADICTION! END OF PROOF Prof. Busch - LSU
Observation: In order to prove that some language is undecidable we only need to reduce some known undecidable language to or to (theorem version 1) (theorem version 2) Prof. Busch - LSU
Undecidable Problems for Turing Recognizable languages Let be a Turing-acceptable language • is empty? • is regular? • has size 2? All these are undecidable problems Prof. Busch - LSU
Let be a Turing-acceptable language • is empty? • is regular? • has size 2? Prof. Busch - LSU
Empty language problem Input: Turing Machine Question: Is empty? Corresponding language: Prof. Busch - LSU
Theorem: is undecidable (empty-language problem is unsolvable) Proof: Reduce (membership problem) to (empty language problem) Prof. Busch - LSU
membership problem decider Decider for empty problem decider Reduction YES YES Compute Decider NO NO Given the reduction, if is decidable, then is decidable A contradiction! since is undecidable Prof. Busch - LSU
We only need to build the reduction: Reduction Compute So that: Prof. Busch - LSU
Construct from : Tape of input string Turing Machine Accept yes yes • Write on tape, and accepts ? • Simulate on input Prof. Busch - LSU
The only possible accepted string Louisiana Turing Machine Accept yes yes • Write on tape, and accepts ? • Simulate on input Prof. Busch - LSU Prof. Busch - LSU Prof. Busch - LSU 42 42
accepts does not accept Turing Machine Accept yes yes • Write on tape, and accepts ? • Simulate on input Prof. Busch - LSU Prof. Busch - LSU Prof. Busch - LSU Prof. Busch - LSU 43 43 43
Therefore: accepts Equivalently: END OF PROOF Prof. Busch - LSU
Let be a Turing-acceptable language • is empty? • is regular? • has size 2? Prof. Busch - LSU
Regular language problem Input: Turing Machine Question: Is a regular language? Corresponding language: Prof. Busch - LSU
Theorem: is undecidable (regular language problem is unsolvable) Proof: Reduce (membership problem) to (regular language problem) Prof. Busch - LSU
membership problem decider Decider for regular problem decider Reduction YES YES Compute Decider NO NO Given the reduction, If is decidable, then is decidable A contradiction! since is undecidable Prof. Busch - LSU
We only need to build the reduction: Reduction Compute So that: Prof. Busch - LSU
Construct from : Tape of input string Turing Machine Accept yes yes • Write on tape, and accepts ? • Simulate on input Prof. Busch - LSU Prof. Busch - LSU Prof. Busch - LSU Prof. Busch - LSU Prof. Busch - LSU 50 50 50 50