Prabhas Chongstitvatana1 NP-complete proofs The circuit satisfiability proof of NP- completeness relies on a direct proof that L  p CIRCUIT-SAT for every.

Slides:



Advertisements
Similar presentations
NP-Hard Nattee Niparnan.
Advertisements

Polynomial-time reductions We have seen several reductions:
NP-Completeness: Reductions
NP and NP Complete. Definitions A problem is in the class P if there is a polynomial time solution to the problem A problem is in the class NP if there.
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.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Complexity 11-1 Complexity Andrei Bulatov NP-Completeness.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
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:
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
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
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
Clique Cover Cook’s Theorem 3SAT and Independent Set
P, NP, and NP-Complete Suzan Köknar-Tezel.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Complexity Classes (Ch. 34) The class P: class of problems that can be solved in time that is polynomial in the size of the input, n. if input size is.
Lecture 22 More NPC problems
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
1 NP-Completeness Poly time algorithm: input size n (in some encoding), worst case running time – O(n c ) for some constant c. Three classes of problems.
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.
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.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Unit 9: Coping with NP-Completeness
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.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
NP-Complete problems.
NP-Completeness (Nondeterministic Polynomial Completeness) Sushanth Sivaram Vallath & Z. Joseph.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
NP-Algorithms Tractable vs Intractable Some problems are intractable: as they grow large, we are unable to solve them in reasonable time.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NPC.
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.
CSC 413/513: Intro to Algorithms
1 Ch 10 - NP-completeness Tractable and intractable problems Decision/Optimization problems Deterministic/NonDeterministic algorithms Classes P and NP.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
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.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
34.NP Completeness. Computer Theory Lab. Chapter 34P.2.
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 A problem is NP-complete if: It is in NP
More NP-complete problems
Richard Anderson Lectures NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
Lecture 2-2 NP Class.
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
Richard Anderson Lecture 26 NP-Completeness
CS154, Lecture 16: More NP-Complete Problems; PCPs
ICS 353: Design and Analysis of Algorithms
Richard Anderson Lecture 25 NP-Completeness
Richard Anderson Lecture 28 NP-Completeness
Chapter 34: NP-Completeness
NP-Complete Problems.
Prabhas Chongstitvatana
Presentation transcript:

Prabhas Chongstitvatana1 NP-complete proofs The circuit satisfiability proof of NP- completeness relies on a direct proof that L  p CIRCUIT-SAT for every L  NP. Lemma 36.8 If L is a language such that L’  p L for some L’  NPC, then L is NP-hard. Moreover, if L  NP, then L  NPC.

Prabhas Chongstitvatana2 1.Prove L  NP 2.Select a known NP-complete language L’ 3.Descrive an algorithm that compute f mapping every instance of L’ to an instance of L. 4.Prove f satisfies x  L’ iff f(x)  L  x  {0,1}* 5.Prove that the algorithm computing f runs in polynomial time.

Prabhas Chongstitvatana3 NP-complete problems SAT = { | Phi is a satisfiable boolean formula } Theorem 36.9 SAT  NP-complete Proof : SAT  NP (show a certificate can be verified in polynomial time), CIRCUIT-SAT  p SAT

Prabhas Chongstitvatana4 3-CNF-SAT CNF conjunctive normal form (AND of Ored- clauses) to simplify reduction algorithm 3-CNF-SAT  NP, SAT  p 3-CNF-SAT CLIQUE = { | G is a graph with a clique of size k } A clique in an undirected graph G = (V,E) is a subset V’  V of vertices each pair of which is connected by an edge in E (a clique is a complete subgraph of G).

Prabhas Chongstitvatana5 u w x v y z CLIQUE  NP; 3-CNF-SAT  p CLIQUE

Prabhas Chongstitvatana6 VERTEX-COVER = { | graph G has vertex cover of size k } A vertex cover of an undirected graph G = (V,E) is a subset V’  V such that if (u,v) E, then u  V’ or v  V’ (or both). VERTEX-COVER  NP; CLIQUE  p VERTEX-COVER

Prabhas Chongstitvatana7 SUBSET-SUM = { | there exists a subset S’  S such that t = Example : if S = {1, 4, 16, 64, 256, 1040, 1041, 1093, 1284, 1344} and t = The subset S’ = {1, 6, 64, 256, 1040, 1093, 1284 } is a solution. SUBSET-SUM  NP; VERTEX-COVER  p SUBSET-SUM

Prabhas Chongstitvatana8 HAM-CYCLE = { | G is a hamitonian graph } HAM-CYLE  NP; 3-CNF-SAT  p HAM-CYCLE TSP = { | G = (V,E) is a complete graph, c is a function from V  V  Z, k  Z, and G has a traveling-saleman tour with cost at most k } An integer cost c(i,j) to travel from city i to city j. A tour is a hamiltonian cycle. TSP  NP; HAM-CYCLE  p TSP

Prabhas Chongstitvatana9 CIRCUIT-SAT 3-CNF-SAT SAT TSP HAM-CYCLE CLIQUE VERTEX-COVER SUBSET-SUM

Prabhas Chongstitvatana10 Unsolvable A set with as many elements as the integers is called countably infinite. Not every infinite set is countable. Let’s show that there are computationally unsolvable problems. The subset of problems can be described by boolean functions on the integers; f such that f(n) is 0/1.

Prabhas Chongstitvatana11 Suppose the set of all such functions is countably infinite. There is a correspondence between each function and each integer f i n f i ( n ) By diagonalization, we can show that at least one boolean function cannot be in this list.

Prabhas Chongstitvatana12 If every program is a finite string of symbols, each chosen from a single finite alphabet, then it is possible to show that the set of all programs is countably infinite. So there is more problems than there are programs to solve them. Thus, at least one function is not describable as the output of any program, so it is computationally unsolvable.

Prabhas Chongstitvatana13 Example : A simple system such as Presburger arithmetic, is a formal system of the positive integers together with addition and equality alone. Deciding whether a statement in this system is true is in the length of the statement.

Prabhas Chongstitvatana14 Unsolvable relativized unsolvable (oracle machines) Solvable provably infeasible (Presburger arithmetic) probably infeasible (satisfiability) feasible hard (normal optimization problems) easy (normal computer science problems) randomized easy (primality testing) really easy (sorting)

Prabhas Chongstitvatana15 Solving hard problems Relax the problem -- use approx. algo. Relax the method -- use probabilistic algo and give up total correctness Relax the architecture -- use parallel Relax the machine -- use analog computer ?