pcp
play

PCP Lecture 26 And Hardness of Approximation 1 Promise Problems - PowerPoint PPT Presentation

PCP Lecture 26 And Hardness of Approximation 1 Promise Problems 2 Promise Problems Decision problems, but with dont cares 2 Promise Problems Decision problems, but with dont cares Specified by a Yes set and a No set,


  1. PCP and CSP A (gap) problem has a PCP iff can be reduced to CSP Variables are the bits of the proofs: assignment is a proof Constraints are the verifier program with different random tapes: constraint is satisfied by the assignment if the verifier accepts the proof Verifier accepts w/ prob. = 1 ↔ All constraints satisfied Verifier accepts w/ prob. < 1/2 ↔ Less than half satisfied qCSP with m constraints: each constraint involves q variables PCP(log m,q): q-query (non-adaptive) verifier, tosses at most log m coins 6

  2. Decision Problem to Gap Problem L instances G instances 7

  3. Decision Problem to Gap Problem Reducing a decision problem (language) L to a gap problem G L instances G instances 7

  4. Decision Problem to Gap Problem Reducing a decision problem (language) L to a gap problem G “Separating” Yes and No L instances G instances 7

  5. Decision Problem to Gap Problem Reducing a decision problem (language) L to a gap problem G “Separating” Yes and No If L is hard, and can do the reduction efficiently, then approximating the function L instances G instances underlying G should be hard 7

  6. Decision Problem to Gap Problem Reducing a decision problem (language) L to a gap problem G “Separating” Yes and No If L is hard, and can do the reduction efficiently, then approximating the function L instances G instances underlying G should be hard 7

  7. Decision Problem to Gap Problem Reducing a decision problem (language) L to a gap problem G “Separating” Yes and No If L is hard, and can do the reduction efficiently, then approximating the function L instances G instances underlying G should be hard 7

  8. PCP Theorem 8

  9. PCP Theorem Can reduce any NP language to qCSP 8

  10. PCP Theorem A gap problem, with gap=1/2 Can reduce any NP language to qCSP 8

  11. PCP Theorem A gap problem, with gap=1/2 Can reduce any NP language to qCSP With m = poly(n) constraints and q = O(1) 8

  12. PCP Theorem A gap problem, with gap=1/2 Can reduce any NP language to qCSP With m = poly(n) constraints and q = O(1) Since qCSP has a PCP (with r=log m, and q=q), any NP language has a PCP 8

  13. PCP Theorem A gap problem, with gap=1/2 Can reduce any NP language to qCSP With m = poly(n) constraints and q = O(1) Since qCSP has a PCP (with r=log m, and q=q), any NP language has a PCP NP ⊆ PCP(log n, 1) 8

  14. PCP Theorem A gap problem, with gap=1/2 Can reduce any NP language to qCSP With m = poly(n) constraints and q = O(1) Since qCSP has a PCP (with r=log m, and q=q), any NP language has a PCP Class of languages PCP(r,q): with r-coin, q-query NP ⊆ PCP(log n, 1) PCP verifiers 8

  15. PCP Theorem A gap problem, with gap=1/2 Can reduce any NP language to qCSP With m = poly(n) constraints and q = O(1) Since qCSP has a PCP (with r=log m, and q=q), any NP language has a PCP Class of languages PCP(r,q): with r-coin, q-query NP ⊆ PCP(log n, 1) PCP verifiers Note: PCP(log n, *) ⊆ NP 8

  16. PCP Theorem A gap problem, with gap=1/2 Can reduce any NP language to qCSP With m = poly(n) constraints and q = O(1) Since qCSP has a PCP (with r=log m, and q=q), any NP language has a PCP Class of languages PCP(r,q): with r-coin, q-query NP ⊆ PCP(log n, 1) PCP verifiers Note: PCP(log n, *) ⊆ NP So, NP = PCP(log n, 1) 8

  17. Hardness of Approximation 9

  18. Hardness of Approximation By PCP theorem, Max-qCSPSat is hard to approximate within a factor of 1/2 9

  19. Hardness of Approximation By PCP theorem, Max-qCSPSat is hard to approximate within a factor of 1/2 How about Max-3SAT? Max-CLIQUE? Other NP-hard functions? 9

  20. Hardness of Approximation By PCP theorem, Max-qCSPSat is hard to approximate within a factor of 1/2 How about Max-3SAT? Max-CLIQUE? Other NP-hard functions? Reduce Max-qCSPSat to these problems 9

  21. Hardness of Approximation By PCP theorem, Max-qCSPSat is hard to approximate within a factor of 1/2 How about Max-3SAT? Max-CLIQUE? Other NP-hard functions? Reduce Max-qCSPSat to these problems Such that approximation for them imply approximation for Max-qCSPSat 9

  22. Gap-preserving Reductions 10

  23. Gap-preserving Reductions From gap problem G 1 to G 2 10

  24. Gap-preserving Reductions From gap problem G 1 to G 2 G 1 instances G 2 instances 10

  25. Gap-preserving Reductions From gap problem G 1 to G 2 G 1 instances G 2 instances 10

  26. Gap-preserving Reductions From gap problem G 1 to G 2 G 1 instances G 2 instances 10

  27. Gap-preserving Reductions From gap problem G 1 to G 2 If G 1 is hard to solve and reduction is efficient, then G 2 is hard to solve G 1 instances G 2 instances 10

  28. Gap-preserving Reductions From gap problem G 1 to G 2 If G 1 is hard to solve and reduction is efficient, then G 2 is hard to solve Then function underlying G 2 is hard to approximate (within a factor of its gap) G 1 instances G 2 instances 10

  29. Gap-preserving Reductions From gap problem G 1 to G 2 If G 1 is hard to solve and reduction is efficient, then G 2 is hard to solve Then function underlying G 2 is hard to approximate (within a factor of its gap) G 1 instances G 2 instances The bigger the gap in G 2 the larger the approximation factor shown hard 10

  30. Max-qCSP to Max-3SAT 11

  31. Max-qCSP to Max-3SAT Write each constraint as an exponential sized CNF (AND-OR) formula, of clauses with q vars (q-clauses) 11

  32. Max-qCSP to Max-3SAT Write each constraint as an exponential sized CNF (AND-OR) formula, of clauses with q vars (q-clauses) At most 2 q q-clauses 11

  33. Max-qCSP to Max-3SAT Write each constraint as an exponential sized CNF (AND-OR) formula, of clauses with q vars (q-clauses) At most 2 q q-clauses Collect all clauses from all constraints 11

  34. Max-qCSP to Max-3SAT Write each constraint as an exponential sized CNF (AND-OR) formula, of clauses with q vars (q-clauses) At most 2 q q-clauses Collect all clauses from all constraints So far gap is preserved up to a factor of 1/2 q 11

  35. Max-qCSP to Max-3SAT Write each constraint as an exponential sized CNF (AND-OR) formula, of clauses with q vars (q-clauses) At most 2 q q-clauses Collect all clauses from all constraints So far gap is preserved up to a factor of 1/2 q Now turn each q-clause into a collection of 3-clauses 11

  36. Max-qCSP to Max-3SAT Write each constraint as an exponential sized CNF (AND-OR) formula, of clauses with q vars (q-clauses) At most 2 q q-clauses Collect all clauses from all constraints So far gap is preserved up to a factor of 1/2 q Now turn each q-clause into a collection of 3-clauses Adding at most q auxiliary var.s to get at most q 3-clauses 11

  37. Max-qCSP to Max-3SAT Write each constraint as an exponential sized CNF (AND-OR) formula, of clauses with q vars (q-clauses) At most 2 q q-clauses Collect all clauses from all constraints So far gap is preserved up to a factor of 1/2 q Now turn each q-clause into a collection of 3-clauses Adding at most q auxiliary var.s to get at most q 3-clauses Gap preserved up to a factor of 1/(q2 q ) 11

  38. Max-3SAT to Max-CLIQUE 12

  39. Max-3SAT to Max-CLIQUE Recall 3SAT to CLIQUE: Clauses → Graph 12

  40. Max-3SAT to Max-CLIQUE Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) Clauses → Graph (w ∨ y) (w ∨ x ∨ ¬z) 12

  41. Max-3SAT to Max-CLIQUE Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) Clauses → Graph vertices: each clause’ s (w ∨ y) sat assignments (for its variables) (w ∨ x ∨ ¬z) 12

  42. Max-3SAT to Max-CLIQUE Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) Clauses → Graph vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* 0*1* (w ∨ x ∨ ¬z) 12

  43. Max-3SAT to Max-CLIQUE Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) Clauses → Graph vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* 0*1* (w ∨ x ∨ ¬z) 12

  44. Max-3SAT to Max-CLIQUE *000 Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) *111 *100 Clauses → Graph *010 *101 *110 *001 vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* 0*1* (w ∨ x ∨ ¬z) 12

  45. Max-3SAT to Max-CLIQUE *000 Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) *111 *100 Clauses → Graph *010 *101 *110 *001 vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* 0*1* (w ∨ x ∨ ¬z) 12

  46. Max-3SAT to Max-CLIQUE *000 Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) *111 *100 Clauses → Graph *010 *101 *110 *001 vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* 0*1* 00*0 (w ∨ x ∨ ¬z) 10*0 111 011 01*0 10*1 11*0 12

  47. Max-3SAT to Max-CLIQUE *000 Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) *111 *100 Clauses → Graph *010 *101 *110 *001 vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* edges between 0*1* consistent assignments 00*0 (w ∨ x ∨ ¬z) 10*0 111 011 01*0 10*1 11*0 12

  48. Max-3SAT to Max-CLIQUE *000 Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) *111 *100 Clauses → Graph *010 *101 *110 *001 vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* edges between 0*1* consistent assignments 00*0 (w ∨ x ∨ ¬z) 10*0 111 011 01*0 10*1 11*0 12

  49. Max-3SAT to Max-CLIQUE *000 Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) *111 *100 Clauses → Graph *010 *101 *110 *001 vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* edges between 0*1* consistent assignments 00*0 (w ∨ x ∨ ¬z) 10*0 111 011 01*0 10*1 11*0 12

  50. Max-3SAT to Max-CLIQUE *000 Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) *111 *100 Clauses → Graph *010 *101 *110 *001 vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* edges between 0*1* consistent assignments 00*0 (w ∨ x ∨ ¬z) 10*0 111 011 01*0 10*1 11*0 12

  51. Max-3SAT to Max-CLIQUE *000 Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) *111 *100 Clauses → Graph *010 *101 *110 *001 vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* edges between 0*1* consistent assignments 00*0 (w ∨ x ∨ ¬z) 10*0 111 011 01*0 10*1 11*0 12

  52. Max-3SAT to Max-CLIQUE *000 Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) *111 *100 Clauses → Graph *010 *101 *110 *001 vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* edges between 0*1* consistent assignments 00*0 (w ∨ x ∨ ¬z) 10*0 111 011 01*0 10*1 11*0 12

  53. Max-3SAT to Max-CLIQUE *000 Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) *111 *100 Clauses → Graph *010 *101 *110 *001 vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* edges between 0*1* consistent assignments 00*0 k-clique iff k clauses (w ∨ x ∨ ¬z) 10*0 111 satisfiable 011 01*0 10*1 11*0 12

  54. Max-3SAT to Max-CLIQUE *000 Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) *111 *100 Clauses → Graph *010 *101 *110 *001 vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* edges between 0*1* consistent assignments 00*0 k-clique iff k clauses (w ∨ x ∨ ¬z) 10*0 111 satisfiable 011 01*0 10*1 11*0 12

  55. Max-3SAT to Max-CLIQUE *000 Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) *111 *100 Clauses → Graph *010 *101 *110 *001 vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* edges between 0*1* consistent assignments 00*0 k-clique iff k clauses (w ∨ x ∨ ¬z) 10*0 111 satisfiable 3-Clique 1*1* 011 *110 01*0 10*1 11*0 11*0 ---- sat assignment 1110 12

  56. Max-3SAT to Max-CLIQUE *000 Recall 3SAT to CLIQUE: (x ∨ ¬y ∨ ¬z) *111 *100 Clauses → Graph *010 *101 *110 *001 vertices: each clause’ s (w ∨ y) sat assignments (for its variables) 1*0* 1*1* edges between 0*1* consistent assignments 00*0 k-clique iff k clauses (w ∨ x ∨ ¬z) 10*0 111 satisfiable 3-Clique 1*1* 011 *110 01*0 10*1 11*0 Gap preserved 11*0 ---- sat assignment 1110 12

  57. Proving the PCP Theorem 13

Recommend


More recommend