1 / 44

Reducibility

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.

csizemore
Download Presentation

Reducibility

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reducibility Costas Busch - RPI

  2. Problem is reduced to problem If we can solve problem then we can solve problem Costas Busch - RPI

  3. Problem is reduced to problem If is decidable then is decidable If is undecidable then is undecidable Costas Busch - RPI

  4. Example: the halting problem is reduced to the state-entry problem Costas Busch - RPI

  5. The state-entry problem Inputs: • Turing Machine • State • String Question: Does enter state on input ? Costas Busch - RPI

  6. Theorem: The state-entry problem is undecidable Proof: Reduce the halting problem to the state-entry problem Costas Busch - RPI

  7. Suppose we have a Decider for the state-entry algorithm: YES enters state-entry problem decider NO doesn’t enter Costas Busch - RPI

  8. We want to build a decider for the halting problem: YES halts on Halting problem decider NO doesn’t halt on Costas Busch - RPI

  9. 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

  10. 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

  11. Convert to : • Add new state • From any halting state of add transitions to Single halt state halting states Costas Busch - RPI

  12. halts on input if and only if halts on state on input Costas Busch - RPI

  13. Halting problem decider YES YES State-entry problem decider Generate NO NO Costas Busch - RPI

  14. 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

  15. Another example: the halting problem is reduced to the blank-tape halting problem Costas Busch - RPI

  16. The blank-tape halting problem Input: Turing Machine Question: Does halt when started with a blank tape? Costas Busch - RPI

  17. Theorem: The blank-tape halting problem is undecidable Proof: Reduce the halting problem to the blank-tape halting problem Costas Busch - RPI

  18. 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

  19. We want to build a decider for the halting problem: YES halts on halting problem decider NO doesn’t halt on Costas Busch - RPI

  20. 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

  21. 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

  22. 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

  23. halts on input string if and only if halts when started with blank tape Costas Busch - RPI

  24. Halting problem decider YES YES blank-tape halting problem decider Generate NO NO Costas Busch - RPI

  25. 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

  26. Summary of Undecidable Problems Halting Problem: Does machine halt on input ? Membership problem: Does machine accept string ? Costas Busch - RPI

  27. Blank-tape halting problem: Does machine halt when starting on blank tape? State-entry Problem: Does machine enter state on input ? Costas Busch - RPI

  28. Uncomputable Functions Costas Busch - RPI

  29. Uncomputable Functions Values region Domain A function is uncomputable if it cannot be computed for all of its domain Costas Busch - RPI

  30. An uncomputable function: maximum number of moves until any Turing machine with states halts when started with the blank tape Costas Busch - RPI

  31. Theorem: Function is uncomputable Proof: Assume for contradiction that is computable Then the blank-tape halting problem is decidable Costas Busch - RPI

  32. 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

  33. Therefore, the blank-tape halting problem is decidable However, the blank-tape halting problem is undecidable Contradiction!!! Costas Busch - RPI

  34. Therefore, function in uncomputable END OF PROOF Costas Busch - RPI

  35. Undecidable Problems for Recursively Enumerable Languages Costas Busch - RPI

  36. 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

  37. 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

  38. 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

  39. We will build the decider for the membership problem: YES accepts membership problem decider NO rejects Costas Busch - RPI

  40. 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

  41. 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

  42. Construct machine : On arbitrary input string executes the same as with When enters a final state, compare with Accept only if Costas Busch - RPI

  43. if and only if is not empty Costas Busch - RPI

  44. Membership problem decider NO YES empty language problem decider construct YES NO END OF PROOF Costas Busch - RPI

More Related