Richard Anderson Lecture 26 NP-Completeness

Slides:



Advertisements
Similar presentations
NP-Hard Nattee Niparnan.
Advertisements

Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
Polynomial-time reductions We have seen several 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.
February 23, 2015CS21 Lecture 201 CS21 Decidability and Tractability Lecture 20 February 23, 2015.
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.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Lecture 22 More NPC problems
CSEP 521 Applied Algorithms Richard Anderson Lecture 10 NP Completeness.
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.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
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.
28.
CSE 6311 – Spring 2009 ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS Lecture Notes – Feb. 3, 2009 Instructor: Dr. Gautam Das notes by Walter Wilson.
NPC.
CSC 413/513: Intro to Algorithms
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
CSE 421 Algorithms Richard Anderson Lecture 28 Survey of NP Complete Problems NP-Complete P.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
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.
The Theory of NP-Completeness
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
More NP-Complete and NP-hard Problems
More NP-complete problems
Richard Anderson Lectures NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
Polynomial-Time Reduction
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
Hard Problems Introduction to NP
Richard Anderson Lecture 25 Min Cut Applications and NP-Completeness
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
Lecture 24 NP-Complete Problems
ICS 353: Design and Analysis of Algorithms
Intro to NP Completeness
NP-Completeness (2) NP-Completeness Graphs 11/23/2018 2:12 PM x x x x
Richard Anderson Lecture 25 NP-Completeness
Richard Anderson Lecture 28 NP-Completeness
Richard Anderson Lecture 29 NP-Completeness
Chapter 8 NP and Computational Intractability
Richard Anderson Lecture 30 NP-Completeness
Richard Anderson Lecture 28 NP Completeness
Richard Anderson Lecture 27 NP Completeness
Prabhas Chongstitvatana
CS 3343: Analysis of Algorithms
Richard Anderson Lecture 26 NP-Completeness
NP-Completeness Yin Tat Lee
CS21 Decidability and Tractability
CSE 6408 Advanced Algorithms.
NP-Completeness Yin Tat Lee
CS154, Lecture 16: More NP-Complete Problems; PCPs
Richard Anderson Lecture 27 Survey of NP Complete Problems
Richard Anderson Lecture 25 NP Completeness
Lecture 24 Classical NP-hard Problems
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
Lecture 24 Vertex Cover and Hamiltonian Cycle
Lecture 23 NP-Hard Problems
Presentation transcript:

Richard Anderson Lecture 26 NP-Completeness CSE 421 Algorithms P Richard Anderson Lecture 26 NP-Completeness

NP Completeness: The story so far Circuit Satisfiability is NP-Complete

Background P: Class of problems that can be solved in polynomial time NP: Class of problems that can be solved in non-deterministic polynomial time Y is Polynomial Time Reducible to X Solve problem Y with a polynomial number of computation steps and a polynomial number of calls to a black box that solves X Notation: Y <P X Suppose Y <P X. If X can be solved in polynomial time, then Y can be solved in polynomial time A problem X is NP-complete if X is in NP For every Y in NP, Y <P X If X is NP-Complete, Z is in NP and X <P Z Then Z is NP-Complete

Today There are a whole bunch of other important problems which are NP-Complete

Populating the NP-Completeness Universe Circuit Sat <P 3-SAT 3-SAT <P Independent Set 3-SAT <P Vertex Cover Independent Set <P Clique 3-SAT <P Hamiltonian Circuit Hamiltonian Circuit <P Traveling Salesman 3-SAT <P Integer Linear Programming 3-SAT <P Graph Coloring 3-SAT <P Subset Sum Subset Sum <P Scheduling with Release times and deadlines NP P

Satisfiability Literal: A Boolean variable or its negation. Clause: A disjunction of literals. Conjunctive normal form: A propositional formula  that is the conjunction of clauses. SAT: Given CNF formula , does it have a satisfying truth assignment? 3-SAT: SAT where each clause contains exactly 3 literals. Any logical formula can be expressed in CNF. Ex: Yes: x1 = true, x2 = true x3 = false.

3-SAT is NP-Complete    Theorem. 3-SAT is NP-complete. Pf. Suffices to show that CIRCUIT-SAT  P 3-SAT since 3-SAT is in NP. Let K be any circuit. Create a 3-SAT variable xi for each circuit element i. Make circuit compute correct values at each node: x2 =  x3  add 2 clauses: x1 = x4  x5  add 3 clauses: x0 = x1  x2  add 3 clauses: Hard-coded input values and output value. x5 = 0  add 1 clause: x0 = 1  add 1 clause: Final step: turn clauses of length < 3 into clauses of length exactly 3. ▪ output x0  x1 x2   x5 x4 x3 ? ?

Independent Set Independent Set Graph G = (V, E), a subset S of the vertices is independent if there are no edges between vertices in S 1 2 3 5 4 6 7

3 Satisfiability Reduces to Independent Set Claim. 3-SAT  P INDEPENDENT-SET. Pf. Given an instance  of 3-SAT, we construct an instance (G, k) of INDEPENDENT-SET that has an independent set of size k iff  is satisfiable. Construction. G contains 3 vertices for each clause, one for each literal. Connect 3 literals in a clause in a triangle. Connect literal to each of its negations. G k = 3

3 Satisfiability Reduces to Independent Set Claim. G contains independent set of size k = || iff  is satisfiable. Pf.  Let S be independent set of size k. S must contain exactly one vertex in each triangle. Set these literals to true. Truth assignment is consistent and all clauses are satisfied. Pf  Given satisfying assignment, select one true literal from each triangle. This is an independent set of size k. ▪ and any other variables in a consistent way G k = 3

Vertex Cover Vertex Cover Graph G = (V, E), a subset S of the vertices is a vertex cover if every edge in E has at least one endpoint in S 1 2 3 5 4 6 7

IS <P VC Lemma: A set S is independent iff V-S is a vertex cover To reduce IS to VC, we show that we can determine if a graph has an independent set of size K by testing for a Vertex cover of size n - K

IS <P VC Find a maximum independent set S Show that V-S is a vertex cover 1 2 1 2 3 5 3 5 4 4 6 6 7 7

Clique Clique Graph G = (V, E), a subset S of the vertices is a clique if there is an edge between every pair of vertices in S 1 2 3 4 5 6 7

Complement of a Graph Defn: G’=(V,E’) is the complement of G=(V,E) if (u,v) is in E’ iff (u,v) is not in E 1 2 1 2 3 5 3 5 4 4 6 6 7 7

IS <P Clique Lemma: S is Independent in G iff S is a Clique in the complement of G To reduce IS to Clique, we compute the complement of the graph. The complement has a clique of size K iff the original graph has an independent set of size K

Hamiltonian Circuit Problem Hamiltonian Circuit – a simple cycle including all the vertices of the graph

Thm: Hamiltonian Circuit is NP Complete Reduction from 3-SAT

Traveling Salesman Problem Minimum cost tour highlighted Traveling Salesman Problem Given a complete graph with edge weights, determine the shortest tour that includes all of the vertices (visit each vertex exactly once, and get back to the starting point) 3 7 7 2 2 5 4 1 1 4 Find the minimum cost tour

Thm: HC <P TSP

Graph Coloring NP-Complete Polynomial Graph K-coloring