1 SAT SAT: Given a Boolean function in CNF representation, is there a way to assign truth values to the variables so that the function evaluates to true?

Slides:



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

NP-Hard Nattee Niparnan.
 2004 SDU Lecture17-P,NP, NPC.  2004 SDU 2 1.Decision problem and language decision problem decision problem and language 2.P and NP Definitions of.
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
Lecture 21 NP-complete problems
Complexity class NP Is the class of languages that can be verified by a polynomial-time algorithm. L = { x in {0,1}* | there exists a certificate y with.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
1 L is in NP means: There is a language L’ in P and a polynomial p so that L 1 · L 2 means: For some polynomial time computable map r : 8 x: x 2 L 1 iff.
CS21 Decidability and Tractability
February 23, 2015CS21 Lecture 201 CS21 Decidability and Tractability Lecture 20 February 23, 2015.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
Graphs 4/16/2017 8:41 PM NP-Completeness.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time in a reasonable sequential model of computation if and only if it.
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
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,
NP-Completeness (2) NP-Completeness Graphs 4/17/2017 6:25 AM x x x x x
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
Chapter 11: Limitations of Algorithmic Power
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Theory of Computing Lecture 19 MAS 714 Hartmut Klauck.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
1 L is in NP means: There is a language L’ in P and a polynomial p so that L 1 ≤ L 2 means: For some polynomial time computable map r : x: x L 1 iff r(x)
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
The Complexity of Optimization Problems. Summary -Complexity of algorithms and problems -Complexity classes: P and NP -Reducibility -Karp reducibility.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Polynomial-time reductions We have seen several reductions:
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
CSC401 – Analysis of Algorithms Chapter 13 NP-Completeness Objectives: Introduce the definitions of P and NP problems Introduce the definitions of NP-hard.
1 P P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
1. 2 Lecture outline Basic definitions: Basic definitions: P, NP complexity classes P, NP complexity classes the notion of a certificate. the notion of.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
1 How to establish NP-hardness Lemma: If L 1 is NP-hard and L 1 ≤ L 2 then L 2 is NP-hard.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
NP-Completeness Note. Some illustrations are taken from (KT) Kleinberg and Tardos. Algorithm Design (DPV)Dasgupta, Papadimitriou, and Vazirani. Algorithms.
NP-complete Languages
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
TU/e Algorithms (2IL15) – Lecture 9 1 NP-Completeness NOT AND OR AND NOT AND.
1 Design and Analysis of Algorithms Yoram Moses Lecture 13 June 17, 2010
CSE 332: NP Completeness, Part II Richard Anderson Spring 2016.
TU/e Algorithms (2IL15) – Lecture 10 1 NP-Completeness, II.
NP-Completeness A problem is NP-complete if: It is in NP
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
P & NP.
L is in NP means: There is a language L’ in P and a polynomial p so that L1 ≤ L2 means: For some polynomial time computable map r :  x: x  L1 iff.
Richard Anderson Lectures NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
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
Lecture 24 NP-Complete Problems
NP-Completeness (2) NP-Completeness Graphs 11/23/2018 2:12 PM x x x x
Richard Anderson Lecture 28 NP-Completeness
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
Presentation transcript:

1 SAT SAT: Given a Boolean function in CNF representation, is there a way to assign truth values to the variables so that the function evaluates to true? SAT: Given a CNF, is it true that it does not represent the constant-0 function? Input: ( : x 1 Ç : x 2 ) Æ (x 1 Ç x 2 ) Output: Yes. Input: ( : x 1 Ç : x 2 ) Æ (x 1 Ç x 2 ) Æ (x 1 Ç : x 2 ) Æ ( : x 1 Ç x 2 ) Output: No.

2 SAT SAT is in NP. Cook’s theorem (1972): SAT is NP-hard. Hence, SAT is NP-complete. It is a universal search problem and we do not think it has a polynomial time algorithm. If we find one, we get $

3 Circuits A circuit C is a directed acyclic graph. Nodes in C are called gates. Types of gates: –Variable (or input) gates of indegree 0, labeled X 1, X 2, …X n –Constant gates of indegree 0, labeled 0,1 –AND-, OR-gates of indegree 2, –NOT-, COPY-gates of indegree 1. –m distinguished gates are output gates. The circuit C computes a Boolean function C:{0,1} n ! {0,1} m

4 CIRCUIT SAT CIRCUIT SAT: Given a Boolean circuit, is there a way to assign truth values to the input gates variables, so that the output gate evaluates to true? Generalizes SAT, as CNFs are formulas and formulas are circuits.

5 Example ⋀ ⋁ ⌐ X1X1 X2X2 X3X3 ⋀ Input: Output: Yes

6 Example ⋀ ⌐ X1X1 X2X2 X3X3 ⋀ Input: Output: No ⋀

7 CIRCUIT SAT CIRCUIT SAT is in NP. Proof of Cook’s theorem: – CIRCUIT SAT reduces to SAT. – CIRCUIT SAT is NP-hard. – Hence, SAT is NP-hard.

8 CIRCUIT SATSAT

9 Cooks’ theorem: SAT is NP-hard Proof of Cook’s theorem: – CIRCUIT SAT is NP-hard. – CIRCUIT SAT reduces to SAT. – Hence, SAT is NP-hard.

10 Circuits vs. Turing Machines Circuits can be given as inputs to algorithms but they can also be seen as computational devices themselves! Like Turing Machines, circuits C: {0,1} n ! {0,1} solve decision problems on {0,1} n. Unlike Turing machines, circuits takes inputs of a fixed input length n only.

11 Theorem Given Turing Machine M running in time at most p(n) on inputs of length n, where p is a polynomial. For every n, there is a circuit C n with at most O(p(n) 2 ) gates so that 8 x 2 {0,1} n : C n (x)=1 iff M accepts x. The map 1 n ! C n is polynomial time computable.

12 Intuition behind proof

13 Problem: Cycles! Flip-Flop, stores one bit.

14 The Tableau Method Time 0 Time 1 Time t … 12 s Can be replaced by acyclic Boolean circuit of size ≈ s

15 Multi-output circuits Any function f: {0,1} n ! {0,1} m is represented by some circuit. Proof: Any function f: {0,1} n ! {0,1} can be described by a Boolean formula. A formula can also be viewed as a circuit. Combine m such circuits.

16 Theorem Given Turing Machine M running in time at most p(n) on inputs of length n, where p is a polynomial. For every n, there is a circuit C n of size at most O(p(n) 2 ) so that 8 x 2 {0,1} n : C n (x)=1 iff M accepts x. The map 1 n ! C n is polynomial time computable.

17 The Tableau Method Time 0 Time 1 Time t … 12 s Can be replaced by acyclic Boolean circuit of size ≈ s

18 Cell state vectors Given a Turing Machine computation, an integer t and an integer i let c ti  {0,1} s be a Boolean representation of the following information, a cell state vector: –The symbol in cell i at time t –Whether or not the head is pointing to cell i at time t –If the head is pointing to cell i, what is the state of the finite control of the Turing machine at time t? The integer s depends only on the Turing machine (not the input to the computation, nor t,i). To make c ti defined for all t, we let c (t+1)i = c ti if the computation has already terminated at time t.

19 Crucial Observation If we know the Turing machine and c t-1,i-1, c t-1,i, c t-1, i+1, we also can determine c t,i. In other words, there is a Boolean function h depending only on the Turing machine so that c t,i = h(c t-1,i-1, c t-1,i, c t-1,i+1 ). A circuit D for h is the central building block in a circuit computing all cell state vectors for all times for a given input.

20 2 t(n) t(n) x1x1 xnxn

21 CIRCUIT SAT is NP-hard Given an arbitrary language L in NP we must show that L reduces to CIRCUIT SAT. This means: We must construct a polynomial time computable map r mapping instances of L to circuits, so that 8 x: x 2 L, r(x) 2 CIRCUIT SAT The only thing we know about L is that there is a language L’ in P and a polynomial p, so that:

22 Cooks’ theorem: SAT is NP-hard Proof of Cook’s theorem: – CIRCUIT SAT is NP-hard. – CIRCUIT SAT reduces to SAT. – Hence, SAT is NP-hard.

23 SAT ILP MILP MAX INDEPENDENT SET MIN VERTEX COLORING HAMILTONIAN CYCLE TSP TRIPARTITE MATCHING SET COVER KNAPSACK BINPACKING

24

25 Remarks on Papadimitriou’s terminology When Papadimitriou writes “log space reduction”, just substitute “polynomial time reduction”. When Papadimitriou writes NL, just substitute P. Papadimtriou’s concepts are more restrictive, but the more restrictive definitions will play no role in this course.