520 likes | 685 Views
Hardness of Approximation. Introduction. Objectives: To show several approximation problems are NP-hard Overview: Reminder: How to show inapproximability? Probabilistic Checkable Proofs Hardness of approximation for clique. Optimization Problems. Consider an optimization problem P :.
E N D
Hardness of Approximation Complexity
Introduction • Objectives: • To show several approximation problems are NP-hard • Overview: • Reminder: How to show inapproximability? • Probabilistic Checkable Proofs • Hardness of approximation for clique Complexity
Optimization Problems Consider an optimization problem P: Example: all graphs instances: x1,x2,x3,… all cliques in that graph feasible solutions the clique’s size (max) optimization measure Complexity
x1 x2 x3 x4 Each Instance Has an Optimal Solution OPT Complexity
xi Approximation (Max Version) OPT Complexity
xi A B gap How To Show Hardness of Approximation? Hardness of distinguishing far off instances Hardness of approximation OPT Complexity
Gap Problems (Max Version) • Instance: … • Problem: to distinguish between the following two cases: The maximal solution B The maximal solution ≤ A YES NO Complexity
Formally: Claim: If the [A,B]-gap version of a problem is NP-hard, then that problem is NP-hard to approximate within factor B/A. Complexity
Formally: Proof: Suppose there is an approximation algorithm that outputs C so that C/C*≤B/A A proper distinguisher: * If CB, return ‘YES’ * Otherwise return ‘NO’ Complexity
Proof Since C*≥AC/B, (1) If C>B(we answer ‘YES’), then necessarily C*>A(the correct answer cannot be ‘NO’). (2) If C*≤A (the correct answer is ‘NO’), then necessarily C≤B (we answer ‘NO’) Complexity
Idea • We’ve shown “standard” problems are NP-hard by reductions from 3SAT. • We want to prove gap-problems are NP-hard, • Why won’t we prove some canonical gap-problem is NP-hard and reduce from it? • If a reduction reduces one gap-problem to another we refer to it as approximation-preserving Complexity
Gap-3SAT[] Instance: a set of clauses {c1,…,cm} over variables v1,…,vn. Problem:to distinguish between the following two cases: There exists an assignment which satisfies all clauses. No assignment can satisfy more than 7/8+ of the clauses. YES NO Complexity
Gap-3SAT: Example ( x1 x2 x3 ) ( x1 x2 x2 ) ( x1 x2 x3 ) ( x1 x2 x2 ) (x1 x2 x3 ) ( x3 x3 x3 ) = { x1 F ; x2 T ; x3 F } satisfies 5/6 of the clauses Complexity
Why 7/8? Claim: For any set of clauses with exactly three independent literals, there always exists an assignment which satisfies at least 7/8. Complexity
x1 x2 x3 xn The Probabilistic Method Proof: Consider a random assignment. . . . Complexity
1. Find the Expectation Let Yi be the random variable indicating the outcome of the i-th clause. For any 1im,E[Yi]=0·1/8+1·7/8=7/8 E[ Yi] = E[Yi] = 7/8m Complexity
2. Conclude Existence Expectedly, the number of clauses satisfied is 7/8m. Thus, there exists an assignment which satisfies at least that many. Complexity
PCP (Without Proof) Theorem (PCP): For any >0, Gap-3SAT[] is NP-hard. This is tight! Gap-3SAT[0] is polynomial time decidable Complexity
Approximation Preservation A B • YES • YES • don’t care • don’t care • NO • NO Complexity
Hardness of Approximation • Do the reductions we’ve seen also work for the gap versions? • We’ll revisit the CLIQUE example. Complexity
CLIQUE Construction a vertex for each literal a part for each clause edge indicates consistency . . . Complexity
Approximation Preservation • If there is an assignment which satisfies all clauses, there is a clique of size m. • If there is a clique of size (7/8+)m, there is an assignment which satisfies more than 7/8+ of the clauses. Complexity
Gap-CLIQUE (Ver1) The following problem is NP-hard for any >0: Instance: a graph G=(V,E) composed of m independent sets of size 3. Problem:to distinguish between: There’s a clique of size m Every clique is of size at most (7/8+)m YES NO Complexity
Corollary Theorem: for any >0, CLIQUE is hard to approximate within a factor of 1/(7/8+) Complexity
Amplification • The bigger the gap is, the better the hardness result. • We’ll see how a gap can be amplified. Complexity
... ... . . . Amplification Given an instance of the Gap-CLIQUE problem and a constant k: A part for every k vertices edge indicates consistency vertex for each Boolean assignment Complexity
Boolean assignments • A Boolean assignment over k vertices {v1,…,vk} is a function A:{v1,…,vk}{0,1}. • Think about it as if it indicates whether each vertex belongs to the clique. Complexity
Good Assignments Complexity
. . . . . . . . . Consistency • Two assignments are inconsistent, when they give the same vertex different truth-values. n Complexity
Consistency • They are also inconsistent, if they both assign 1 to two vertices not connected by an edge. non-edge Complexity
Correctness Complexity
Chromatic Number • Instance: a graph G=(V,E). • Problem: To minimize k, so that there exists a function f:V{1,…,k}, for which (u,v)E f(u)f(v) Complexity
Chromatic Number Complexity
Chromatic Number Observation: Each color group is an independent set Complexity
Clique Cover Number (CCN) • Instance: a graph G=(V,E). • Problem: To minimize k, so that there exists a function f:V{1,…,k}, for which (u,v)E f(u)=f(v) Complexity
Clique Cover Number (CCN) Complexity
. . . Reduction Idea CLIQUE CCN . . . . . . m • cyclic shift-morphic • clique preserving q Complexity
Correctness Complexity
Transformation T:V[q] for any v1,v2,v3,v4,v5,v6, T(v1)+T(v2)+T(v3) T(v4)+T(v5)+T(v6) (mod q) {v1,v2,v3}={v4,v5,v6} T is unique for triplets Complexity
Observations • Such T is unique for pairs and for single vertices as well: • If T(x)+T(u)=T(v)+T(w), then {x,u}={v,w} • If T(x)=T(y) (mod q), then x=y Complexity
v5 forbidden values v1 v2 v3 v4 feasible values vertices we determined Greedy Construction v6 Complexity
Greedy Construction - Analysis At most values are ruled out totally, so for q=n5the greedy construction works. Corollary: There exists a polynomial time algorithm which constructs a triplet unique transformation with q=n5 Complexity
Using the Transformation vi vj CLIQUE T(vj)=4 T(vi)=1 CCN 0 1 2 3 4 … (q-1) Complexity
Completing the CCN Graph Construction T(s) (s,t)ECLIQUE (T(s),T(t))ECCN T(t) Complexity
Completing the CCN Graph Construction Close the set of edges under shift: For every (x,y)E, if x’-y’=x-y (mod q), then (x’,y’)E T(s) T(t) Complexity
Max Clique of G-clique and G-ccn • Lemma:Max-Clique(G-clique) = Max-Clique(G-CCN) • Corollary: • MAX-clique(G-clique) = m CCN(G-ccn)=q • MAX-clqiue(G-clique) < m CCN(G-ccn)> q Complexity
Edge Origin Unique T(s) First Observation: This edge comes only from (s,t) T(t) Complexity
Triangle Consistency Second Observation: A triangle only come from a triangle Complexity
Clique Preservation Corollary: {c1,…,ck} is a clique in the CCN graph iff {T(c1),…,T(ck)} is a clique in the CLIQUE graph. Complexity
Summary • We’ve seen how to show hardness of approximation results in general, • and even proven several such using the PCP theorem: • CLIQUE • CHROMATIC NUMBER Complexity