SUBSET-SUM Instance: A set of numbers denoted S and a target number t.

Slides:



Advertisements
Similar presentations
Complexity ©D.Moshkovits 1 Where Can We Draw The Line? On the Hardness of Satisfiability Problems.
Advertisements

Complexity ©D.Moshkovitz 1 NPC More NP-Complete Problems.
Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
Lecture 23. Subset Sum is NPC
NP-Completeness: Reductions
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
More NP-completeness Sipser 7.5 (pages ). CS 311 Fall NP’s hardest problems Definition 7.34: A language B is NP-complete if 1.B ∈ NP 2.A≤
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Complexity 11-1 Complexity Andrei Bulatov NP-Completeness.
More NP-completeness Sipser 7.5 (pages ).
CS21 Decidability and Tractability
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
Graphs 4/16/2017 8:41 PM NP-Completeness.
Approximation Algorithms Lecture for CS 302. What is a NP problem? Given an instance of the problem, V, and a ‘certificate’, C, we can verify V is in.
Transitivity of  poly Theorem: Let ,  ’, and  ’’ be three decision problems such that   poly  ’ and  ’  poly  ’’. Then  poly  ’’. Proof:
The Theory of NP-Completeness
NP-Complete Problems Problems in Computer Science are classified into
Time Complexity.
NP-Completeness (2) NP-Completeness Graphs 4/17/2017 6:25 AM x x x x x
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 24 Instructor: Paul Beame.
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture NP-Completeness Jan Maluszynski, IDA, 2007
Complexity ©D.Moshkovitz 1 Paths On the Reasonability of Finding Paths in Graphs.
February 25, 2015CS21 Lecture 211 CS21 Decidability and Tractability Lecture 21 February 25, 2015.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Complexity 25-1 Complexity Andrei Bulatov Counting Problems.
CSC401 – Analysis of Algorithms Chapter 13 NP-Completeness Objectives: Introduce the definitions of P and NP problems Introduce the definitions of NP-hard.
Additional NP-complete problems
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
1 NPC NP-Complete Problems 2 We can solve any problem(!)(?) … but perhaps not with a computer! Some problems are not computable: The Halting Problem:
Instructor Neelima Gupta Table of Contents Class NP Class NPC Approximation Algorithms.
Fundamentals of Informatics Lecture 14 Intractability and NP-completeness Bas Luttik.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
NPC.
CSC 413/513: Intro to Algorithms
NP-Completeness Note. Some illustrations are taken from (KT) Kleinberg and Tardos. Algorithm Design (DPV)Dasgupta, Papadimitriou, and Vazirani. Algorithms.
1 Ch 10 - NP-completeness Tractable and intractable problems Decision/Optimization problems Deterministic/NonDeterministic algorithms Classes P and NP.
Complexity ©D.Moshkovits 1 2-Satisfiability NOTE: These slides were created by Muli Safra, from OPICS/sat/)
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
Prof. Busch - LSU1 Busch Complexity Lectures: More NP-complete Problems.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
34.NP Completeness. Computer Theory Lab. Chapter 34P.2.
 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
CSE 332: NP Completeness, Part II Richard Anderson Spring 2016.
TU/e Algorithms (2IL15) – Lecture 10 1 NP-Completeness, II.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
More NP-Complete and NP-hard Problems
More 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
(xy)(yz)(xz)(zy)
CS154, Lecture 16: More NP-Complete Problems; PCPs
Where Can We Draw The Line?
Lecture 24 NP-Complete Problems
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
CS154, Lecture 16: More NP-Complete Problems; PCPs
CS21 Decidability and Tractability
Lecture 24 Classical NP-hard Problems
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
Presentation transcript:

SUBSET-SUM Instance: A set of numbers denoted S and a target number t. Problem: To decide if there exists a subset YS, s.t yYy=t. 13 16 8 21 1 3 6 11

SUBSET-SUM is in NP On input S,t: Guess YS Accept iff yYy=t. The length of the certificate: O(n) (n=|S|) Time complexity: O(n)

SUBSET-SUM is NP-Complete Proof: We’ll show 3SATpSUBSET-SUM. t

Examples SUBSET-SUM … because 2+8=10 … because 11 cannot be made out of {2,4,8}

Reducing 3SAT to SubSet Sum Proof idea: Choosing the subset numbers from the set S corresponds to choosing the assignments of the variables in the 3CNF formula. The different digits of the sum correspond to the different clauses of the formula. If the target t is reached, a valid and satisfying assignment is found.

Subset Sum + clause: 3CNF formula: Make the number table, 1 2 3 4 +x1 –x1 +x2 –x2 +x3 –x3 +x4 –x4 1 3CNF formula: Make the number table, and the ‘target sum’ t dummies + 1 3

Reducing 3SAT to SubSet Sum Let 3CNF with k clauses and  variables x1,…,x. Create a Subset-Sum instance <S,t> by: 2+2k elements of S = {y1,z1,…,y,z,g1,h1,…,gk,hk} yj indicates positive xj literals in clauses zj indicates negated xj literals in clauses gj and hj are dummies and

Subset Sum Note 1: The “1111” in the target forces a proper assignment +x1 –x1 +x2 –x2 +x3 –x3 +x4 –x4 1 Note 1: The “1111” in the target forces a proper assignment of the xi variables. Note 2: The target “3333” is only possible if each clause is satisfied. (The dummies can add maximally 2 extra.) 1 3

Subset Sum + is a satisfying assignment +x1 –x1 +x2 –x2 +x3 –x3 +x4 1 3 + is a satisfying assignment 1 3

Subset Sum + is not a satisfying assignment +x1 –x1 +x2 –x2 +x3 –x3 1 ? 2 + is not a satisfying assignment 1 3

Proof 3SAT P Subset Sum For every 3CNF , take target t=1…13…3 and the corresponding set S. If 3SAT, then the satisfying assignment defines a subset that reaches the target. Also, the target can only be obtained via a set that gives a satisfying assignment for .

Finding the Solution If the decision problem Subset-Sum is solvable in polynomial time, then we can also find the subset that reaches the target in poly-time. How? By asking smart questions about several variants of the problem. That way, we can determine which variables xi are involved in the solution.

Directed Hamiltonian Path Given a directed graph G, does there exist a Hamiltonian path, which visits all nodes exactly once? Two Examples: but this graph has no Hamiltonian path this graph has a Hamiltonian path

3SAT to Hamiltonian Path Proof idea: Given a 3CNF , make a graph G such that … a Hamiltonian path is possible if and only if there is a zig-zag path through G, … where the directions (zig or zag) determine the assignments (true or false) of the variables x1,…,xL of .

“Zig-Zag Graphs” s t There are 2L different Hamiltonian paths from s to the target t. For every i, “Zig” means xi=True … while “Zag” means xi=False

Accessing the Clauses stands for If  has K clauses,  = C1 Ck, then xi has K “hubs”: Idea: Make K extra nodes Cj that can only be visited via the hub- path that defines an assignment of xi which satisfies the clause (using zig/zag = T/F). stands for

Connecting the Clauses Let the clause Cj contain xi: If then xi=True=“zig” reaches node Cj If then xi=False=“zag” reaches node Cj

Proof 3SAT P HamPath Given a 3CNF (x1,…,xL) with K clauses Make graph G with a zig/zag levels for every xi Connect the clauses Cj via the proper “hubs” If SAT, then the satisfying assignment defines a Hamiltonian path, and vice versa.

Example 4 variables… 4 clauses… Clauses connected via zig-zag “hubs”

Example assignment… …satifies all four clauses; hence it defines a Hamiltonian Path

Example assignment… …does not satify first clause; hence the path misses the C1 node

More on Hamiltonian Path Useful for proving NP-completeness of “optimal routing problems” Typical example: NP-completeness of “Traveling Salesman Problem” Issue of directed versus undirected graphs

Forcing Directions Given a directed graph with s,x1,…,xk,t Replace s with sout, the t with tin ,and every xi with the triplet “xi,in—xi,mid — xi,out” Redraw the original directed edges with edges going from out-nodes to in-nodes. If and only if the directed graph has a HamPath from s to t, then so has this graph.

Example: Directions becomes becomes y y xin sout xmid xout becomes ymid yout yin xin sout xmid xout becomes ymid yout yin “Undirected HamPath” is NP-complete