Download presentation

Presentation is loading. Please wait.

Published byAditya Gascoigne Modified over 4 years ago

1
CSci 4011 INHERENT LIMITATIONS OF COMPUTER PROGRAMS

2
**HARDEST PROBLEMS IN NP Definition: A language B is NP-complete if:**

Theorem: A language B is NP-complete if: 1. B NP 2. A is NP-complete and A ≤P B 2. Every A in NP is poly-time reducible to B (i.e. B is NP-hard) If B is NP-Complete and P NP, then There is no fast algorithm for B.

3
**REDUCTION STRATEGIES A reduction by restriction shows that the source**

problem is a special case of the target problem. For example, 3SAT ≤P CNF-SAT because every satisfiable 3CNF is also a satisfiable CNF. Example. Prove 3SAT ≤P 4SAT by restriction. A 3CNF can be converted to an equivalent 4CNF by repeating one literal in each clause.

4
**REDUCTION STRATEGIES A reduction from A to B by local replacement**

shows how to “translate” between “units” of A and “units” of B. Example. vertex cover “units” are vertices and edges; set cover “units” are elements and sets. Example. CIRCUIT-SAT units are gates, CNFSAT units are clauses, 3SAT units are 3-literal clauses.

5
**GRADUATION A transcript is a set of course numbers a student has taken**

A major consists of: Pairs: exactly one of which must be taken Lists: at least one course of which must be taken GRADUATION = {〈T,M〉 | a subset of T satisfies M} For example: T = {1901A, 1902B, 1902A, 2011, 4041A, 4061, 4211} M = [1901A,1901B], [1902A,1902B] (4011,4041A,4041B), (4211,4707), (4061)

6
GRADUATION ∈ NP: The subset is a proof that (T,M) ∈ GRADUATION. 3SAT ≤P GRADUATION: T = {101, 102, 201, 202, 301, 302} (x1 ⋁ x2 ⋁ ¬x3) ∧ (¬x1 ⋁ x2 ⋁ x2) ∧ (¬x2 ⋁ x3 ⋁ x1) M = [101, 102], [201, 202], [301, 302] (101,201,302), (101,201,201), (101,202,301)

7
GRADUATION ∈ NP: The subset is a proof that (T,M) ∈ GRADUATION. 3SAT ≤P GRADUATION: Let = C1 ∧ C2∧ … ∧Cm have variables x1…xk For each xi: add classes i01 and i02 to T. add pair (i01,i02) to M. For each Cj, we add a triple to M: if xi is a literal in Cj, the triple includes i01. if ¬xi is a literal in Cj, the triple includes i02.

8
**UHAMPATH No HAM PATH Undirected HAM PATH A B A B C D C D E F E F**

UHAMPATH = {〈G,s,t〉 | G is an undirected graph with a Hamiltonian path from s to t}

9
HAMPATH ≤P UHAMPATH Amid A B Aout Ain C D E F

10
HAMPATH ≤P UHAMPATH A B C D E F

11
**HAMPATH ·P UHAMPATH f(G,s,t) = (G’,s’,t’) where: For each node u G:**

add nodes uin, uout, umid to G’. add edges {uin,umid} and {umid,uout} to G’ For each edge (u,v)G, add {uout,vin} to G’ s’ = sin, t’ = tout. If 〈G,s,t〉 HAMPATH, then 〈G’,s’,t’〉UHAMPATH: (s,u,v,..,t) ! (sin,smid,sout,uin,umid,uout,vin,vmid,vout,…tout)

12
**If v2 smid, then no vi=smid. So v2=smid, v3=sout**

HAMPATH ·P UHAMPATH If 〈G’,s’,t‘〉 2 UHAMPATH, then 〈G,s,t〉2 HAMPATH: Let (sin=v1,v2,…,v3n=tout) be the undirected path. Claim: for all i≥0, there exists u G so that: v3i+1=uin, v3i+2=umid, v3i+3=uout. i=0: If v2 smid, then no vi=smid. So v2=smid, v3=sout Induction: if v3i = u’out, then v3i+1=uin, so v3i+2=umid. The directed Hamiltonian path is (u1, u2, …, un)

13
**3SAT P SUBSET-SUM We transform a 3-cnf formula into 〈y1…yn, t〉:**

3SAT 〈y1…yn,t〉 SUBSET-SUM The transformation can be done in time polynomial in the length of

14
**x2 x1 x1 (x1 ⋁ x2 ⋁ x2) ∧ (¬x1⋁ x2 ⋁ x2) ∧ (x1 ⋁ ¬x2 ⋁ x2) x2**

Each variable and each clause result in two yi’s. Each yi will have a digit for each clause and variable. x2 x1 C3 C2 C1 y1 1 y2 y3 y4 y5 y6 y7 y8 y9 y10 t 3 x1 (x1 ⋁ x2 ⋁ x2) ∧ (¬x1⋁ x2 ⋁ x2) ∧ (x1 ⋁ ¬x2 ⋁ x2) x2 C3 C2 C1

15
**REDUCTION STRATEGIES A reduction by component design constructs**

gadgets that simulate variables and clauses. In particular a reduction must provide: a gadget to force the solution to the target instance to choose either x or ¬x a gadget to force the solution to the target instance to choose one literal from each clause a gadget to force the solution to the target instance to satisfy every clause

16
K-CLIQUES b a e c d f g

17
**3SAT P CLIQUE We transform a 3-cnf formula into 〈G,k〉 such that**

3SAT 〈G,k〉 CLIQUE The transformation can be done in time polynomial in the length of

18
**(x1 x1 x2) (x1 x2 x2) (x1 x2 x2)**

k = #clauses

19
**(x1 x1 x1) (x1 x1 x2) (x2 x2 x2) (x2 x2 x1)**

20
**3SAT P CLIQUE We transform a 3-cnf formula into 〈G,k〉 such that**

3SAT 〈G,k〉 CLIQUE If has k clauses, we create a graph with k clusters of 3 nodes each. Each cluster corresponds to a clause. Each node in a cluster is labeled with a literal from the clause. We do not connect any nodes in the same cluster We connect nodes in different clusters whenever they are not contradictory

21
**3SAT P CLIQUE We transform a 3-cnf formula into 〈G,k〉 such that**

3SAT 〈G,k〉 CLIQUE is satisfiable iff there is an assignment that makes at least one literal true in each clause. The nodes corresponding to these k true literals do not contradict each other, so they form a k- clique in G. A k-clique in G must have one node from each cluster. Setting the corresponding literals to true will satisfy

22
**VERTEX COVER Theorem: VERTEX-COVER is NP-Complete**

b a e c d b a e c d Theorem: VERTEX-COVER is NP-Complete (1) VERTEX-COVER NP (2) CLIQUE ≤P IND-SET ≤P VERTEX-COVER

23
**VERTEX-COVER = { 〈G,k〉 | G is an undirected graph with a k-node vertex cover }**

Theorem: VERTEX-COVER is NP-Complete (1) VERTEX-COVER NP (2) 3SAT P VERTEX-COVER

24
3SAT P VERTEX-COVER We transform a 3-cnf formula into 〈G,k〉 such that 3SAT 〈G,k〉 VERTEX-COVER The transformation can be done in time polynomial in the length of

25
**(x1 x1 x2) (x1 x2 x2) (x1 x2 x2)**

k = 2(#clauses) + (#variables)

26
HAMILTONIAN PATHS b a e c d f h i g

27
**HAMPATH = { 〈G,s,t〉 | G is a graph with a Hamiltonian path from s to t }**

Theorem: HAMPATH is NP-Complete (1) HAMPATH NP (2) 3SAT P HAMPATH

28
**3SAT P HAMPATH We transform a 3-cnf formula into 〈G,s,t〉 so that**

3SAT 〈G,s,t〉 HAMPATH The transformation can be done in time polynomial in the length of

29
(x1 Ç x2 Ç x2) Æ (:x1 Ç x2 Ç x2) s x1 x1 x2 x2 t

30
(x1 Ç x2 Ç x2) Æ (:x1 Ç x2 Ç x2) s x1 c1 x11 x12 x21 x22 x1 x2 x2 t

31
**(x1 Ç x2 Ç x2) Æ (:x1 Ç x2 Ç x2) s x1 x11 x12 x14 x15 x1 c1 c2 x2 x21**

t

32
3-COLORING b a e c d b a e c d a a d d b b c

33
**3SAT P 3COLOR We transform a 3-cnf formula into a graph G so**

3SAT G 3COLOR The transformation can be done in time polynomial in the length of

34
(x1 Ç x2 Ç x2) ? x1 x2 F T

35
(x1 Ç x2 Ç x2) ? x1 x1 F T x2 x2 c11 c12 c13 c14 c15 c16

36
**(x1 Ç x2 Ç x2) Æ (x2 Ç :x1 Ç :x1) ? x1 x1 F T x2 x2 c11 c12 c13 c11**

37
**(x1 Ç x2 Ç x2) Æ (x2 Ç :x1 Ç :x1) ? x1 x1 F T x2 x2 c11 c12 c13 c11**

38
MORE GADGETS

39
MORE GADGETS

Similar presentations

OK

CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.

CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.

© 2018 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google