Polynomial-Time Reductions Contents

Total Page:16

File Type:pdf, Size:1020Kb

Polynomial-Time Reductions Contents Contents Polynomial-Time Reductions Contents. ■ Polynomial-time reductions. ■ Reduction from special case to general case. – COMPOSITE reduces to FACTOR – VERTEX-COVER reduces to SET-COVER ■ Reduction by simple equivalence. – PRIMALITY reduces to COMPOSITE, and vice versa – VERTEX COVER reduces to CLIQUE, and vice versa ■ Reduction from general case to special case. – SAT reduces to 3-SAT – 3-COLOR reduces to PLANAR-3-COLOR ■ Reduction by encoding with gadgets. – 3-CNF-SAT reduces to CLIQUE – 3-CNF-SAT reduces to HAM-CYCLE – 3-CNF-SAT reduces to 3-COLOR Princeton University • COS 423 • Theory of Algorithms • Spring 2001 • Kevin Wayne 2 Polynomial-Time Reduction Polynomial-Time Reduction Intuitively, problem X reduces to problem Y if: Purpose. Classify problems according to relative difficulty. ■ Any instance of X can be "rephrased" as an instance of Y. ≤ Design algorithms. If X P Y and Y can be solved in polynomial-time, Formally, problem X polynomial reduces to problem Y if arbitrary then X can be solved in polynomial time. instances of problem X can be solved using: ≤ ■ Polynomial number of standard computational steps, plus Establish intractability. If X P Y and X cannot be solved in polynomial-time, then X cannot be solved in polynomial time. ■ Polynomial number of calls to oracle that solves problem Y. – computational model supplemented by special piece of ≤ ≤ ≡ hardware that solves instances of Y in a single step Anti-symmetry. If X P Y and Y P X, we use notation X P Y. ≤ ≤ ≤ Remarks. Transitivity. If X P Y and Y P Z, then X P Z. ■ ■ We pay for time to write down instances sent to black box ⇒ Proof idea: compose the two algorithms. instances of Y are of polynomial size. ■ Given an oracle for Z, can solve instance of X: ■ Note: Cook-Turing reducibility (not Karp or many-to-one). – run the algorithm for X using a oracle for Y T ■ ≤ ≤ – each time oracle for Y is called, simulate it in a polynomial Notation: X P Y (or more precisely X P Y ). number of steps by using algorithm for Y, plus oracle calls to Z 3 4 Polynomial-Time Reduction Compositeness and Primality Basic strategies. COMPOSITE: Given the decimal representation of an integer x, does x ■ Reduction by simple equivalence. have a nontrivial factor? ■ Reduction from special case to general case. PRIME: Given the decimal representation of an integer x, is x prime? ■ Reduction from general case to special case. ■ ≡ Reduction by encoding with gadgets. Claim. COMPOSITE P PRIME. ≤ ■ COMPOSITE P PRIME. ≤ ■ PRIME P COMPOSITE. COMPOSITE (x) PRIME (x) IF (PRIME(x) = TRUE) IF (COMPOSITE(x) = TRUE) RETURN FALSE RETURN FALSE ELSE ELSE RETURN TRUE RETURN TRUE 5 6 Vertex Cover Vertex Cover VERTEX COVER: Given an undirected graph G = (V, E) and an integer VERTEX COVER: Given an undirected graph G = (V, E) and an integer k, is there a subset of vertices S ⊆ V such that |S| ≤ k, and if (v, w) ∈ E k, is there a subset of vertices S ⊆ V such that |S| ≤ k, and if (v, w) ∈ E then either v ∈ S, w ∈ S or both. then either v ∈ S, w ∈ S or both. Ex. Ex. ■ Is there a vertex cover of size 4? 1 6 ■ Is there a vertex cover of size 4? 1 6 YES. 2 7 YES. 2 7 ■ Is there a vertex cover of size 3? 3 8 3 8 NO. 4 9 4 9 5 10 5 10 7 8 Clique Vertex Cover and Clique ≡ CLIQUE: Given N people and their pairwise relationships. Is there a Claim. VERTEX COVER P CLIQUE. group of S people such that every pair in the group knows each other. ■ Given an undirected graph G = (V, E), its complement is G' = (V, E'), where E' = { (v, w) : (v, w) ∉ E}. Ex. ■ G has a clique of size k if and only if G' has a vertex cover of size ■ People: a, b, c, d, e, . , k. |V| - k. ■ Friendships: (a, e), (a, f), (a, g), . ., (h, k). ■ Clique size: S = 4. a b c k d d u v u v YES Instance j e z w z w i f y x y x h g G G' Friendship Graph Clique = {u, v, x, y} Vertex cover = {w, z} 9 10 Vertex Cover and Clique Vertex Cover and Clique ≡ ≡ Claim. VERTEX COVER P CLIQUE. Claim. VERTEX COVER P CLIQUE. ■ Given an undirected graph G = (V, E), its complement is G' = (V, E'), ■ Given an undirected graph G = (V, E), its complement is G' = (V, E'), where E' = { (v, w) : (v, w) ∉ E}. where E' = { (v, w) : (v, w) ∉ E}. ■ G has a clique of size k if and only if G' has a vertex cover of size ■ G has a clique of size k if and only if G' has a vertex cover of size |V| - k. |V| - k. Proof. ⇒ u v Proof. ⇐ u v ■ Suppose G has a clique S with |S| = k. ■ Suppose G' has a cover S' with |S'| = |V| - k. z w z w ■ Consider S' = V –S. ■ Consider S = V –S'. y x ■ |S'| = |V| - k. ■ Clearly |S| = k. y x ■ To show S' is a cover, consider any ■ To show S is a clique, consider some edge (v, w) ∈ E'. edge (v, w) ∈ E'. – then (v, w) ∉ E u v – if (v, w) ∈ E', then either v ∈ S', w ∈ S', or both u v – at least one of v or w is not in S – by contrapositive, if v ∉ S' and w ∉ S', z w (since S forms a clique) then (v, w) ∈ E z w – at least one of v or w is in S' – thus S is a clique in G y x y x – hence (v, w) is covered by S' 11 12 Polynomial-Time Reduction Compositeness Reduces to Factoring Basic strategies. COMPOSITE: Given an integer x, does x have a nontrivial factor? ■ Reduction by simple equivalence. FACTOR: Given two integers x and y, does x have a nontrivial factor ■ Reduction from special case to general case. less than y? ■ Reduction from general case to special case. ≤ ■ Reduction by encoding with gadgets. Claim. COMPOSITE P FACTOR. Proof. Given an oracle for FACTOR, we solve COMPOSITE. ■ Is 350 composite? ■ Does 350 have a nontrivial factor less than 350? COMPOSITE (x) IF (FACTOR(x, x) = TRUE) RETURN TRUE ELSE RETURN FALSE 13 14 Primality Testing and Factoring Set Cover We established: SET COVER: Given a set U of elements, a collection S1, S2, . , Sm of ≤ ≤ ■ PRIME P COMPOSITE P FACTOR. subsets of U, and an integer k, does there exist a collection of at most k of these sets whose union is equal of U? Natural question: ≤ Sample application. ■ Does FACTOR P PRIME ? ■ n available pieces of software. ■ Consensus opinion = NO. ■ Set U of n capabilities that we would like our system to have. ⊆ State-of-the-art. ■ The ith piece of software provides the set Si U of capabilities. ■ ■ PRIME in randomized P and conjectured to be in P. Goal: achieve all n capabilities using small number of pieces of software. ■ FACTOR not believed to be in P. Ex. U = {1, 2, 3, . , 12}, k = 3. RSA cryptosystem. ■ S = {1, 2, 3, 4, 5, 6} S = {5, 6, 8, 9} ■ Based on dichotomy between two problems. 1 2 ■ S = {1, 4, 7, 10} S = {2, 5, 7, 8, 11} ■ To use, must generate large primes efficiently. 3 4 ■ S5 = {3, 6, 9, 12} S6 = {10, 11} ■ Can break with efficient factoring algorithm. YES: S3, S4, S5. 15 16 Vertex Cover Reduces to Set Cover Vertex Cover Reduces to Set Cover SET COVER: Given a set U of elements, a collection S1, S2, . , Sn' of SET COVER: Given a set U of elements, a collection S1, S2, . , Sn' of subsets of U, and an integer k, does there exist a collection of at most subsets of U, and an integer k, does there exist a collection of at most k of these sets whose union is equal to U? k of these sets whose union is equal to U? VERTEX COVER: Given an undirected graph G = (V, E) and an integer VERTEX COVER: Given an undirected graph G = (V, E) and an integer k, is there a subset of vertices S ⊆ V such that |S| ≤ k, and if (v, w) ∈ E k, is there a subset of vertices S ⊆ V such that |S| ≤ k, and if (v, w) ∈ E then either v ∈ S, w ∈ S or both. then either v ∈ S, w ∈ S or both. ≤ ≤ Claim. VERTEX-COVER P SET-COVER. Claim. VERTEX-COVER P SET-COVER. Proof. Given black box that solves instances of SET-COVER. Proof. Given black box that solves instances of SET-COVER. ■ Let G = (V, E), k be an instance of VERTEX-COVER. U = {1, 2, 3, 4, 5, 6, 7} ■ Create SET-COVER instance: G = (V, E) a b k = 2 ∈ k = 2 S = {3, 7} S = {2, 4} – k = k, U = E, Sv = {e E : e incident to v } e7 e e a b e2 3 4 Sc = {3, 4, 5, 6} Sd = {5} ■ Set-cover of size at most k if and only if vertex cover of size at f e6 c Se = {1} Sf= {1, 2, 6, 7} most k. e e Vertex Cover 1 5 e d Set Cover 17 18 Polynomial-Time Reduction Factoring and Finding Factors Basic strategies. FACTOR: Given two integers x and y, does x have a nontrivial factor ■ Reduction by simple equivalence. less than y? ■ Reduction from special case to general case. FACTORIZE: Given an integer x, find its prime factorization.
Recommended publications
  • Selective Maximum Coverage and Set Packing
    Selective Maximum Coverage and Set Packing Felix J. L. Willamowski1∗ and Bj¨ornF. Tauer2y 1 Lehrstuhl f¨urOperations Research RWTH Aachen University [email protected] 2 Lehrstuhl f¨urManagement Science RWTH Aachen University [email protected] Abstract. In this paper we introduce the selective maximum coverage and the selective maximum set packing problem and variants of them. Both problems are strongly related to well studied problems such as maximum coverage, set packing, and (bipartite) hypergraph matching. The two problems are given by a collection of subsets of a ground set and index subsets of the indices of these subsets. Additionally, there are weights either for each element of the ground set or each subset for each index subset. The goal is to find at most one index per index subset such that the total weight of covered elements or of disjoint subsets is maximum. Applications arise in transportation, e.g., dispatching for ride- sharing services. We prove strong intractability results for the problems and provide almost best possible approximation guarantees. 1 Introduction and Preliminaries We introduce the selective maximum coverage problem (smc) generalizing the weighted maximum k coverage problem (wmkc) which is given by a finite ground set X with weights w : X ! Q≥0, a finite collection S of subsets of X, and an 0 integer k 2 Z≥0. The goal is to find a subcollection S ⊆ S containing at most k P subsets and maximizing the total weight of covered elements x2X0 w(x) with 0 X = [S2S0 S. For unit weights, w ≡ 1, the problem is called maximum k coverage problem (mkc).
    [Show full text]
  • Vertex Cover Might Be Hard to Approximate to Within 2 Ε − Subhash Khot ∗ Oded Regev †
    Vertex Cover Might be Hard to Approximate to within 2 ε − Subhash Khot ∗ Oded Regev † Abstract Based on a conjecture regarding the power of unique 2-prover-1-round games presented in [Khot02], we show that vertex cover is hard to approximate within any constant factor better than 2. We actually show a stronger result, namely, based on the same conjecture, vertex cover on k-uniform hypergraphs is hard to approximate within any constant factor better than k. 1 Introduction Minimum vertex cover is the problem of finding the smallest set of vertices that touches all the edges in a given graph. This is one of the most fundamental NP-complete problems. A simple 2- approximation algorithm exists for this problem: construct a maximal matching by greedily adding edges and then let the vertex cover contain both endpoints of each edge in the matching. It can be seen that the resulting set of vertices indeed touches all the edges and that its size is at most twice the size of the minimum vertex cover. However, despite considerable efforts, state of the art techniques can only achieve an approximation ratio of 2 o(1) [16, 21]. − Given this state of affairs, one might strongly suspect that vertex cover is NP-hard to approxi- mate within 2 ε for any ε> 0. This is one of the major open questions in the field of approximation − algorithms. In [18], H˚astad showed that approximating vertex cover within constant factors less 7 than 6 is NP-hard. This factor was recently improved by Dinur and Safra [10] to 1.36.
    [Show full text]
  • 3.1 Matchings and Factors: Matchings and Covers
    1 3.1 Matchings and Factors: Matchings and Covers This copyrighted material is taken from Introduction to Graph Theory, 2nd Ed., by Doug West; and is not for further distribution beyond this course. These slides will be stored in a limited-access location on an IIT server and are not for distribution or use beyond Math 454/553. 2 Matchings 3.1.1 Definition A matching in a graph G is a set of non-loop edges with no shared endpoints. The vertices incident to the edges of a matching M are saturated by M (M-saturated); the others are unsaturated (M-unsaturated). A perfect matching in a graph is a matching that saturates every vertex. perfect matching M-unsaturated M-saturated M Contains copyrighted material from Introduction to Graph Theory by Doug West, 2nd Ed. Not for distribution beyond IIT’s Math 454/553. 3 Perfect Matchings in Complete Bipartite Graphs a 1 The perfect matchings in a complete b 2 X,Y-bigraph with |X|=|Y| exactly c 3 correspond to the bijections d 4 f: X -> Y e 5 Therefore Kn,n has n! perfect f 6 matchings. g 7 Kn,n The complete graph Kn has a perfect matching iff… Contains copyrighted material from Introduction to Graph Theory by Doug West, 2nd Ed. Not for distribution beyond IIT’s Math 454/553. 4 Perfect Matchings in Complete Graphs The complete graph Kn has a perfect matching iff n is even. So instead of Kn consider K2n. We count the perfect matchings in K2n by: (1) Selecting a vertex v (e.g., with the highest label) one choice u v (2) Selecting a vertex u to match to v K2n-2 2n-1 choices (3) Selecting a perfect matching on the rest of the vertices.
    [Show full text]
  • Approximation Algorithms
    Lecture 21 Approximation Algorithms 21.1 Overview Suppose we are given an NP-complete problem to solve. Even though (assuming P = NP) we 6 can’t hope for a polynomial-time algorithm that always gets the best solution, can we develop polynomial-time algorithms that always produce a “pretty good” solution? In this lecture we consider such approximation algorithms, for several important problems. Specific topics in this lecture include: 2-approximation for vertex cover via greedy matchings. • 2-approximation for vertex cover via LP rounding. • Greedy O(log n) approximation for set-cover. • Approximation algorithms for MAX-SAT. • 21.2 Introduction Suppose we are given a problem for which (perhaps because it is NP-complete) we can’t hope for a fast algorithm that always gets the best solution. Can we hope for a fast algorithm that guarantees to get at least a “pretty good” solution? E.g., can we guarantee to find a solution that’s within 10% of optimal? If not that, then how about within a factor of 2 of optimal? Or, anything non-trivial? As seen in the last two lectures, the class of NP-complete problems are all equivalent in the sense that a polynomial-time algorithm to solve any one of them would imply a polynomial-time algorithm to solve all of them (and, moreover, to solve any problem in NP). However, the difficulty of getting a good approximation to these problems varies quite a bit. In this lecture we will examine several important NP-complete problems and look at to what extent we can guarantee to get approximately optimal solutions, and by what algorithms.
    [Show full text]
  • Exact Algorithms and APX-Hardness Results for Geometric Packing and Covering Problems∗
    Exact Algorithms and APX-Hardness Results for Geometric Packing and Covering Problems∗ Timothy M. Chan† Elyot Grant‡ March 29, 2012 Abstract We study several geometric set cover and set packing problems involv- ing configurations of points and geometric objects in Euclidean space. We show that it is APX-hard to compute a minimum cover of a set of points in the plane by a family of axis-aligned fat rectangles, even when each rectangle is an ǫ-perturbed copy of a single unit square. We extend this result to several other classes of objects including almost-circular ellipses, axis-aligned slabs, downward shadows of line segments, downward shad- ows of graphs of cubic functions, fat semi-infinite wedges, 3-dimensional unit balls, and axis-aligned cubes, as well as some related hitting set prob- lems. We also prove the APX-hardness of a related family of discrete set packing problems. Our hardness results are all proven by encoding a highly structured minimum vertex cover problem which we believe may be of independent interest. In contrast, we give a polynomial-time dynamic programming algo- rithm for geometric set cover where the objects are pseudodisks containing the origin or are downward shadows of pairwise 2-intersecting x-monotone curves. Our algorithm extends to the weighted case where a minimum-cost cover is required. We give similar algorithms for several related hitting set and discrete packing problems. 1 Introduction In a geometric set cover problem, we are given a range space (X, )—a universe X of points in Euclidean space and a pre-specified configurationS of regions or geometric objects such as rectangles or half-planes.
    [Show full text]
  • Complexity and Approximation Results for the Connected Vertex Cover Problem in Graphs and Hypergraphs Bruno Escoffier, Laurent Gourvès, Jérôme Monnot
    Complexity and approximation results for the connected vertex cover problem in graphs and hypergraphs Bruno Escoffier, Laurent Gourvès, Jérôme Monnot To cite this version: Bruno Escoffier, Laurent Gourvès, Jérôme Monnot. Complexity and approximation results forthe connected vertex cover problem in graphs and hypergraphs. 2007. hal-00178912 HAL Id: hal-00178912 https://hal.archives-ouvertes.fr/hal-00178912 Preprint submitted on 12 Oct 2007 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Laboratoire d'Analyse et Modélisation de Systèmes pour l'Aide à la Décision CNRS UMR 7024 CAHIER DU LAMSADE 262 Juillet 2007 Complexity and approximation results for the connected vertex cover problem in graphs and hypergraphs Bruno Escoffier, Laurent Gourvès, Jérôme Monnot Complexity and approximation results for the connected vertex cover problem in graphs and hypergraphs Bruno Escoffier∗ Laurent Gourv`es∗ J´erˆome Monnot∗ Abstract We study a variation of the vertex cover problem where it is required that the graph induced by the vertex cover is connected. We prove that this problem is polynomial in chordal graphs, has a PTAS in planar graphs, is APX-hard in bipartite graphs and is 5/3-approximable in any class of graphs where the vertex cover problem is polynomial (in particular in bipartite graphs).
    [Show full text]
  • Approximation Algorithms Instructor: Richard Peng Nov 21, 2016
    CS 3510 Design & Analysis of Algorithms Section B, Lecture #34 Approximation Algorithms Instructor: Richard Peng Nov 21, 2016 • DISCLAIMER: These notes are not necessarily an accurate representation of what I said during the class. They are mostly what I intend to say, and have not been carefully edited. Last week we formalized ways of showing that a problem is hard, specifically the definition of NP , NP -completeness, and NP -hardness. We now discuss ways of saying something useful about these hard problems. Specifi- cally, we show that the answer produced by our algorithm is within a certain fraction of the optimum. For a maximization problem, suppose now that we have an algorithm A for our prob- lem which, given an instance I, returns a solution with value A(I). The approximation ratio of algorithm A is dened to be OP T (I) max : I A(I) This is not restricted to NP-complete problems: we can apply this to matching to get a 2-approximation. Lemma 0.1. The maximal matching has size at least 1=2 of the optimum. Proof. Let the maximum matching be M ∗. Consider the process of taking a maximal matching: an edge in M ∗ can't be chosen only after one (or both) of its endpoints are picked. Each edge we add to the maximal matching only has 2 endpoints, so it takes at least M ∗ 2 edges to make all edges in M ∗ ineligible. This ratio is indeed close to tight: consider a graph that has many length 3 paths, and the maximal matching keeps on taking the middle edges.
    [Show full text]
  • What Is the Set Cover Problem
    18.434 Seminar in Theoretical Computer Science 1 of 5 Tamara Stern 2.9.06 Set Cover Problem (Chapter 2.1, 12) What is the set cover problem? Idea: “You must select a minimum number [of any size set] of these sets so that the sets you have picked contain all the elements that are contained in any of the sets in the input (wikipedia).” Additionally, you want to minimize the cost of the sets. Input: Ground elements, or Universe U= { u1, u 2 ,..., un } Subsets SSSU1, 2 ,..., k ⊆ Costs c1, c 2 ,..., ck Goal: Find a set I ⊆ {1,2,...,m} that minimizes ∑ci , such that U SUi = . i∈ I i∈ I (note: in the un-weighted Set Cover Problem, c j = 1 for all j) Why is it useful? It was one of Karp’s NP-complete problems, shown to be so in 1972. Other applications: edge covering, vertex cover Interesting example: IBM finds computer viruses (wikipedia) elements- 5000 known viruses sets- 9000 substrings of 20 or more consecutive bytes from viruses, not found in ‘good’ code A set cover of 180 was found. It suffices to search for these 180 substrings to verify the existence of known computer viruses. Another example: Consider General Motors needs to buy a certain amount of varied supplies and there are suppliers that offer various deals for different combinations of materials (Supplier A: 2 tons of steel + 500 tiles for $x; Supplier B: 1 ton of steel + 2000 tiles for $y; etc.). You could use set covering to find the best way to get all the materials while minimizing cost.
    [Show full text]
  • 1 Bipartite Matching and Vertex Covers
    ORF 523 Lecture 6 Princeton University Instructor: A.A. Ahmadi Scribe: G. Hall Any typos should be emailed to a a [email protected]. In this lecture, we will cover an application of LP strong duality to combinatorial optimiza- tion: • Bipartite matching • Vertex covers • K¨onig'stheorem • Totally unimodular matrices and integral polytopes. 1 Bipartite matching and vertex covers Recall that a bipartite graph G = (V; E) is a graph whose vertices can be divided into two disjoint sets such that every edge connects one node in one set to a node in the other. Definition 1 (Matching, vertex cover). A matching is a disjoint subset of edges, i.e., a subset of edges that do not share a common vertex. A vertex cover is a subset of the nodes that together touch all the edges. (a) An example of a bipartite (b) An example of a matching (c) An example of a vertex graph (dotted lines) cover (grey nodes) Figure 1: Bipartite graphs, matchings, and vertex covers 1 Lemma 1. The cardinality of any matching is less than or equal to the cardinality of any vertex cover. This is easy to see: consider any matching. Any vertex cover must have nodes that at least touch the edges in the matching. Moreover, a single node can at most cover one edge in the matching because the edges are disjoint. As it will become clear shortly, this property can also be seen as an immediate consequence of weak duality in linear programming. Theorem 1 (K¨onig). If G is bipartite, the cardinality of the maximum matching is equal to the cardinality of the minimum vertex cover.
    [Show full text]
  • 1 Vertex Cover on Hypergraphs
    15-859FF: Coping with Intractability CMU, Fall 2019 Lecture #3: Reductions for Problems in FPT September 11, 2019 Lecturer: Venkatesan Guruswami Scribe: Anish Sevekari 1 Vertex Cover on Hypergraphs We define a d-regular hypergraph H = (V; F) where F is a family of subsets of V of size d. The vertex cover problem on hypergraphs is to find the smallest set S such that every edge X 2 F intersects S at least once. We parameterize the vertex cover problem by size of the optimum solution. Then the parameterized version of the problem is given a hypergraph H and an integer k, does H have a vertex cover of size k? We will now give a dkpoly(n) algorithm that solves the vertex cover problem and a O(d2d!kd) kernel for d-regular Hypergraph Vertex Cover problem. 1.1 An algorithm for Hypergraph Vertex Cover The algorithm is a simple generalization of the 2kpoly(n) algorithm for vertex cover over graphs. We pick any edge, then branch on the vertex on this edge which is in the vertex cover. Algorithm 1 VertexCover(H = (V; F); k) 1: if k = 0 and jFj > 0 then 2: return ? 3: end if 4: Pick any edge e 2 F. 5: for v 2 e do 6: H0 = (V n fvg; F n ff 2 F : v 2 fg) 7: if VertexCover(H0; k) 6=? then 8: return fvg [ VertexCover(H0; k − 1) 9: end if 10: end for 11: return ? Note that the recursion depth of this algorithm is k, and we branch on at most d points inside each call.
    [Show full text]
  • Reductions and Satisfiability
    Reductions and Satisfiability 1 Polynomial-Time Reductions reformulating problems reformulating a problem in polynomial time independent set and vertex cover reducing vertex cover to set cover 2 The Satisfiability Problem satisfying truth assignments SAT and 3-SAT reducing 3-SAT to independent set transitivity of reductions CS 401/MCS 401 Lecture 18 Computer Algorithms I Jan Verschelde, 30 July 2018 Computer Algorithms I (CS 401/MCS 401) Reductions and Satifiability L-18 30 July 2018 1 / 45 Reductions and Satifiability 1 Polynomial-Time Reductions reformulating problems reformulating a problem in polynomial time independent set and vertex cover reducing vertex cover to set cover 2 The Satisfiability Problem satisfying truth assignments SAT and 3-SAT reducing 3-SAT to independent set transitivity of reductions Computer Algorithms I (CS 401/MCS 401) Reductions and Satifiability L-18 30 July 2018 2 / 45 reformulating problems The Ford-Fulkerson algorithm computes maximum flow. By reduction to a flow problem, we could solve the following problems: bipartite matching, circulation with demands, survey design, and airline scheduling. Because the Ford-Fulkerson is an efficient algorithm, all those problems can be solved efficiently as well. Our plan for the remainder of the course is to explore computationally hard problems. Computer Algorithms I (CS 401/MCS 401) Reductions and Satifiability L-18 30 July 2018 3 / 45 imagine a meeting with your boss ... From Computers and intractability. A Guide to the Theory of NP-Completeness by Michael R. Garey and David S. Johnson, Bell Laboratories, 1979. Computer Algorithms I (CS 401/MCS 401) Reductions and Satifiability L-18 30 July 2018 4 / 45 what you want to say is From Computers and intractability.
    [Show full text]
  • NP-Completeness
    CMSC 451: Reductions & NP-completeness 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 polynomal-time 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. Call X Because polynomials Call X compose. 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? Call X Call X 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. We’ve Seen Reductions Before Examples of Reductions: • Max Bipartite Matching ≤P Max Network Flow. • Image Segmentation ≤P Min-Cut. • Survey Design ≤P Max Network Flow.
    [Show full text]