Module11 - 1 Module 11 • Proving more specific problems...

Info iconThis preview shows pages 1–15. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 1 Module 11 • Proving more specific problems are not solvable • Input transformation technique – Use subroutine theme to show that if one problem is unsolvable, so is a second problem – Need to clearly differentiate between • use of program as a subroutine and • a program being an input to another program 2 Basic Idea/Technique 3 Proving a problem L is unsolvable • Assume P L is a procedure that solves problem L – We have no idea how P L solves L • Construct a program P H that solves H using P L as a subroutine – We use P L as a black box – (We could use any unsolvable problem in place of H) • Argue P H solves H – But we know H is unsolvable • Conclude that L is unsolvable – Otherwise P L would exist and then H would be solvable 4 Focusing on H • In this module, we will typically use H, the Halting Problem, as our known unsolvable problem • The technique generalizes to using any unsolvable problem L’ in place of H. – You would need to change the proofs to work with L’ instead of H, but in general it can be done • The technique also can be applied to solvable problems to derive alternative consequences • We focus on H to simplify the explanation 5 Constructing P H using P L Answer-preserving input transformations and Program P T 6 P H has two subroutines • There are many ways to construct P H using program P L that solves L • We focus on one method in which P H consists of two subroutines – Procedure P L that solves L – Procedure P T which computes a function f that I call an answer-preserving (or answer-reversing) input transformation • More about this in a moment 7 Two Representations of P H * P H P,y Yes/No P L Y/N P T P T (P,y) bool P H (Program P, unsigned y) { return P L (P T (P,y)); } 8 Answer-preserving input transformation P T • Input – An input to H • Output – An input to L such that • yes inputs of H map to yes inputs of L • no inputs of H map to no inputs of L • Note, P T must not loop when given any legal input to H 9 Why this works * P H P L P T yes input to H yes input to L yes no input to H no input to L no We have assumed that P L solves L bool P H (Program P, unsigned y) { return P L (P T (P,y)); } 10 Answer-reversing input transformation P T • Input – An input to H • Output – An input to L such that • yes inputs of H map to no inputs of L • no inputs of H map to yes inputs of L • Note, P T must not loop when given any legal input to H 11 Why this works P H P L P T yes input to H no input to L yes no input to H yes input to L no We have assumed that P L solves L no yes bool P H (unsigned x) { return complement(P L (P T (P,y))); } 12 Yes→Yes and No→No Domain of H Yes inputs for H No inputs for H Yes inputs for L No inputs for L Domain of L P L P T P H x P T (x) Yes/No 13 Notation and Terminology • If there is such an answer-preserving (or answer-reversing) input transformation f (and the corresponding program P T ), we say that H transforms to (many-one reduces to) L • Notation H ≤ L Domain of H Yes inputs No inputs Yes inputs No inputs Domain of L 14 Examples not involving the Halting Problem 15...
View Full Document

This note was uploaded on 07/25/2008 for the course CSE 460 taught by Professor Torng during the Fall '07 term at Michigan State University.

Page1 / 51

Module11 - 1 Module 11 • Proving more specific problems...

This preview shows document pages 1 - 15. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online