Polynomial-Time Reductions

Similar documents
NP and Computational Intractability

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM

Algorithm Design and Analysis

8.5 Sequencing Problems

Intro to Theory of Computation

COP 4531 Complexity & Analysis of Data Structures & Algorithms

CS 301: Complexity of Algorithms (Term I 2008) Alex Tiskin Harald Räcke. Hamiltonian Cycle. 8.5 Sequencing Problems. Directed Hamiltonian Cycle

Algorithms and Theory of Computation. Lecture 22: NP-Completeness (2)

Chapter 8. NP and Computational Intractability

8.5 Sequencing Problems. Chapter 8. NP and Computational Intractability. Hamiltonian Cycle. Hamiltonian Cycle

8.1 Polynomial-Time Reductions. Chapter 8. NP and Computational Intractability. Classify Problems

CS 583: Algorithms. NP Completeness Ch 34. Intractability

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Algorithms Design & Analysis. Approximation Algorithm

NP and Computational Intractability

P and NP. Inge Li Gørtz. Thank you to Kevin Wayne, Philip Bille and Paul Fischer for inspiration to slides

SAT, Coloring, Hamiltonian Cycle, TSP

P and NP. Warm Up: Super Hard Problems. Overview. Problem Classification. Tools for classifying problems according to relative hardness.

Computational Intractability 2010/4/15. Lecture 2

Chapter 8. NP and Computational Intractability. CS 350 Winter 2018

4/30/14. Chapter Sequencing Problems. NP and Computational Intractability. Hamiltonian Cycle

4/20/11. NP-complete problems. A variety of NP-complete problems. Hamiltonian Cycle. Hamiltonian Cycle. Directed Hamiltonian Cycle

CS 580: Algorithm Design and Analysis

3/22/2018. CS 580: Algorithm Design and Analysis. Circuit Satisfiability. Recap. The "First" NP-Complete Problem. Example.

NP completeness and computational tractability Part II

Lecture 4: NP and computational intractability

7.8 Intractability. Overview. Properties of Algorithms. Exponential Growth. Q. What is an algorithm? A. Definition formalized using Turing machines.

NP Complete Problems. COMP 215 Lecture 20

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle

Design and Analysis of Algorithms

NP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015

Algorithms, Lecture 3 on NP : Nondeterminis7c Polynomial Time

Computability and Complexity

A difficult problem. ! Given: A set of N cities and $M for gas. Problem: Does a traveling salesperson have enough $ for gas to visit all the cities?

Intractability. A difficult problem. Exponential Growth. A Reasonable Question about Algorithms !!!!!!!!!! Traveling salesperson problem (TSP)

Computational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9

CS 580: Algorithm Design and Analysis

Correctness of Dijkstra s algorithm

Automata Theory CS Complexity Theory I: Polynomial Time

COMP 382. Unit 10: NP-Completeness

CSC 373: Algorithm Design and Analysis Lecture 15

Algorithm Design and Analysis

NP-Completeness. Andreas Klappenecker. [based on slides by Prof. Welch]

Algorithms and Complexity Theory. Chapter 8: Introduction to Complexity. Computer Science - Durban - September 2005

Polynomial-time Reductions

NP and NP-Completeness

Harvard CS 121 and CSCI E-121 Lecture 22: The P vs. NP Question and NP-completeness

NP-Complete Problems. More reductions

More NP-Complete Problems

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

CSE 421 NP-Completeness

P P P NP-Hard: L is NP-hard if for all L NP, L L. Thus, if we could solve L in polynomial. Cook's Theorem and Reductions

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof

NP-completeness. Chapter 34. Sergey Bereg

NP-Completeness. Subhash Suri. May 15, 2018

Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA.

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1

Algorithm Design and Analysis

NP-complete Problems

NP Completeness and Approximation Algorithms

Hamiltonian Cycle. Hamiltonian Cycle

Discrete Optimization 2010 Lecture 10 P, N P, and N PCompleteness

Easy Problems vs. Hard Problems. CSE 421 Introduction to Algorithms Winter Is P a good definition of efficient? The class P

Classes of Problems. CS 461, Lecture 23. NP-Hard. Today s Outline. We can characterize many problems into three classes:

NP-Complete Reductions 1

1. Introduction Recap

Lecture 18: More NP-Complete Problems

Algorithms 6.5 REDUCTIONS. designing algorithms establishing lower bounds classifying problems intractability

NP-Completeness. Until now we have been designing algorithms for specific problems

CS/COE

Theory of Computation Chapter 9

CSCI3390-Lecture 17: A sampler of NP-complete problems

Limitations of Algorithm Power

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

Some Algebra Problems (Algorithmic) CSE 417 Introduction to Algorithms Winter Some Problems. A Brief History of Ideas

CS 320, Fall Dr. Geri Georg, Instructor 320 NP 1

NP-Completeness. Sections 28.5, 28.6

Show that the following problems are NP-complete

VIII. NP-completeness

ECS122A Handout on NP-Completeness March 12, 2018

Lecture 24 : Even more reductions

SAT, NP, NP-Completeness

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Algorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University

Lecture 15 - NP Completeness 1

Graph Theory and Optimization Computational Complexity (in brief)

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

COMP Analysis of Algorithms & Data Structures

NP-Complete Reductions 2

CS Fall 2011 P and NP Carola Wenk

NP-Completeness Part II

Chapter 9. PSPACE: A Class of Problems Beyond NP. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Algorithms: COMP3121/3821/9101/9801

9. PSPACE 9. PSPACE. PSPACE complexity class quantified satisfiability planning problem PSPACE-complete

9. PSPACE. PSPACE complexity class quantified satisfiability planning problem PSPACE-complete

Complexity, P and NP

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013

CS 6505, Complexity and Algorithms Week 7: NP Completeness

Reductions. Reduction. Linear Time Reduction: Examples. Linear Time Reductions

Admin NP-COMPLETE PROBLEMS. Run-time analysis. Tractable vs. intractable problems 5/2/13. What is a tractable problem?

Transcription:

Reductions 1

Polynomial-Time Reductions

Classify Problems According to Computational Requirements Q. Which problems will we be able to solve in practice? A working definition. [von Neumann 1953, Godel 1956, Cobham 1964, Edmonds 1965, Rabin 1966] Those with polynomial-time algorithms. Yes Shortest path Matching Min cut 2-SAT Planar 4-color Bipartite vertex cover Probably no Longest path 3D-matching Max cut 3-SAT Planar 3-color Vertex cover Primality testing Factoring 3

Classify Problems Desiderata. Classify problems according to those that can be solved in polynomial-time and those that cannot. Provably requires exponential-time. Given a Turing machine, does it halt in at most k steps? Given a board position in an n-by-n generalization of chess, can black guarantee a win? Frustrating news. Huge number of fundamental problems have defied classification for decades. Today and Wed. Show that these fundamental problems are "computationally equivalent" and appear to be different manifestations of one really hard problem. 4

Polynomial-Time Reduction Reduction. Problem X polynomial-time reduces to problem Y if arbitrary instances of problem X can be solved using: Polynomial number of standard computational steps, plus Polynomial number of calls to oracle that solves problem Y. Notation. X P Y. Remarks. We pay for time to write down instances sent to black box instances of Y must be of polynomial size. Note: Cook reducibility (vs. Karp reducibility) Means we can solve X in polynomial time IF we can solve Y in polynomial time! 5

Polynomial-Time Reduction Purpose. Classify problems according to relative difficulty. Design algorithms. If X P Y and Y can be solved in polynomial-time, then X can also be solved in polynomial time. Establish intractability. If X P Y and X cannot be solved in polynomial-time, then Y cannot be solved in polynomial time. Establish equivalence. If X P Y and Y P X, we use notation X P Y. 6

Reduction By Simple Equivalence Basic reduction strategies. Reduction by simple equivalence. Reduction from special case to general case. Reduction by encoding with gadgets.

Independent Set INDEPENDENT SET: Given a graph G = (V, E) and an integer k, is there a subset of vertices S V such that S k, and for each edge at most one of its endpoints is in S? Ex. Is there an independent set of size 6? Yes. Ex. Is there an independent set of size 7? No. independent set 8

Vertex Cover VERTEX COVER: Given a graph G = (V, E) and an integer k, is there a subset of vertices S V such that S k, and for each edge, at least one of its endpoints is in S? Ex. Is there a vertex cover of size 4? Yes. Ex. Is there a vertex cover of size 3? No. vertex cover 9

Vertex Cover and Independent Set Claim. VERTEX-COVER P INDEPENDENT-SET. Pf. We show S is an independent set iff V S is a vertex cover. independent set vertex cover 10

Reduction from Special Case to General Case Basic reduction strategies. Reduction by simple equivalence. Reduction from special case to general case. Reduction by encoding with gadgets.

Set Cover SET COVER: Given a set U of elements, a collection S 1, S 2,..., S m of subsets of U, and an integer k, does there exist a collection of k of these sets whose union is equal to U? Sample application. m available pieces of software. Set U of n capabilities that we would like our system to have. The ith piece of software provides the set S i U of capabilities. Goal: achieve all n capabilities using fewest pieces of software. Ex: U = { 1, 2, 3, 4, 5, 6, 7 } k = 2 S 1 = {3, 7} S 4 = {2, 4} S 2 = {3, 4, 5, 6} S 5 = {5} S 3 = {1} S 6 = {1, 2, 6, 7} 13

Vertex Cover Reduces to Set Cover Claim. VERTEX-COVER P SET-COVER. Pf. Given a VERTEX-COVER instance G = (V, E), k, we construct a set cover instance whose size equals the size of the vertex cover instance. Construction. Create SET-COVER instance: k = k, U = E, S v = {e E : e incident to v } Set-cover of size k iff vertex cover of size k. VERTEX COVER a b SET COVER f e 7 e 1 e 2 e 3 e 6 e 4 e 5 c U = { 1, 2, 3, 4, 5, 6, 7 } k = 2 S a = {3, 7} S b = {2, 4} S c = {3, 4, 5, 6} S d = {5} S e = {1} S f = {1, 2, 6, 7} k = 2 e d 14

Polynomial-Time Reduction Basic strategies. Reduction by simple equivalence. Reduction from special case to general case. Reduction by encoding with gadgets. 15

8.2 Reductions via "Gadgets" Basic reduction strategies. Reduction by simple equivalence. Reduction from special case to general case. Reduction via "gadgets."

Satisfiability Literal: A Boolean variable or its negation. x i or x i Clause: A disjunction of literals. Conjunctive normal form: A propositional formula that is the conjunction of clauses. C j x 1 x 2 x 3 C 1 C 2 C 3 C 4 SAT: Given CNF formula, does it have a satisfying truth assignment? 3-SAT: SAT where each clause contains exactly 3 literals. each corresponds to a different variable Ex: x 1 x 2 x 3 x 1 x 2 x 3 x 2 x 3 x 1 x 2 x 3 Yes: x 1 = true, x 2 = true x 3 = false. 17

3 Satisfiability Reduces to Independent Set Claim. 3-SAT P INDEPENDENT-SET. Pf. Given an instance of 3-SAT, we construct an instance (G, k) of INDEPENDENT-SET that has an independent set of size k iff is satisfiable. Construction. G contains 3 vertices for each clause, one for each literal. Connect 3 literals in a clause in a triangle. Connect literal to each of its negations. x 1 x 2 x 1 G k = 3 x 2 x 3 x x 1 x 2 x 3 4 x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 4 18

3 Satisfiability Reduces to Independent Set Claim. G contains independent set of size k = iff is satisfiable. Pf. Let S be independent set of size k. S must contain exactly one vertex in each triangle. Set these literals to true. and any other variables in a consistent way Truth assignment is consistent and all clauses are satisfied. Pf Given satisfying assignment, select one true literal from each triangle. This is an independent set of size k. x 1 x 2 x 1 G x 2 x 3 x x 1 x 2 x 3 4 k = 3 x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 4 19

Review Basic reduction strategies. Simple equivalence: INDEPENDENT-SET P VERTEX-COVER. Special case to general case: VERTEX-COVER P SET-COVER. Encoding with gadgets: 3-SAT P INDEPENDENT-SET. Transitivity. If X P Y and Y P Z, then X P Z. Pf idea. Compose the two algorithms. Ex: 3-SAT P INDEPENDENT-SET P VERTEX-COVER P SET-COVER. 20

Hamiltonian Cycle HAM-CYCLE: given an undirected graph G = (V, E), does there exist a simple cycle that contains every node in V. 1 1' 2 2' 3 3' 4 4' 5 NO: bipartite graph with odd number of nodes. 21

Directed Hamiltonian Cycle DIR-HAM-CYCLE: given a digraph G = (V, E), does there exists a simple directed cycle that contains every node in V? Claim. DIR-HAM-CYCLE P HAM-CYCLE. Pf. Given a directed graph G = (V, E), construct an undirected graph G' with 3n nodes. a a out d in d b c G v e b out c out v in G' v v out e in 22

Directed Hamiltonian Cycle Claim. G has a Hamiltonian cycle iff G' does. Pf. Suppose G has a directed Hamiltonian cycle. Then G' has an undirected Hamiltonian cycle (same order). Pf. Suppose G' has an undirected Hamiltonian cycle '. ' must visit nodes in G' using one of following two orders:, B, G, R, B, G, R, B, G, R, B,, B, R, G, B, R, G, B, R, G, B, Blue nodes in ' make up directed Hamiltonian cycle in G, or reverse of one. 23

3-SAT Reduces to Directed Hamiltonian Cycle Claim. 3-SAT P DIR-HAM-CYCLE. Pf. Given an instance of 3-SAT, we construct an instance of DIR- HAM-CYCLE that has a Hamiltonian cycle iff is satisfiable. Construction. First, create graph that has 2 n Hamiltonian cycles which correspond in a natural way to 2 n possible truth assignments. 24

3-SAT Reduces to Directed Hamiltonian Cycle Construction. Given 3-SAT instance with n variables x i and k clauses. Construct G to have 2 n Hamiltonian cycles. Intuition: traverse path i from left to right set variable x i = 1. s x 1 x 2 x 3 t 3k + 3 25

3-SAT Reduces to Directed Hamiltonian Cycle Construction. Given 3-SAT instance with n variables x i and k clauses. For each clause: add a node and 6 edges. C1 x1 V x2 V x3 C2 x1 V x2 V x3 clause node clause node s x 1 x 2 x 3 t 26

3-SAT Reduces to Directed Hamiltonian Cycle Claim. is satisfiable iff G has a Hamiltonian cycle. Pf. Suppose 3-SAT instance has satisfying assignment x*. Then, define Hamiltonian cycle in G as follows: if x* i = 1, traverse row i from left to right if x* i = 0, traverse row i from right to left for each clause C j, there will be at least one row i in which we are going in "correct" direction to splice node C j into tour 27

3-SAT Reduces to Directed Hamiltonian Cycle Claim. is satisfiable iff G has a Hamiltonian cycle. Pf. Suppose G has a Hamiltonian cycle. If enters clause node C j, it must depart on mate edge. thus, nodes immediately before and after C j are connected by an edge e in G removing C j from cycle, and replacing it with edge e yields Hamiltonian cycle on G - { C j } Continuing in this way, we are left with Hamiltonian cycle ' in G - { C 1, C 2,..., C k }. Set x* i = 1 iff ' traverses row i left to right. Since visits each clause node C j, at least one of the paths is traversed in "correct" direction, and each clause is satisfied. 28

Longest Path SHORTEST-PATH. Given a digraph G = (V, E), does there exists a simple path of length at most k edges? LONGEST-PATH. Given a digraph G = (V, E), does there exists a simple path of length at least k edges? Claim. 3-SAT P LONGEST-PATH. Pf 1. Redo proof for DIR-HAM-CYCLE, ignoring back-edge from t to s. Pf 2. Show HAM-CYCLE P LONGEST-PATH. 29

Traveling Salesperson Problem TSP. Given a set of n cities and a pairwise distance function d(u, v), is there a tour of length D? All 13,509 cities in US with a population of at least 500 Reference: http://www.tsp.gatech.edu 30

Traveling Salesperson Problem TSP. Given a set of n cities and a pairwise distance function d(u, v), is there a tour of length D? Optimal TSP tour Reference: http://www.tsp.gatech.edu 31

Traveling Salesperson Problem TSP. Given a set of n cities and a pairwise distance function d(u, v), is there a tour of length D? 11,849 holes to drill in a programmed logic array Reference: http://www.tsp.gatech.edu 32

Traveling Salesperson Problem TSP. Given a set of n cities and a pairwise distance function d(u, v), is there a tour of length D? Optimal TSP tour Reference: http://www.tsp.gatech.edu 33

Traveling Salesperson Problem TSP. Given a set of n cities and a pairwise distance function d(u, v), is there a tour of length D? HAM-CYCLE: given a graph G = (V, E), does there exists a simple cycle that contains every node in V? Claim. HAM-CYCLE P TSP. Pf. Given instance G = (V, E) of HAM-CYCLE, create n cities with distance function 1 if (u, v) E d(u, v) 2 if (u, v) E TSP instance has tour of length n iff G is Hamiltonian. Remark. TSP instance in reduction satisfies -inequality. 34