Where Can We Draw The Line?

Slides:



Advertisements
Similar presentations
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Advertisements

COMPLEXITY THEORY CSci 5403 LECTURE XVI: COUNTING PROBLEMS AND RANDOMIZED REDUCTIONS.
Complexity ©D.Moshkovits 1 Where Can We Draw The Line? On the Hardness of Satisfiability Problems.
Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
NP-Completeness: Reductions
Complexity ©D.Moshkovits 1 Hardness of Approximation.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
Complexity 19-1 Complexity Andrei Bulatov More Probabilistic Algorithms.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 24 Instructor: Paul Beame.
Complexity 1 Hardness of Approximation. Complexity 2 Introduction Objectives: –To show several approximation problems are NP-hard Overview: –Reminder:
Complexity ©D.Moshkovitz 1 Paths On the Reasonability of Finding Paths in Graphs.
Complexity ©D.Moshkovits 1 Hardness of Approximation.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
1 The TSP : NP-Completeness Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
Lecture 22 More NPC problems
NP-complete Problems SAT 3SAT Independent Set Hamiltonian Cycle
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 30, 2014.
NPC.
Complexity ©D.Moshkovits 1 2-Satisfiability NOTE: These slides were created by Muli Safra, from OPICS/sat/)
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
SUBSET-SUM Instance: A set of numbers denoted S and a target number t.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
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
The NP class. NP-completeness
More NP-Complete and NP-hard Problems
Chapter 10 NP-Complete Problems.
Richard Anderson Lecture 26 NP-Completeness
More NP-complete Problems
More NP-complete Problems
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)
NP-Completeness (36.4-5) P: yes and no in pt NP: yes in pt NPH  NPC
NP-Completeness Yin Tat Lee
Intro to Theory of Computation
Computability and Complexity
ICS 353: Design and Analysis of Algorithms
Intro to NP Completeness
More NP-complete Problems
Chapter 34: NP-Completeness
Additional NP-complete problems
Hardness of Approximation
More NP-Complete Problems
CS21 Decidability and Tractability
NP-Completeness Yin Tat Lee
CS21 Decidability and Tractability
CSE 6408 Advanced Algorithms.
NP-Completeness Yin Tat Lee
Our First NP-Complete Problem
Complexity Theory in Practice
CS21 Decidability and Tractability
Reductions Complexity ©D.Moshkovitz.
Reductions Complexity ©D.Moshkovitz.
Instructor: Aaron Roth
Instructor: Aaron Roth
Instructor: Aaron Roth
Lecture 23 NP-Hard Problems
Presentation transcript:

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

Introduction Objectives: To show variants of SAT and check if they are NP-hard Overview: Known results 2SAT Max2SAT Complexity ©D.Moshkovits

What Do We Know? Checking if a propositional calculus formula is satisfiable (SAT) is NP-hard. Example: propositional calculus formula (xz(wx))(xy)y Complexity ©D.Moshkovits

structure of CNF formulas What Do We Know? We concentrated on a special case: CNF formulas. structure of CNF formulas (...........)…(...........) Complexity ©D.Moshkovits

maximal number of literals per clause What Do We Know? P NP-hard maximal number of literals per clause 4 We’ll explore this! 3 2 1 Complexity ©D.Moshkovits

(xy)(yz)(xz)(zy) 2SAT Instance: A 2-CNF formula  Problem: To decide if  is satisfiable Example: a 2CNF formula (xy)(yz)(xz)(zy) Complexity ©D.Moshkovits

2SAT is in P Theorem: 2SAT is polynomial-time decidable. PAP 184-185 2SAT is in P Theorem: 2SAT is polynomial-time decidable. Proof: We’ll show how to solve this problem efficiently using path searches in graphs… Complexity ©D.Moshkovits

Searching in Graphs Theorem: Given a graph G=(V,E) and two vertices s,tV, finding if there is a path from s to t in G is polynomial-time decidable. Proof: Use some search algorithm (DFS/BFS).  Complexity ©D.Moshkovits

Graph Construction Vertex for each variable and a negation of a variable Edge (,) iff there exists a clause equivalent to () Complexity ©D.Moshkovits

Graph Construction: Example (xy)(yz)(xz)(zy) x y x y z z Complexity ©D.Moshkovits

Observation Claim: If the graph contains a path from  to , it also contains a path from  to . Proof: If there’s an edge (,), then there’s also an edge (,). Complexity ©D.Moshkovits

Correctness Claim: a 2-CNF formula  is unsatisfiable iff there exists a variable x, such that: there is a path from x to x in the graph there is a path from x to x in the graph Complexity ©D.Moshkovits

Correctness (1) Suppose there are paths x..x and x..x for some variable x, but there’s also a satisfying assignment . If (x)=T (similarly for (x)=F): () is false! x x . . .   T T F F Complexity ©D.Moshkovits

Correctness (2) Suppose there are no such paths. Construct an assignment as follows: x y x z z y x 2. assign T to all reachable vertices 1. pick an unassigned literal , with no path from  to , and assign it T y x 3. assign F to their negations y z 4. Repeat until all vertices are assigned z Complexity ©D.Moshkovits

Correctness (2) Claim: The algorithm is well defined. Proof: If there were a path from x to both y and y, then there would have been a path from x to y and from y to x. Complexity ©D.Moshkovits

Correctness A formula is unsatisfiable iff there are no paths of the form x..x and x..x.  Complexity ©D.Moshkovits

2SAT is in P We get the following efficient algorithm for 2SAT: For each variable x find if there is a path from x to x and vice-versa. Reject if any of these tests succeeded. Accept otherwise  2SATP.  Complexity ©D.Moshkovits

Max2SAT Instance: A 2-CNF formula  and a goal K. Problem: To decide if there is an assignment satisfying at least K of ’s clauses. Example: a 2CNF formula (xy) (yz) (xz) (zy) Complexity ©D.Moshkovits

Max2SAT is in NPC Theorem: Max2SAT is NP-Complete. PAP 186-187 Max2SAT is in NPC Theorem: Max2SAT is NP-Complete. Proof: Max2SAT is clearly in NP. We’ll show 3SATpMax2SAT. (......)…(......) (....)…(....) p K Complexity ©D.Moshkovits

Gadgets    Claim: Let (x,y,z,w) = (x)(y)(z)(w)  Gadgets     Proof: By checking. Claim: Let (x,y,z,w) = (x)(y)(z)(w) (xy)(yz)(zx) (xw)(yw)(zw). Every satisfying assignment for (xyz) can be extended into an assignment that satisfies exactly 7 of the clauses. Other assignments can satisfy at most 6 of the clauses. Complexity ©D.Moshkovits

Make sure this construction is poly-time The Construction For each 1im, replace the i-th clause of the 3-CNF formula () with a corresponding (,,,wi) to get a 2-CNF formula. Fix K=7m. Make sure this construction is poly-time Complexity ©D.Moshkovits

Correctness Every satisfying assignment for the 3-CNF formula can be extended into an assignment that satisfies 7m clauses. If 7m clauses of the 2-CNF formula are satisfied, each  has 7 satisfied clauses, so the original formula is satisfied. Complexity ©D.Moshkovits

Corollary 3SATpMax2SAT and Max2SATNP Max2SAT is NP-Complete.  Complexity ©D.Moshkovits

 Summary We’ve seen that checking if a given CNF formula is satisfiable is: Polynomial-time decidable, if every clause contains up to 2 literals. NP-hard, if each clause may contain more than 2 literals. We’ve also seen Max2SAT is NP-hard. Complexity ©D.Moshkovits

 Conclusions A special case of a NP-hard problem may be polynomial time decidable. The optimization version of a polynomial-time decidable problem may be NP-hard. Complexity ©D.Moshkovits