This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CMSC 451: Reductions & NPcompleteness Slides By: Carl Kingsford Department of Computer Science University of Maryland, College Park Based on Section 8.1 of Algorithm Design by Kleinberg & Tardos. Reductions as tool for hardness We want prove some problems are computationally difficult. As a first step, we settle for relative judgements: Problem X is at least as hard as problem Y To prove such a statement, we reduce problem Y to problem X : If you had a black box that can solve instances of problem X, how can you solve any instance of Y using polynomial number of steps, plus a polynomial number of calls to the black box that solves X? Polynomial Reductions • If problem Y can be reduced to problem X , we denote this by Y ≤ P X . • This means “ Y is polynomaltime reducible to X .” • It also means that X is at least as hard as Y because if you can solve X , you can solve Y . • Note: We reduce to the problem we want to show is the harder problem. Polynomial Problems Suppose: • Y ≤ P X , and • there is an polynomial time algorithm for X . Then, there is a polynomial time algorithm for Y . Why? Polynomial Problems Suppose: • Y ≤ P X , and • there is an polynomial time algorithm for X . Then, there is a polynomial time algorithm for Y . Why? Because polynomials compose. Call X Call X We’ve Seen Reductions Before Examples of Reductions: • Max Bipartite Matching ≤ P Max Network Flow . • Image Segmentation ≤ P MinCut ....
View
Full Document
 Fall '07
 staff
 Computational complexity theory, NPcomplete problems, independent set, NPcomplete, Boolean satisfiability problem, NPHard

Click to edit the document details