More NP-Complete Problems 19-0 SAT is NP-Complete We - - PDF document

more np complete problems
SMART_READER_LITE
LIVE PREVIEW

More NP-Complete Problems 19-0 SAT is NP-Complete We - - PDF document

Griffith University 3130CIT Theory of Computation (Based on slides by Harald Sndergaard of The University of Melbourne) More NP-Complete Problems 19-0 SAT is NP-Complete We established that every A NP can be


slide-1
SLIDE 1

✬ ✫ ✩ ✪ Griffith University 3130CIT Theory of Computation (Based on slides by Harald Søndergaard of The University of Melbourne)

More NP-Complete Problems

19-0

slide-2
SLIDE 2

✬ ✫ ✩ ✪

SAT is NP-Complete

We established that every A ∈ NP can be reduced to SAT in polynomial time. Actually the construction we used reduced every NP problem to SAT CNF, the satisfiability problem for formulas in Conjunctive Normal Form.

19-1

slide-3
SLIDE 3

✬ ✫ ✩ ✪

SAT is NP-Complete (cont.)

But then SAT (for arbitrary propositional formulas) is also NP-complete:

  • 1. It is in NP (as for the CNF case), and
  • 2. There is a trivial poly-time reduction of

SAT CNF to SAT. SAT CNF SAT

  • The reduction from right to left is covered by the

general reduction we did in the last lecture. (A direct reduction is not trivial, by the way: We know how to turn an arbitrary formula into CNF, but that technique can cause an exponential blow-up! However, in the translation we don’t have to preserve equivalence, only satisfiability!)

19-2

slide-4
SLIDE 4

✬ ✫ ✩ ✪

3-SAT

A propositional formula is in 3-CNF if it is in CNF and every clause has exactly three literals, as in (x1 ∨ ¬x2 ∨ ¬x3) ∧ (x1 ∨ x2 ∨ ¬x4) 3-SAT is the problem whether a 3-CNF formula is satisfiable. Let us show that the problem is NP-complete. First, 3-SAT is in NP, as the machine which solves SAT in polynomial time also works for 3-SAT. So it suffices to show SAT CNF ≤P 3-SAT.

19-3

slide-5
SLIDE 5

✬ ✫ ✩ ✪

3-SAT (cont.)

The reduction is as follows. Given an instance of SAT CNF: C1 ∧ C2 ∧ . . . Ck we turn every clause C into a bunch of 3-literal clauses as follows: If C is a single literal ℓ, produce (ℓ ∨ ℓ ∨ ℓ). If C is (ℓ1 ∨ ℓ2), produce (ℓ1 ∨ ℓ2 ∨ ℓ2). If C has three literals, leave it as it is. Clearly satisfiability is preserved for these clauses.

19-4

slide-6
SLIDE 6

✬ ✫ ✩ ✪

3-SAT (cont.)

If C has n > 3 literals: (ℓ1 ∨ ℓ2 ∨ ℓ3 ∨ · · · ∨ ℓn) produce n − 2 clauses using n − 3 fresh variables x3 . . . xn−1: (ℓ1 ∨ ℓ2 ∨ x3) ∧ (¬x3 ∨ ℓ3 ∨ x4) . . . ∧ (¬xn−2 ∨ ℓn−2 ∨ xn−1) ∧ (¬xn−1 ∨ ℓn−1 ∨ ℓn) Why does this preserve satisfiability?

19-5

slide-7
SLIDE 7

✬ ✫ ✩ ✪

3-SAT (cont.)

⇒ Let t be a truth assignment that satisfies (ℓ1 ∨ ℓ2 ∨ ℓ3 ∨ · · · ∨ ℓn) and let ℓj be the first literal that comes out true. We satisfy (ℓ1 ∨ ℓ2 ∨ x3) ∧ (¬x3 ∨ ℓ3 ∨ x4) . . . ∧ (¬xn−2 ∨ ℓn−2 ∨ xn−1) ∧ (¬xn−1 ∨ ℓn−1 ∨ ℓn) by extending t so that x3 . . . xj are made true, and the remaining xs are false.

19-6

slide-8
SLIDE 8

✬ ✫ ✩ ✪

3-SAT (cont.)

⇐ Let t be a truth assignment that satisfies (ℓ1 ∨ ℓ2 ∨ x3) ∧ (¬x3 ∨ ℓ3 ∨ x4) . . . ∧ (¬xn−2 ∨ ℓn−2 ∨ xn−1) ∧ (¬xn−1 ∨ ℓn−1 ∨ ℓn) Then t also satisfies C = (ℓ1 ∨ ℓ2 ∨ ℓ3 ∨ · · · ∨ ℓn). Namely, assume that it doesn’t. Then every ℓj is false. So x3 is true, hence x4 is, and so on, up to xn−1. But then (¬xn−1 ∨ ℓn−1 ∨ ℓn) is false. We have a contradiction, so C is satisfiable.

19-7

slide-9
SLIDE 9

✬ ✫ ✩ ✪

NP-complete Graph Problems

Clique Given graph G and integer k, does G have a complete subgraph of size k? Vertex Cover Given graph G and integer k, is there a set C of k nodes such that every edge has (at least) one end in C? Edge Cover Given graph G and integer k, is there a set C of k edges such that every node is the end of (at least) one edge in C? Dominating Set Given graph G and integer k, is there a set C of k nodes such that every node is either in C or adjacent to a node in C? Independent Set Given graph G and integer k, is there a set C of k nodes such that no two nodes in C are adjacent? Subgraph Isomorphism Given graphs G and H, is G isomorphic to some subgraph of H?

19-8

slide-10
SLIDE 10

✬ ✫ ✩ ✪

NP-complete Graph Problems (cont.)

Colouring Given graph G and integer k, can we colour the nodes of G with k colours so that no adjacent nodes have the same colour? Hamiltonian Path Given graph G and nodes s and t, is there a Hamiltonian path in G from s to t? (A Hamiltonian path is a path that visits every node exactly once.) Hamiltonian Cycle Given graph G, is there a Hamiltonian cycle in G? Travelling Salesman Problem Given a weighted graph G and integer C, is there a Hamiltonian cycle whose cost (sum of edge weights) is less than C?

19-9

slide-11
SLIDE 11

✬ ✫ ✩ ✪

The Clique Problem

Clique Given graph G and integer k, does G have a complete subgraph of size k? First, Clique is in NP, because given a set of k nodes of G, we can check whether each pair of nodes in C are adjacent in G in polynomial time. Second, we show Clique is NP-hard by proving that 3SAT ≤P Clique. Let E = C1 ∧ · · · ∧ Cn be a boolean expression in 3CNF. Let each literal occurrence in C be a node of G. The edges of G connect all pairs of nodes from different clauses except if the two nodes are complementary literals. Let k be n. Clearly (G, k) can be constructed in time polynomial in |E|. It is straightforward to see that E is sastisfiable if and only if G has a clique of size k.

19-10

slide-12
SLIDE 12

✬ ✫ ✩ ✪

The Vertex Cover Problem

Let G = (N, E) be an undirected graph. V ⊆ N is a vertex cover of G iff n1 ∈ V or n2 ∈ V for all edges (n1, n2) ∈ E. We show that VERTEX-COVER =    G, k

  • G is a graph which has

a vertex cover of size k    is NP-complete. The problem is in NP because a nondeterministic TM can guess a set of k nodes and check in polynomial time whether they cover G. All it needs is a linear scan through all of G’s edges, and for each edge, a linear scan of the guess.

19-11

slide-13
SLIDE 13

✬ ✫ ✩ ✪

Reducing 3-SAT to Vertex Cover

For a given 3-CNF formula φ we construct G, k such that G has a vertex cover of size k iff φ is satisfiable. Let φ = (ℓ11 ∨ ℓ12 ∨ ℓ13) ∧ · · · ∧ (ℓm1 ∨ ℓm2 ∨ ℓm3) have n variables x1 . . . xn. We produce 3m + 2n nodes, one per literal, and two per variable: {ℓkj | 1 ≤ k ≤ m, 1 ≤ j ≤ 3} {xi, ¬xi | 1 ≤ i ≤ n} and 6m + n edges: T = {xi, ¬xi} Ck = {(ℓk1, ℓk2), (ℓk2, ℓk3), (ℓk3, ℓk1)} Lk = {(ℓk1, vk1), (ℓk2, vk2), (ℓk3, vk3)} where vkj is xi or ¬xi depending on which ℓkj is.

19-12

slide-14
SLIDE 14

✬ ✫ ✩ ✪

3-SAT to Vertex Cover (cont.)

The generated instance is G, 2m + n. For example, (x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) is translated to the problem of whether this graph has a cover of size 2 · 2 + 3 = 7: x1 ¬x1

  • x2
  • ¬x2

x3

  • ¬x3
  • ℓ12
  • ℓ22
  • ℓ11

ℓ13 ℓ21 ℓ23 By this construction, a vertex cover must contain at least 2m + n nodes.

19-13

slide-15
SLIDE 15

✬ ✫ ✩ ✪

3-SAT to Vertex Cover (cont.)

Clearly the graph is constructed in polynomial time. We still need to show that G has a vertex cover of size 2m + n iff φ is satisfiable. ⇒ The cover defines a truth assignment t, as it includes exactly one of xi and ¬xi. This t makes each clause true: The ℓkj that is not covered is true. ⇐ Let t satisfy φ. That gives us n nodes (xi or ¬xi) of the cover. For each clause Ck, if ℓkj is satisfied, add the two nodes corresponding to the

  • ther two literals in Ck.

19-14

slide-16
SLIDE 16

✬ ✫ ✩ ✪

Map and Graph Colouring

Four colours suffice in the plane! Tractability of n-colouring:

  • 1-colouring is trivial.
  • 2-colouring is easy.
  • 3-colouring is NP-complete.
  • 4-colouring is trivial.

19-15

slide-17
SLIDE 17

✬ ✫ ✩ ✪

NP and co-NP

With deterministic machines, reversing the yes/no

  • utcome gives an equivalent problem.

Using a non-deterministic machine to guess-and-check, it is not clear that this property should hold! For example, how does one guess-and-check that a propositional formula is unsatisfiable? It is not known whether NP is closed under

  • complement. (Of course, if P = NP then it is.)

The set of languages that are complements of the NP languages is called co-NP.

19-16

slide-18
SLIDE 18

✬ ✫ ✩ ✪

NP and co-NP (cont.) P co-NP NP SAT

The dual of SAT, that is, the validity problem for propositional formulas in CNF, is in co-NP.

19-17