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

pcp
SMART_READER_LITE
LIVE PREVIEW

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,


slide-1
SLIDE 1

PCP

Lecture 26 And Hardness of Approximation

1

slide-2
SLIDE 2

Promise Problems

2

slide-3
SLIDE 3

Promise Problems

Decision problems, but with “don’t cares”

2

slide-4
SLIDE 4

Promise Problems

Decision problems, but with “don’t cares” Specified by a Yes set and a No set, disjoint

2

slide-5
SLIDE 5

Promise Problems

Decision problems, but with “don’t cares” Specified by a Yes set and a No set, disjoint

2

slide-6
SLIDE 6

Promise Problems

Decision problems, but with “don’t cares” Specified by a Yes set and a No set, disjoint

2

slide-7
SLIDE 7

Promise Problems

Decision problems, but with “don’t cares” Specified by a Yes set and a No set, disjoint

2

slide-8
SLIDE 8

Promise Problems

Decision problems, but with “don’t cares” Specified by a Yes set and a No set, disjoint A TM is said to decide a promise problem if it correctly answers Yes or No for inputs from these sets

2

slide-9
SLIDE 9

Promise Problems

Decision problems, but with “don’t cares” Specified by a Yes set and a No set, disjoint A TM is said to decide a promise problem if it correctly answers Yes or No for inputs from these sets For inputs outside the two, don’t care

2

slide-10
SLIDE 10

Promise Problems

Decision problems, but with “don’t cares” Specified by a Yes set and a No set, disjoint A TM is said to decide a promise problem if it correctly answers Yes or No for inputs from these sets For inputs outside the two, don’t care We’re “promised” that such inputs are not given

2

slide-11
SLIDE 11

Gap Problems

3

slide-12
SLIDE 12

Gap Problems

Non-boolean functions (e.g.

  • ptimization problems)

3

slide-13
SLIDE 13

Gap Problems

Non-boolean functions (e.g.

  • ptimization problems)

3

slide-14
SLIDE 14

Gap Problems

Non-boolean functions (e.g.

  • ptimization problems)

increasing f(x)

3

slide-15
SLIDE 15

Gap Problems

Non-boolean functions (e.g.

  • ptimization problems)

Gap problems: Promise problem in which Yes and No sets are separated by a gap in the function value

increasing f(x)

3

slide-16
SLIDE 16

Gap Problems

Non-boolean functions (e.g.

  • ptimization problems)

Gap problems: Promise problem in which Yes and No sets are separated by a gap in the function value

increasing f(x)

3

slide-17
SLIDE 17

Gap Problems

Non-boolean functions (e.g.

  • ptimization problems)

Gap problems: Promise problem in which Yes and No sets are separated by a gap in the function value

Gap increasing f(x)

3

slide-18
SLIDE 18

Gap Problems

Non-boolean functions (e.g.

  • ptimization problems)

Gap problems: Promise problem in which Yes and No sets are separated by a gap in the function value Can use an approximation algorithm for the function to solve the gap problem

Gap increasing f(x)

3

slide-19
SLIDE 19

Gap Problems

Non-boolean functions (e.g.

  • ptimization problems)

Gap problems: Promise problem in which Yes and No sets are separated by a gap in the function value Can use an approximation algorithm for the function to solve the gap problem

Gap increasing f(x)

3

slide-20
SLIDE 20

Gap Problems

Non-boolean functions (e.g.

  • ptimization problems)

Gap problems: Promise problem in which Yes and No sets are separated by a gap in the function value Can use an approximation algorithm for the function to solve the gap problem

Gap Approx increasing f(x)

3

slide-21
SLIDE 21

Gap Problems

Non-boolean functions (e.g.

  • ptimization problems)

Gap problems: Promise problem in which Yes and No sets are separated by a gap in the function value Can use an approximation algorithm for the function to solve the gap problem The more the gap the more loose the approximation can be

Gap Approx increasing f(x)

3

slide-22
SLIDE 22

Certificates for a Gap problem

4

slide-23
SLIDE 23

Certificates for a Gap problem

A proof that the instance is a Yes instance

4

slide-24
SLIDE 24

Certificates for a Gap problem

A proof that the instance is a Yes instance A probabilistically checkable proof (PCP): specified using the proof checking strategy

4

slide-25
SLIDE 25

Certificates for a Gap problem

A proof that the instance is a Yes instance A probabilistically checkable proof (PCP): specified using the proof checking strategy Completeness: If x ∈ Yes, some proof accepted (with prob. 1)

4

slide-26
SLIDE 26

Certificates for a Gap problem

A proof that the instance is a Yes instance A probabilistically checkable proof (PCP): specified using the proof checking strategy Completeness: If x ∈ Yes, some proof accepted (with prob. 1) Soundness: If x ∈ No, all proofs rejected with prob. > 1/2

4

slide-27
SLIDE 27

Certificates for a Gap problem

A proof that the instance is a Yes instance A probabilistically checkable proof (PCP): specified using the proof checking strategy Completeness: If x ∈ Yes, some proof accepted (with prob. 1) Soundness: If x ∈ No, all proofs rejected with prob. > 1/2 Parameters of interest: (r,q) where verifier tosses at most r coins and reads at most q bits

4

slide-28
SLIDE 28

Certificates for a Gap problem

A proof that the instance is a Yes instance A probabilistically checkable proof (PCP): specified using the proof checking strategy Completeness: If x ∈ Yes, some proof accepted (with prob. 1) Soundness: If x ∈ No, all proofs rejected with prob. > 1/2 Parameters of interest: (r,q) where verifier tosses at most r coins and reads at most q bits Proof can be limited to be at most q2r bits long

4

slide-29
SLIDE 29

PCP and CSP

5

slide-30
SLIDE 30

PCP and CSP

Constraint Satisfaction Problem (CSP)

5

slide-31
SLIDE 31

PCP and CSP

Constraint Satisfaction Problem (CSP) Instance specified by a set of “constraints” on R variables

5

slide-32
SLIDE 32

PCP and CSP

Constraint Satisfaction Problem (CSP) Instance specified by a set of “constraints” on R variables

C

  • n

s t r a i n t s : A r b i t r a r y p

  • l

y

  • t

i m e p r

  • g

r a m s

5

slide-33
SLIDE 33

PCP and CSP

Constraint Satisfaction Problem (CSP) Instance specified by a set of “constraints” on R variables Yes instance: there exists an assignment of values to the variables such that all constraints are satisfied

C

  • n

s t r a i n t s : A r b i t r a r y p

  • l

y

  • t

i m e p r

  • g

r a m s

5

slide-34
SLIDE 34

PCP and CSP

Constraint Satisfaction Problem (CSP) Instance specified by a set of “constraints” on R variables Yes instance: there exists an assignment of values to the variables such that all constraints are satisfied No instance: for all assignments, less than half the constraints are satisfied

C

  • n

s t r a i n t s : A r b i t r a r y p

  • l

y

  • t

i m e p r

  • g

r a m s

5

slide-35
SLIDE 35

PCP and CSP

Constraint Satisfaction Problem (CSP) Instance specified by a set of “constraints” on R variables Yes instance: there exists an assignment of values to the variables such that all constraints are satisfied No instance: for all assignments, less than half the constraints are satisfied (optimization problem: Max-CSPSat)

C

  • n

s t r a i n t s : A r b i t r a r y p

  • l

y

  • t

i m e p r

  • g

r a m s

5

slide-36
SLIDE 36

PCP and CSP

Constraint Satisfaction Problem (CSP) Instance specified by a set of “constraints” on R variables Yes instance: there exists an assignment of values to the variables such that all constraints are satisfied No instance: for all assignments, less than half the constraints are satisfied (optimization problem: Max-CSPSat) A (gap) problem has a PCP iff can be reduced to CSP

C

  • n

s t r a i n t s : A r b i t r a r y p

  • l

y

  • t

i m e p r

  • g

r a m s

5

slide-37
SLIDE 37

PCP and CSP

6

slide-38
SLIDE 38

PCP and CSP

A (gap) problem has a PCP iff can be reduced to CSP

6

slide-39
SLIDE 39

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

6

slide-40
SLIDE 40

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

6

slide-41
SLIDE 41

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

6

slide-42
SLIDE 42

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

6

slide-43
SLIDE 43

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

6

slide-44
SLIDE 44

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

slide-45
SLIDE 45

Decision Problem to Gap Problem

L instances G instances

7

slide-46
SLIDE 46

Decision Problem to Gap Problem

Reducing a decision problem (language) L to a gap problem G

L instances G instances

7

slide-47
SLIDE 47

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

slide-48
SLIDE 48

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 underlying G should be hard

L instances G instances

7

slide-49
SLIDE 49

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 underlying G should be hard

L instances G instances

7

slide-50
SLIDE 50

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 underlying G should be hard

L instances G instances

7

slide-51
SLIDE 51

PCP Theorem

8

slide-52
SLIDE 52

PCP Theorem

Can reduce any NP language to qCSP

8

slide-53
SLIDE 53

PCP Theorem

Can reduce any NP language to qCSP

A gap problem, with gap=1/2

8

slide-54
SLIDE 54

PCP Theorem

Can reduce any NP language to qCSP With m = poly(n) constraints and q = O(1)

A gap problem, with gap=1/2

8

slide-55
SLIDE 55

PCP Theorem

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

A gap problem, with gap=1/2

8

slide-56
SLIDE 56

PCP Theorem

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)

A gap problem, with gap=1/2

8

slide-57
SLIDE 57

PCP Theorem

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)

PCP(r,q): Class of languages with r-coin, q-query PCP verifiers A gap problem, with gap=1/2

8

slide-58
SLIDE 58

PCP Theorem

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) Note: PCP(log n, *) ⊆ NP

PCP(r,q): Class of languages with r-coin, q-query PCP verifiers A gap problem, with gap=1/2

8

slide-59
SLIDE 59

PCP Theorem

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) Note: PCP(log n, *) ⊆ NP So, NP = PCP(log n, 1)

PCP(r,q): Class of languages with r-coin, q-query PCP verifiers A gap problem, with gap=1/2

8

slide-60
SLIDE 60

Hardness of Approximation

9

slide-61
SLIDE 61

Hardness of Approximation

By PCP theorem, Max-qCSPSat is hard to approximate within a factor of 1/2

9

slide-62
SLIDE 62

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

slide-63
SLIDE 63

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

slide-64
SLIDE 64

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

slide-65
SLIDE 65

Gap-preserving Reductions

10

slide-66
SLIDE 66

Gap-preserving Reductions

From gap problem G1 to G2

10

slide-67
SLIDE 67

Gap-preserving Reductions

From gap problem G1 to G2

G1 instances G2 instances

10

slide-68
SLIDE 68

Gap-preserving Reductions

From gap problem G1 to G2

G1 instances G2 instances

10

slide-69
SLIDE 69

Gap-preserving Reductions

From gap problem G1 to G2

G1 instances G2 instances

10

slide-70
SLIDE 70

Gap-preserving Reductions

From gap problem G1 to G2 If G1 is hard to solve and reduction is efficient, then G2 is hard to solve

G1 instances G2 instances

10

slide-71
SLIDE 71

Gap-preserving Reductions

From gap problem G1 to G2 If G1 is hard to solve and reduction is efficient, then G2 is hard to solve Then function underlying G2 is hard to approximate (within a factor of its gap)

G1 instances G2 instances

10

slide-72
SLIDE 72

Gap-preserving Reductions

From gap problem G1 to G2 If G1 is hard to solve and reduction is efficient, then G2 is hard to solve Then function underlying G2 is hard to approximate (within a factor of its gap) The bigger the gap in G2 the larger the approximation factor shown hard

G1 instances G2 instances

10

slide-73
SLIDE 73

Max-qCSP to Max-3SAT

11

slide-74
SLIDE 74

Write each constraint as an exponential sized CNF (AND-OR) formula, of clauses with q vars (q-clauses)

Max-qCSP to Max-3SAT

11

slide-75
SLIDE 75

Write each constraint as an exponential sized CNF (AND-OR) formula, of clauses with q vars (q-clauses) At most 2q q-clauses

Max-qCSP to Max-3SAT

11

slide-76
SLIDE 76

Write each constraint as an exponential sized CNF (AND-OR) formula, of clauses with q vars (q-clauses) At most 2q q-clauses Collect all clauses from all constraints

Max-qCSP to Max-3SAT

11

slide-77
SLIDE 77

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

Max-qCSP to Max-3SAT

11

slide-78
SLIDE 78

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

Max-qCSP to Max-3SAT

11

slide-79
SLIDE 79

Write each constraint as an exponential sized CNF (AND-OR) formula, of clauses with q vars (q-clauses) At most 2q q-clauses Collect all clauses from all constraints So far gap is preserved up to a factor of 1/2q 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

Max-qCSP to Max-3SAT

11

slide-80
SLIDE 80

Write each constraint as an exponential sized CNF (AND-OR) formula, of clauses with q vars (q-clauses) At most 2q q-clauses Collect all clauses from all constraints So far gap is preserved up to a factor of 1/2q 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/(q2q)

Max-qCSP to Max-3SAT

11

slide-81
SLIDE 81

Max-3SAT to Max-CLIQUE

12

slide-82
SLIDE 82

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph

12

slide-83
SLIDE 83

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph

(x ∨ ¬y ∨ ¬z) (w ∨ x ∨ ¬z) (w ∨ y)

12

slide-84
SLIDE 84

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables)

(x ∨ ¬y ∨ ¬z) (w ∨ x ∨ ¬z) (w ∨ y)

12

slide-85
SLIDE 85

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables)

(x ∨ ¬y ∨ ¬z) (w ∨ x ∨ ¬z)

0*1* 1*1* 1*0*

(w ∨ y)

12

slide-86
SLIDE 86

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables)

(x ∨ ¬y ∨ ¬z) (w ∨ x ∨ ¬z)

0*1* 1*1* 1*0*

(w ∨ y)

12

slide-87
SLIDE 87

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables)

(x ∨ ¬y ∨ ¬z)

*000 *001 *010 *100 *101 *110 *111

(w ∨ x ∨ ¬z)

0*1* 1*1* 1*0*

(w ∨ y)

12

slide-88
SLIDE 88

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables)

(x ∨ ¬y ∨ ¬z)

*000 *001 *010 *100 *101 *110 *111

(w ∨ x ∨ ¬z)

0*1* 1*1* 1*0*

(w ∨ y)

12

slide-89
SLIDE 89

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables)

(x ∨ ¬y ∨ ¬z)

*000 *001 *010 *100 *101 *110 *111

(w ∨ x ∨ ¬z)

00*0 011 01*0 10*0 10*1 11*0 111 0*1* 1*1* 1*0*

(w ∨ y)

12

slide-90
SLIDE 90

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables) edges between consistent assignments

(x ∨ ¬y ∨ ¬z)

*000 *001 *010 *100 *101 *110 *111

(w ∨ x ∨ ¬z)

00*0 011 01*0 10*0 10*1 11*0 111 0*1* 1*1* 1*0*

(w ∨ y)

12

slide-91
SLIDE 91

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables) edges between consistent assignments

(x ∨ ¬y ∨ ¬z)

*000 *001 *010 *100 *101 *110 *111

(w ∨ x ∨ ¬z)

00*0 011 01*0 10*0 10*1 11*0 111 0*1* 1*1* 1*0*

(w ∨ y)

12

slide-92
SLIDE 92

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables) edges between consistent assignments

(x ∨ ¬y ∨ ¬z)

*000 *001 *010 *100 *101 *110 *111

(w ∨ x ∨ ¬z)

00*0 011 01*0 10*0 10*1 11*0 111 0*1* 1*1* 1*0*

(w ∨ y)

12

slide-93
SLIDE 93

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables) edges between consistent assignments

(x ∨ ¬y ∨ ¬z)

*000 *001 *010 *100 *101 *110 *111

(w ∨ x ∨ ¬z)

00*0 011 01*0 10*0 10*1 11*0 111 0*1* 1*1* 1*0*

(w ∨ y)

12

slide-94
SLIDE 94

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables) edges between consistent assignments

(x ∨ ¬y ∨ ¬z)

*000 *001 *010 *100 *101 *110 *111

(w ∨ x ∨ ¬z)

00*0 011 01*0 10*0 10*1 11*0 111 0*1* 1*1* 1*0*

(w ∨ y)

12

slide-95
SLIDE 95

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables) edges between consistent assignments

(x ∨ ¬y ∨ ¬z)

*000 *001 *010 *100 *101 *110 *111

(w ∨ x ∨ ¬z)

00*0 011 01*0 10*0 10*1 11*0 111 0*1* 1*1* 1*0*

(w ∨ y)

12

slide-96
SLIDE 96

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables) edges between consistent assignments k-clique iff k clauses satisfiable

(x ∨ ¬y ∨ ¬z)

*000 *001 *010 *100 *101 *110 *111

(w ∨ x ∨ ¬z)

00*0 011 01*0 10*0 10*1 11*0 111 0*1* 1*1* 1*0*

(w ∨ y)

12

slide-97
SLIDE 97

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables) edges between consistent assignments k-clique iff k clauses satisfiable

(x ∨ ¬y ∨ ¬z)

*000 *001 *010 *100 *101 *110 *111

(w ∨ x ∨ ¬z)

00*0 011 01*0 10*0 10*1 11*0 111 0*1* 1*1* 1*0*

(w ∨ y)

12

slide-98
SLIDE 98

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables) edges between consistent assignments k-clique iff k clauses satisfiable

(x ∨ ¬y ∨ ¬z)

*000 *001 *010 *100 *101 *110 *111

(w ∨ x ∨ ¬z)

00*0 011 01*0 10*0 10*1 11*0 111 0*1* 1*1* 1*0*

(w ∨ y)

1*1* *110 11*0

  • 1110

sat assignment 3-Clique

12

slide-99
SLIDE 99

Max-3SAT to Max-CLIQUE

Recall 3SAT to CLIQUE: Clauses → Graph vertices: each clause’ s sat assignments (for its variables) edges between consistent assignments k-clique iff k clauses satisfiable Gap preserved

(x ∨ ¬y ∨ ¬z)

*000 *001 *010 *100 *101 *110 *111

(w ∨ x ∨ ¬z)

00*0 011 01*0 10*0 10*1 11*0 111 0*1* 1*1* 1*0*

(w ∨ y)

1*1* *110 11*0

  • 1110

sat assignment 3-Clique

12

slide-100
SLIDE 100

Proving the PCP Theorem

13

slide-101
SLIDE 101

Proving the PCP Theorem

Very involved: see textbook

13

slide-102
SLIDE 102

Proving the PCP Theorem

Very involved: see textbook A flavor:

13

slide-103
SLIDE 103

Proving the PCP Theorem

Very involved: see textbook A flavor: Recall: to give a PCP system for 3SAT

13

slide-104
SLIDE 104

Proving the PCP Theorem

Very involved: see textbook A flavor: Recall: to give a PCP system for 3SAT i.e. need to check if all clauses satisfied by the assignment implicit in the proof

13

slide-105
SLIDE 105

Proving the PCP Theorem

Very involved: see textbook A flavor: Recall: to give a PCP system for 3SAT i.e. need to check if all clauses satisfied by the assignment implicit in the proof Checking a random clause is no good (though it takes

  • nly 3 queries) as almost all clauses might be satisfied

13

slide-106
SLIDE 106

Proving the PCP Theorem

Very involved: see textbook A flavor: Recall: to give a PCP system for 3SAT i.e. need to check if all clauses satisfied by the assignment implicit in the proof Checking a random clause is no good (though it takes

  • nly 3 queries) as almost all clauses might be satisfied

Need to check if any 1 in an implicit bit vector: checking a random position is no good

13

slide-107
SLIDE 107

Proving the PCP Theorem

14

slide-108
SLIDE 108

Proving the PCP Theorem

Need to check if any 1 in an implicit bit vector: checking a random position is no good

14

slide-109
SLIDE 109

Proving the PCP Theorem

Need to check if any 1 in an implicit bit vector: checking a random position is no good Require a “robust” encoding to be given

14

slide-110
SLIDE 110

Proving the PCP Theorem

Need to check if any 1 in an implicit bit vector: checking a random position is no good Require a “robust” encoding to be given If even one 1, it becomes easy to detect

14

slide-111
SLIDE 111

Proving the PCP Theorem

Need to check if any 1 in an implicit bit vector: checking a random position is no good Require a “robust” encoding to be given If even one 1, it becomes easy to detect e.g. Walsh-Hadamard code: consider n-bit vector x as a function fx(y) = <x,y>. Encoding is the truth-table

14

slide-112
SLIDE 112

Proving the PCP Theorem

Need to check if any 1 in an implicit bit vector: checking a random position is no good Require a “robust” encoding to be given If even one 1, it becomes easy to detect e.g. Walsh-Hadamard code: consider n-bit vector x as a function fx(y) = <x,y>. Encoding is the truth-table If one or more 1, then half 1s and half 0s. Else all 0s.

14

slide-113
SLIDE 113

Proving the PCP Theorem

Need to check if any 1 in an implicit bit vector: checking a random position is no good Require a “robust” encoding to be given If even one 1, it becomes easy to detect e.g. Walsh-Hadamard code: consider n-bit vector x as a function fx(y) = <x,y>. Encoding is the truth-table If one or more 1, then half 1s and half 0s. Else all 0s. Need to check that the encoded vector is the evaluation of the clauses on an assignment, and that encoding is valid

14

slide-114
SLIDE 114

Linearity Test

15

slide-115
SLIDE 115

Linearity Test

Is a function table provided close to being linear?

15

slide-116
SLIDE 116

Linearity Test

Is a function table provided close to being linear? Test: query f(x), f(y), f(x+y) for random x, y. Check linearity.

15

slide-117
SLIDE 117

Linearity Test

Is a function table provided close to being linear? Test: query f(x), f(y), f(x+y) for random x, y. Check linearity. Analysis:

15

slide-118
SLIDE 118

Linearity Test

Is a function table provided close to being linear? Test: query f(x), f(y), f(x+y) for random x, y. Check linearity. Analysis: Linear boolean function over boolean vectors

15

slide-119
SLIDE 119

Linearity Test

Is a function table provided close to being linear? Test: query f(x), f(y), f(x+y) for random x, y. Check linearity. Analysis: Linear boolean function over boolean vectors Dot product with another boolean vector

15

slide-120
SLIDE 120

Linearity Test

Is a function table provided close to being linear? Test: query f(x), f(y), f(x+y) for random x, y. Check linearity. Analysis: Linear boolean function over boolean vectors Dot product with another boolean vector A function in the “Fourier basis” (for real-valued functions)

15

slide-121
SLIDE 121

Linearity Test

Is a function table provided close to being linear? Test: query f(x), f(y), f(x+y) for random x, y. Check linearity. Analysis: Linear boolean function over boolean vectors Dot product with another boolean vector A function in the “Fourier basis” (for real-valued functions)

after changing to ±1 co-ordinates

15

slide-122
SLIDE 122

Linearity Test

Is a function table provided close to being linear? Test: query f(x), f(y), f(x+y) for random x, y. Check linearity. Analysis: Linear boolean function over boolean vectors Dot product with another boolean vector A function in the “Fourier basis” (for real-valued functions) Enough to check: is any Fourier coefficient dominant?

after changing to ±1 co-ordinates

15

slide-123
SLIDE 123

Linearity Test

Is a function table provided close to being linear? Test: query f(x), f(y), f(x+y) for random x, y. Check linearity. Analysis: Linear boolean function over boolean vectors Dot product with another boolean vector A function in the “Fourier basis” (for real-valued functions) Enough to check: is any Fourier coefficient dominant? Can show that if Pr[f(x+y)=f(x)+f(y)] > 1/2 + ε, then a Fourier coefficient is larger than 2ε

after changing to ±1 co-ordinates

15

slide-124
SLIDE 124

New proof

16

slide-125
SLIDE 125

New proof

Recent development [Dinur’06]

16

slide-126
SLIDE 126

New proof

Recent development [Dinur’06] A “combinatorial” (as opposed to algebraic) proof of the PCP theorem

16

slide-127
SLIDE 127

New proof

Recent development [Dinur’06] A “combinatorial” (as opposed to algebraic) proof of the PCP theorem By “gap amplification”

16

slide-128
SLIDE 128

New proof

Recent development [Dinur’06] A “combinatorial” (as opposed to algebraic) proof of the PCP theorem By “gap amplification” Starting from a small gap (inherent in 3SAT), and amplifying it

16

slide-129
SLIDE 129

New proof

Recent development [Dinur’06] A “combinatorial” (as opposed to algebraic) proof of the PCP theorem By “gap amplification” Starting from a small gap (inherent in 3SAT), and amplifying it Operations on a constraint graph

16

slide-130
SLIDE 130

New proof

Recent development [Dinur’06] A “combinatorial” (as opposed to algebraic) proof of the PCP theorem By “gap amplification” Starting from a small gap (inherent in 3SAT), and amplifying it Operations on a constraint graph Uses “expander graphs”

16

slide-131
SLIDE 131

Summary

17

slide-132
SLIDE 132

Summary

A problem/gap problem has a (log m,q) PCP iff it is efficiently reducible to the gap problem qCSP of size m

17

slide-133
SLIDE 133

Summary

A problem/gap problem has a (log m,q) PCP iff it is efficiently reducible to the gap problem qCSP of size m

3SAT ploy sized qCSP

PCP Theorem

17

slide-134
SLIDE 134

Summary

A problem/gap problem has a (log m,q) PCP iff it is efficiently reducible to the gap problem qCSP of size m

3SAT ploy sized qCSP

PCP Theorem

your optimization problem

17

slide-135
SLIDE 135

Summary

A problem/gap problem has a (log m,q) PCP iff it is efficiently reducible to the gap problem qCSP of size m

3SAT ploy sized qCSP

PCP Theorem

your optimization problem

Variants of these reductions to get different hardness results for different approximations

17