CS21 Decidability and Tractability

Slides:



Advertisements
Similar presentations
Max Cut Problem Daniel Natapov.
Advertisements

Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
Lecture 23. Subset Sum is NPC
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Complexity 11-1 Complexity Andrei Bulatov NP-Completeness.
CS21 Decidability and Tractability
February 23, 2015CS21 Lecture 201 CS21 Decidability and Tractability Lecture 20 February 23, 2015.
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
Computability and Complexity 16-1 Computability and Complexity Andrei Bulatov NP-Completeness.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
Last class Decision/Optimization 3-SAT  Independent-Set Independent-Set  3-SAT P, NP Cook’s Theorem NP-hard, NP-complete 3-SAT  Clique, Subset-Sum,
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 24 Instructor: Paul Beame.
February 25, 2015CS21 Lecture 211 CS21 Decidability and Tractability Lecture 21 February 25, 2015.
Theory of Computing Lecture 19 MAS 714 Hartmut Klauck.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
NPC.
NP-Completeness Note. Some illustrations are taken from (KT) Kleinberg and Tardos. Algorithm Design (DPV)Dasgupta, Papadimitriou, and Vazirani. Algorithms.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
Prof. Busch - LSU1 Busch Complexity Lectures: More NP-complete Problems.
SUBSET-SUM Instance: A set of numbers denoted S and a target number t.
 2005 SDU Lecture15 P,NP,NP-complete.  2005 SDU 2 The PATH problem PATH = { | G is a directed graph that has a directed path from s to t} s t
TU/e Algorithms (2IL15) – Lecture 10 1 NP-Completeness, II.
The Theory of NP-Completeness
The NP class. NP-completeness
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
More NP-Complete and NP-hard Problems
P & NP.
Chapter 10 NP-Complete Problems.
Richard Anderson Lecture 26 NP-Completeness
More NP-complete Problems
SUBSET-SUM Instance: A set of numbers denoted S and a target number t.
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness Proofs
Richard Anderson Lecture 26 NP-Completeness
Hard Problems Introduction to NP
NP-Completeness Yin Tat Lee
CS21 Decidability and Tractability
Intro to Theory of Computation
Intro to Theory of Computation
CS154, Lecture 16: More NP-Complete Problems; PCPs
CS21 Decidability and Tractability
ICS 353: Design and Analysis of Algorithms
NP-Completeness (2) NP-Completeness Graphs 11/23/2018 2:12 PM x x x x
More NP-complete Problems
Richard Anderson Lecture 25 NP-Completeness
Richard Anderson Lecture 28 NP-Completeness
Chapter 34: NP-Completeness
NP-Complete Problems.
CS 3343: Analysis of Algorithms
Richard Anderson Lecture 26 NP-Completeness
NP-Completeness Yin Tat Lee
CS21 Decidability and Tractability
CSE 6408 Advanced Algorithms.
CS21 Decidability and Tractability
CS21 Decidability and Tractability
NP-Completeness Yin Tat Lee
CS154, Lecture 16: More NP-Complete Problems; PCPs
More NP-complete problems
Trevor Brown DC 2338, Office hour M3-4pm
CSE 589 Applied Algorithms Spring 1999
Lecture 24 Classical NP-hard Problems
Instructor: Aaron Roth
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
Lecture 23 NP-Hard Problems
Presentation transcript:

CS21 Decidability and Tractability Lecture 22 March 1, 2019 March 1, 2019 CS21 Lecture 22

Outline NP-complete problems: Subset Sum NP-complete problems: NAE-3-SAT, max cut The complexity class coNP The complexity class coNP ∩ NP March 1, 2019 CS21 Lecture 22

Subset Sum A language (decision problem): example: SUBSET-SUM = {(S = {a1, a2, a3, …, ak}, B) : there is a subset of S that sums to B} example: S = {1, 7, 28, 3, 2, 5, 9, 32, 41, 11, 8} B = 30 30 = 7 + 3 + 9 + 11. yes. March 1, 2019 CS21 Lecture 22

Subset Sum Is this problem NP-complete? in P? SUBSET-SUM = {(S = {a1, a2, a3, …, ak}, B) : there is a subset of S that sums to B} Is this problem NP-complete? in P? Problem set: in TIME(B⋅poly(k)) March 1, 2019 CS21 Lecture 22

SUBSET-SUM is NP-complete Theorem: the following language is NP-complete: SUBSET-SUM = {(S = {a1, a2, a3, …, ak}, B) : there is a subset of S that sums to B} Proof: Part 1: SUBSET-SUM ∈ NP. Proof? Part 2: SUBSET-SUM is NP-hard. reduce from? our reduction had better produce super-polynomially large B (unless we want to prove P=NP) March 1, 2019 CS21 Lecture 22

SUBSET-SUM is NP-complete We are reducing from the language: 3SAT = { φ : φ is a 3-CNF formula that has a satisfying assignment } to the language: SUBSET-SUM = {(S = {a1, a2, a3, …, ak}, B) : there is a subset of S that sums to B} March 1, 2019 CS21 Lecture 22

SUBSET-SUM is NP-complete φ = (x1 ∨ x2 ∨¬ x3)∧(¬x1 ∨ x4 ∨ x3)∧ … ∧(…) Need integers to play the role of truth assignments For each variable xi include two integers in our set S: xiTRUE and xiFALSE set B so that exactly one must be in sum March 1, 2019 CS21 Lecture 22

SUBSET-SUM is NP-complete every choice of one from each (xiTRUE,xiFALSE) pair sums to B every subset that sums to B must choose one from each (xiTRUE,xiFALSE) pair x1TRUE = 1 0 0 0 … 0 x1FALSE = 1 0 0 0 … 0 x2TRUE = 0 1 0 0 … 0 x2FALSE = 0 1 0 0 … 0 … xmTRUE = 0 0 0 0 … 1 xmFALSE = 0 0 0 0 … 1 B = 1 1 1 1 … 1 March 1, 2019 CS21 Lecture 22

SUBSET-SUM is NP-complete φ = (x1 ∨ x2 ∨¬ x3)∧(¬x1 ∨ x4 ∨ x3)∧ … ∧(…) Need to force subset to “choose” at least one true literal from each clause Idea: add more digits one digit for each clause set B to force each clause to be satisfied. March 1, 2019 CS21 Lecture 22

SUBSET-SUM is NP-complete φ = (x1 ∨ x2 ∨¬ x3)∧(¬x1 ∨ x4 ∨ x3)∧ … ∧(…) x1TRUE = 1 0 0 0 … 0 1 x1FALSE = 1 0 0 0 … 0 0 x2TRUE = 0 1 0 0 … 0 1 x2FALSE = 0 1 0 0 … 0 0 x3TRUE = 0 0 1 0 … 0 0 x3FALSE = 0 0 1 0 … 0 1 … : B = 1 1 1 1 … 1 ? ? ? ? clause 1 … clause 2 clause 3 : clause k … March 1, 2019 CS21 Lecture 22

SUBSET-SUM is NP-complete if clause i is satisfied sum might be 1, 2, or 3 in corresponding column. want ? to “mean” ≥ 1 solution: set ? = 3 add two “filler” elements for each clause i: FILL1i = 0 0 0 0 ... 0 0 ... 0 1 0 ... 0 FILL2i = 0 0 0 0 ... 0 0 ... 0 1 0 ... 0 column for clause i March 1, 2019 CS21 Lecture 22

SUBSET-SUM is NP-complete Reduction: m variables, k clauses for each variable xi: xiTRUE has ones in positions k + i and {j : clause j includes literal xi} xiFALSE has ones in positions k + i and {j : clause j includes literal ¬xi} for each clause i: FILL1i and FILL2i have one in position i bound B has 3 in positions 1…k and 1 in positions k+1…k+m March 1, 2019 CS21 Lecture 22

SUBSET-SUM is NP-complete Reduction computable in poly-time? YES maps to YES? choose one from each (xiTRUE,xiFALSE) pair corresponding to a satisfying assignment choose 0, 1, or 2 of filler elements for each clause i depending on whether it has 3, 2, or 1 true literals first m digits add to 1; last k digits add to 3 March 1, 2019 CS21 Lecture 22

SUBSET-SUM is NP-complete NO maps to NO? at most 5 ones in each column, so no carries to worry about first m digits of B force subset to choose exactly one from each (xiTRUE,xiFALSE) pair last k digits of B require at least one true literal per clause, since can only sum to 2 using filler elements resulting assignment must satisfy φ March 1, 2019 CS21 Lecture 22

(x1 ∨ x2 ∨¬ x3)∧(¬x1 ∨ x4 ∨ x3)∧ … ∧(…) Not-All-Equal 3SAT (x1 ∨ x2 ∨¬ x3)∧(¬x1 ∨ x4 ∨ x3)∧ … ∧(…) Theorem: the following language is NP-complete: NAE3SAT = {φ : φ is a 3-CNF formula for which there exists a truth assignment in which every clause has at least 1 true literal and at least 1 false literal} Proof: Part 1: NAE3SAT ∈ NP. Proof? Part 2: NAE3SAT is NP-hard. Reduce from? March 1, 2019 CS21 Lecture 22

NAE3SAT is NP-complete We are reducing from the language: CIRCUIT-SAT = {C : C is a Boolean circuit for which there exists a satisfying truth assignment} to the language: NAE3SAT = {φ : φ is a 3-CNF formula for which there exists a truth assignment in which every clause has at least 1 true literal and at least 1 false literal} March 1, 2019 CS21 Lecture 22

NAE3SAT is NP-complete Recall reduction to 3SAT variables x1, x2, …,xn, gates g1, g2, …, gm produce clauses: not all true in a satisfying assignment not all true in a satisfying assignment ∨ (¬z1 ∨ gi) (¬z2 ∨ gi) (¬gi ∨ z1 ∨ z2) gi ¬ gi (gi ∨ z) (¬z ∨¬gi) z1 z2 z ∧ (¬gi ∨ z1) (¬gi ∨ z2) (¬z1 ∨¬z2 ∨ gi) gi output gate gm: (gm) z1 z2 March 1, 2019 CS21 Lecture 22

NAE3SAT is NP-complete Recall reduction to 3SAT variables x1, x2, …,xn, gates g1, g2, …, gm produce clauses: ∨ (¬z1 ∨ gi ∨ w) (¬z2 ∨ gi ∨w) (¬gi ∨ z1 ∨ z2) gi ¬ gi (gi ∨ z ∨ w) (¬z ∨¬gi ∨ w) z1 z2 z ∧ (¬gi ∨ z1 ∨ w) (¬gi ∨ z2 ∨ w) (¬z1 ∨¬z2 ∨ gi) gi output gate gm: (gm ∨ w) z1 z2 March 1, 2019 CS21 Lecture 22

NAE3SAT is NP-complete Does the reduction run in polynomial time? YES maps to YES already know how to get a satisfying assignment to the BLUE variables set w = FALSE (¬z1 ∨ gi ∨ w) (¬z2 ∨ gi ∨w) (¬gi ∨ z1 ∨ z2) (¬gi ∨ z1 ∨ w) (¬gi ∨ z2 ∨ w) (¬z1 ∨¬z2 ∨ gi) (gi ∨ z ∨ w) (¬z ∨¬gi ∨ w) (gm ∨ w) March 1, 2019 CS21 Lecture 22

NAE3SAT is NP-complete NO maps to NO given NAE assignment A complement A’ is a NAE assignment A or A’ has w = FALSE must have TRUE BLUE variable in every clause we know this implies C satisfiable (¬z1 ∨ gi ∨ w) (¬z2 ∨ gi ∨w) (¬gi ∨ z1 ∨ z2) (¬gi ∨ z1 ∨ w) (¬gi ∨ z2 ∨ w) (¬z1 ∨¬z2 ∨ gi) (gi ∨ z ∨ w) (¬z ∨¬gi ∨ w) (gm ∨ w) March 1, 2019 CS21 Lecture 22

find cut maximizing number of edges crossing the cut MAX CUT Given graph G = (V, E) a cut is a subset S ⊆ V an edge (x, y) crosses the cut if x ∈ S and y ∈V – S or x ∈ V – S and y ∈ S search problem: find cut maximizing number of edges crossing the cut March 1, 2019 CS21 Lecture 22

find cut maximizing number of edges crossing the cut MAX CUT Given graph G = (V, E) a cut is a subset S ⊆ V an edge (x, y) crosses the cut if x ∈ S and y ∈V – S or x ∈ V – S and y ∈ S search problem: find cut maximizing number of edges crossing the cut March 1, 2019 CS21 Lecture 22

MAX CUT Theorem: the following language is NP-complete: Proof: MAX CUT = {(G = (V, E), k) : there is a cut S ⊆ V with at least k edges crossing it} Proof: Part 1: MAX CUT ∈ NP. Proof? Part 2: MAX CUT is NP-hard. reduce from? March 1, 2019 CS21 Lecture 22

MAX CUT is NP-complete We are reducing from the language: NAE3SAT = {φ : φ is a 3-CNF formula for which there exists a truth assignment in which every clause has at least 1 true literal and at least 1 false literal} to the language: MAX CUT = {(G = (V, E), k) : there is a cut S ⊆ V with at least k edges crossing it} March 1, 2019 CS21 Lecture 22

(x1 ∨ x2 ∨¬x3)∧(¬x1 ∨ x4 ∨ x5)∧…∧(¬x2 ∨ x3 ∨ x3 ) MAX CUT is NP-complete The reduction: given instance of NAE3SAT (n nodes, m clauses): (x1 ∨ x2 ∨¬x3)∧(¬x1 ∨ x4 ∨ x5)∧…∧(¬x2 ∨ x3 ∨ x3 ) produce graph G = (V, E) with node for each literal ¬x3 x4 ¬x4 triangle for each 3-clause parallel edges for each 2-clause x2 ¬x1 ¬x5 x1 ¬x2 x5 x3 March 1, 2019 CS21 Lecture 22

(repeat variable in 2-clause to make 3-clause for this calculation) MAX CUT is NP-complete ¬x3 x4 ¬x4 triangle for each 3-clause parallel edges for each 2-clause x2 ¬x1 ¬x5 x1 ¬x2 x5 x3 if cut selects TRUE literals, each clause contributes 2 if NAE, and < 2 otherwise need to penalize cuts that correspond to inconsistent truth assignments add ni parallel edges from xi to ¬xi (ni = # occurrences) (repeat variable in 2-clause to make 3-clause for this calculation) March 1, 2019 CS21 Lecture 22

MAX CUT is NP-complete YES maps to YES triangle for each 3-clause parallel edges for each 2-clause ni parallel edges from xi to ¬xi set k = 5m ¬x3 x4 ¬x4 x2 ¬x1 ¬x5 x1 ¬x2 x5 x3 YES maps to YES take cut to be TRUE literals in a NAE truth assignment contribution from clause gadgets: 2m contribution from (xi, ¬xi) parallel edges: 3m March 1, 2019 CS21 Lecture 22

MAX CUT is NP-complete NO maps to NO triangle for each 3-clause parallel edges for each 2-clause ni parallel edges from xi to ¬xi set k = 5m ¬x4 x2 ¬x1 ¬x5 x1 ¬x2 x3 x5 NO maps to NO Claim: if cut has xi, ¬xi on same side, then can move one to opposite side without decreasing # edges crossing cut contribution from (xi, ¬xi) parallel edges: 3m contribution from clause gadgets must be 2m conclude: there is a NAE assignment March 1, 2019 CS21 Lecture 22

MAX CUT is NP-complete Claim: if cut has xi, ¬xi on same side, then can move one to opposite side without decreasing # edges crossing cut Proof: xi a + ni a edges ... xi ¬xi ni edges a+b ≤ 2ni xi ... b + ni ¬xi ... b edges a + ni ≥ a + b or b + ni ≥ a + b ¬xi March 1, 2019 CS21 Lecture 22