1 slides by vera asodi & tomer naveh updated by : avi ben-aroya & alon brook adapted from...

45
1 Slides by Vera Asodi & Tomer Naveh Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav Rodeh lecture notes by Oded Lachish, Yoav Rodeh and Yael Tauman. and Yael Tauman.

Post on 19-Dec-2015

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

1

Slides by Vera Asodi & Tomer NavehSlides by Vera Asodi & Tomer Naveh

Updated By : Avi Ben-Aroya & Alon BrookUpdated By : Avi Ben-Aroya & Alon Brook

Adapted from Oded Goldreich’s course lecture Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav Rodeh and Yael notes by Oded Lachish, Yoav Rodeh and Yael Tauman.Tauman.

Page 2: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

2

IntroductionIntroductionIn this lecture we’ll cover:Definition and characterization of #PCompleteness in #PRange problemsPromise problemsThe relation between NP and #PUnique SAT

Page 3: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

3

#P#PDef: An NP-relation is a relation R** s.t.R is polynomial-time decidable.There exists a polynomial p(.) such that for

every (x,y)R |y|p(|x|).

Def: LR = {x*|y s.t. (x,y)R}

y is a witness to the membership of x in LR.The class NP relates to whether such y exists.Another natural question may be:

“how many such y’s exist?”This is the question the class #P concerned

with

10.1

Page 4: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

4

#P - Def#P - Def

Def: For every binary relation R**, the counting function fR:*N, is defined by:fR(x) = |{y | (x,y)R}|

Def: #P = {fR: R is an NP-relation}

Def (counting language): The language of thresholds for the number of witnesses for each x*

#R = { (x,k) : |{y : (x,y)R}| k }

Page 5: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

5

Plan of the lecturePlan of the lecture

We are interested in how does the power of #P compared with complexity classes.

This will be viewed by the following reductions :StrongRangepoly(#P) Cook

StrongRangepoly(#SAT) Cook

WeakRange(#SAT) Cook

ConstantRange64(#SAT) Cook

Gap8#SAT Probabilistic Cook

SAT Cook

Gap8#SAT’ Probabilistic Cook

fewSAT Cook

uniqueSAT

Page 6: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

6

Some simple properties of #PSome simple properties of #P

Prop: For any NP-relation R: #R is Cook reducible to fR

fR is Cook reducible to #R

Proof:The first is trivial. For the second, we know that fR(x) is in the range

{0,…,2|p(x)|}, where p(.) is the polynomial bounding the length of the witness in the NP-relation.We use binary search to compute fR(x) , given an oracle for #R, in polynomial time in |x|.

Page 7: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

7

Some simple properties of #P Some simple properties of #P (2)(2)Prop: For every NP-relation R, the corresponding

language LR Cook reduces to fR.

Corollary: NP Cook reduces to #P.

10.2

LRfR

Page 8: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

8

Some simple properties of #P Some simple properties of #P (3)(3)Claim: #P Cook reduces to PSPACE.

Proof: Let p(.) be the polynomial bounding the length of the witnesses of R. We run over all possible witnesses of length p(|x|), checking for every one if it is indeed a witness, and counting the number of witnesses. Checking a witness can be done in polynomial time (since R is an NP-relation) and hence in polynomial space. Both the witness and the working area are polynomial in |x|, so the problem is in PSPACE.

Page 9: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

9

Completeness in #PCompleteness in #P

Def: f is #P-complete if:1. f is in #P2. For every g in #P, g Cook reduces to f.

Def: A reduction :** is parsimonious with relation to NP-relations Q and R if for every x: | { y : (x,y)Q } | = | { y : ((x), y)R } |

Corollary: If R is an NP-relation, and for every NP-relation Q there exists a reduction Q from Q to R, such that Q is parsimonious with respect to Q and R, then fR is #P-complete.

10.3

That is, the number of witnesses is unchanged

Page 10: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

10

A #P-Complete problemA #P-Complete problem

Def:

Def: #SAT =

V( )is a boolean f ormula on variables

is a truth assignm( , )

ent f o V( ) r : 1SATR

V( )is a boolean f ormula on variables

is a truth assignm( , )

ent f o V( ) r : 1SATR

SATRf SATRf

10.4

Page 11: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

11

A #P-Complete problem (2)A #P-Complete problem (2)

Thm: #SAT is #P-complete

Proof (Outline):1. #SAT is in #P since RSAT is an NP-relation.2. We have proved that SAT is NP-complete by a

reduction from any NP-relation to bounded halting, a reduction from bounded halting to circuit-SAT, and a reduction from circuit-SAT to SAT.If we look at these reductions, we can see that the correspondence between the witnesses is 1-1, and therefore the reductions are parsimonious.By the previous corollary, it follows that #SAT is #P-complete

That’s the reduction we used at the time

Page 12: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

12

Example: fExample: fRR is #P-complete, L is #P-complete, LRRPP

Thm: There exists an NP-relation R s.t. fR is #P-complete, and LR is in P.

Proof:We define a relation:R’SAT = { (,(,)) | [(() = 1) ( = 1)] ( = 0) }.

Every has a witness it is in P.

But #SAT() + 2|variables()| = , so #SAT can be calculated from , therefore is #P-complete.

SAT'RL

SAT'Rf

SAT'RfSAT'Rf

10.5

Page 13: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

13

Def: RPM = { (G,f): G is a bipartite graph and f is a perfect matching of G }

Prop: is polynomial-time decidable.

Thm: is #P-Complete.

This result is proved by showing that calculating the permanent of a {0,1} matrix is #P-complete (not proven), and computationally equivalent to perfect matching.

Perfect MatchingPerfect Matching

PMRL

PMRf

10.6

Page 14: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

14

Perfect Matching (2)Perfect Matching (2)Def: The permanent of an nn matrix

is: . Perm(A) is, in fact, the number of ways to choose

n 1’s from the matrix, one in each column and one in each row.

If we look at a bipartite graph with n vertices in each side, then we can represent its edges as an {0,1} matrix of size nn. Each perfect matching is n 1’s from this matrix, one in each column and one in each row. Therefore Perm(A) and the number of perfect matchings are equivalent problems.

n1j,ij,iaA

nS

n

1ii,iaAPerm

Hot news a PTAS for the Permanent problem

has been discovered recently

Page 15: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

15

Perfect matching (3)Perfect matching (3)

1

2

3

4

1

2

3

4

1234

11101

20100

31111

40010

Page 16: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

16

Cycle CoverCycle Cover

Def: A cycle cover of a directed graph G, is a set of vertex-disjoint simple cycles that cover all the vertices of G.

Prop: For every directed graph G, Perm(A(G)) = #Cycle(G), where A(G) is the adjacency matrix of G.

10.7

Page 17: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

17

Cycle Cover (2)Cycle Cover (2)

2

6

7

3

54

1 1234567

10010000

21010000

30000100

40010010

50100000

60010001

70101010

Page 18: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

18

How Close is #P to NP?How Close is #P to NP?

We’ve seen that NP Cook #P Cook PSPACE.

We’ll now try to refine these bounds by showing that a counting problem in #P can be probabilistically approximated in polynomial time using an NP oracle.

10.8

Page 19: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

19

Range ProblemsRange Problems

Def: A range problem is defined by two functions =(l, u), l,, u:*N,x l(x) u(x), such that on input x* the problem is to find t[l(x), u(x)].

Def (strong range): For f: *N and a polynomial p(.), we define the range problem StrongRangep(f)=(l,u), where andMeaning that on input x* the problem is to find t[l(x), u(x)]

xp11xfxl xp11xfxl xp

11xfxu xp11xfxu

10.9

Page 20: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

20

Range Problems (2)Range Problems (2)

Prop: If we can approximate #SAT strongly, we can just as strongly approximate any f in #P, i.e. StrongRangep(f) Cook StrongRangep(#SAT).

Proof: As we have seen, for every f in #P there is a parsimonious reduction f with relation to f and #SAT. We may assume that |f(x)||x|, because we can always pad f(x) with something that will not change the number of witnesses.We now use our oracle to StrongRangep(#SAT) on f(x), and get a result t that satisfies:

. xf1xSAT# 1t xp

1fxp

1f

xf1xSAT# 1t xp1

fxp1f

Page 21: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

21

Range Problems (3) Range Problems (3)

Def (constant range): For f:*N, and a constant c>0, we define a range problem ConstantRangec(f)=(l,u), where:

l(x)= f(x)/cu(x)=cf(x)

Def (weak range): For f:*N, and a constant >0, we define a range problem WeakRangec(f)=(l,u), where:

l(x)= f(x)u(x)= f(x)

1x

21

1x21

1x21x2

Page 22: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

22

Range Problems (4)Range Problems (4)

Prop: For every polynomial p(.) and constant 0<<1:StrongRangep(#SAT) Cook WeakRange(#SAT).

Proof:Given , a Boolean formula on variables , we

define a polynomial , and build

where each is a distinct copy of the variables of .

Obviously #SAT(’)=(#SAT())q(||).Notice that |’|2||q(||).

x

1

npn2nq iq

1ix'

ix

x

Reminder of the planStrongRangepoly(#P) Cook

StrongRangepoly(#SAT) Cook

WeakRange(#SAT) Cook

ConstantRange64(#SAT) Cook

Gap8#SAT Probabilistic Cook

SAT Cook

Gap8#SAT’ Probabilistic Cook

fewSAT Cook

uniqueSAT

Page 23: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

23

Range Problems (5) Range Problems (5)

Claim: For every 0<<1 and c>0:WeakRange(#SAT) Cook ConstantRangec(#SAT).

Proof: For a large enough n: .

11 nn

21

c1 2,c,

Reminder of the planStrongRangepoly(#P) Cook

StrongRangepoly(#SAT) Cook

WeakRange(#SAT) Cook

ConstantRange64(#SAT) Cook

Gap8#SAT Probabilistic Cook

SAT Cook

Gap8#SAT’ Probabilistic Cook

fewSAT Cook

uniqueSAT

Page 24: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

24

Range Problems (6)Range Problems (6) Now, assuming we have an oracle to WeakRange(#SAT), we can

call it on ’ to get:

Our result would be .Then we have:

.

'SAT# 2,t

11''

21

q1

ts

SAT# 2,SAT# 2,s p22

p22

q

2

q

2

21

21

SAT# 1SAT# 2, p

121 p

1p

1

qq2q2

21 SAT#2,

11

Page 25: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

25

Promise ProblemsPromise Problems

Def: A promise problem =(Y, N), where Y, N*, and YN=, is the question: given xPromise()=YN, decide whether xY.

Def (Gap8#SAT): The promise problem Gap8#SAT = (Gap8#SATY, Gap8#SATN), whereGap8#SATY = { (,K) : fSAT() > 8K }Gap8#SATN = { (,K) : fSAT() < K }

81

10.10

Page 26: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

26

Promise Problems (2)Promise Problems (2)Prop: ConstantRange64(#SAT) Cook Gap8#SAT.

Proof: We run the following algorithm on input :

1. i = 02. while Gap8#SAT answers YES on (,8i) do i = i + 1

3. return

Denote = log8(#SAT()).

For all i < -1, #SAT() > 8·8i, so (,8i)Gap8#SATY.

Therefore, the algorithm will increment such i and will not stop.

21i8

Reminder of the planStrongRangepoly(#P) Cook

StrongRangepoly(#SAT) Cook

WeakRange(#SAT) Cook

ConstantRange64(#SAT) Cook

Gap8#SAT Probabilistic Cook

SAT Cook

Gap8#SAT’ Probabilistic Cook

fewSAT Cook

uniqueSAT

Page 27: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

27

Promise Problems (3)Promise Problems (3)

For all i > +1, #SAT() < ·8i, so (,8i)Gap8#SATN.Therefore, the algorithm must stop at the first such i or before it. Thus, the algorithm stops when i +2

Thus, the result 8k-½ satisfies:-1 k +2 -2 < k-½ < +2

SAT# 64,8 641k 2

1

81

Page 28: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

28

Promise Problems (4)Promise Problems (4)

Comment (amplification): For every promise problem P, and machine M that satisfies: ,if we run M on xPromise(P) O(n) times, then the majority of the results will equal P(x) with probability greater than 1-2-n.

32xPxMPr PomisePrx

Page 29: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

29

Promise Problems (5)Promise Problems (5)Prop: Given a problem P and a promise problem Q, such

that P Cook Q, if we have a probabilistic machine Q’ s.t. then for every polynomial p(.), we have a probabilistic polynomial time machine M that uses an oracle to Q’ s.t.Pr[MQ’(y) is a solution of P on input y] > 1-2-p(|y|)

Proof: Since the reduction from P to Q is polynomial, there

exists a polynomial q(.) s.t. the oracle Q is called less than q(|y|) times.

We can amplify the probability of success to The probability of M being correct is at least the

probability that all the oracle calls are correct, which is greater than 1-2-p(|y|).

32xQx'QPr QomisePrx

yp

yq1 21

Page 30: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

30

Probabilistic Cook Probabilistic Cook ReductionsReductions

Def (probabilistic Cook reduction): Given promise problems P and Q, we say that there is a probabilistic Cook reduction from P to Q if there is a probabilistic time oracle machine M that uses Q as an oracle, and satisfies: xPromise(P) Pr[MQ(x) = P(x)] > [ where MQ(x) denotes the computation of machine M on input x when given oracle access to Q.]

Notice that in this definition the oracle has no probability of error, but using amplification we can show that an oracle with bounded error probability can be used.

32

10.11

Page 31: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

31

UniversalUniversal22 Hashing Hashing

Def (universal2 hashing): A family of functions Hn,m mapping {0,1}n to {0,1}m is called universal2 if for a uniformly selected h from Hn,m, the random variables are pairwise independent and uniformly distributed over {0,1}m.

An efficient construction of such families should have polynomial-time algorithms for selecting and evaluating functions in the family.

n1,0eeh

10.12

Page 32: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

32

UniversalUniversal22 Hashing (2) Hashing (2)

A popular example is the family of all affine transformations from {0,1}n to {0,1}m. That is, all functions of the form hA,b(x)=Ax+b, where A is an mn {0,1} matrix, b is an m-dimensional {0,1} vector, and the arithmetic is modulo 2.

Lemma (leftover hash): Let Hn,m be a family of universal2 hash functions mapping {0,1}n to {0,1}m, and let >0. Let S{0,1}n be arbitrary provided, s.t.|S| -32m. Then:

. 11 0eh:Se Pr m2Sm

h

Page 33: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

33

UniversalUniversal22 Hashing (3) Hashing (3)Proof: define, for each e, a random variable Xe

Xe = 1 , h(e) = 0m

0 , otherwise

for each e1 e2, Xe1 , Xe2 are independent

(pending homework assignment)

Define now a random variable Y s.t.

SeeXY

mee (1/2) 1] Pr[X1 )E(X

)(1/2) -(1(1/2) 1]) Pr[X - (11] Pr[X1 )V(X mmeee

Page 34: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

34

UniversalUniversal22 Hashing (4) Hashing (4)

2

2

))(/()(1)](|)([|Pr

)](1[Pr

1 0: Pr

YEYVYEYEY

YEY

ehSe m

Sm

Se

me SXEYE 2/||)()(

)2/11)(()2/11)(2/|(|)()( m

Se

mme YESXVYV

Since the X-s are pairwise independent we get :

By Chebychev inequality, we get :

1)2/11(1|)|/(2)2/11(1

))(/()()2/11(12

2

mmm

m

S

YEYE

Page 35: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

35

GapGap88#SAT reduces to SAT#SAT reduces to SAT

Thm: Gap8#SAT R SAT.

Proof: We construct a probabilistic polynomial-time machine M which is given oracle access to SAT.On input (,2m), where has n variables, M operates as follows:

1. Select uniformlyhHn,m = {affine transformations from {0,1}n to {0,1}m}. The function h is represented by a {0,1} matrixAmn = (aij) and a {0,1} vector b = (bi)i=1,…,m.

10.13

Reminder of the planStrongRangepoly(#P) Cook

StrongRangepoly(#SAT) Cook

WeakRange(#SAT) Cook

ConstantRange64(#SAT) Cook

Gap8#SAT Probabilistic Cook

SAT Cook

Gap8#SAT’ Probabilistic Cook

fewSAT Cook

uniqueSAT

Page 36: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

36

GapGap88#SAT reduces to SAT (2)#SAT reduces to SAT (2)

2. We construct a formula h, on variables x1,…,xn,y1,…,yt such that x{0,1}n

a) h(x)=0m there exists an assignment to the yi’s s.t. h is true.

b) h(x)=0m there’s only one such assignment to the yi’s.

Now: h(x) = 0m

The formula on the right can be transformed into a CNF formula (using additional variables) which has the above properties

n

1jijj,i

m

1i2) (mod bxa

Page 37: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

37

GapGap88#SAT reduces to SAT (3)#SAT reduces to SAT (3)

3. Define ’ = h. Use the oracle to SAT on ’, and return the result.

Claim 1: If (,2m)Gap8#SATy then ’SAT with probability greater than ½.

Proof: We define S = { x : (x)=1 }. |S|>82m because (,2m)Gap8#SATy.Prh[’SAT] = Prh[{x : (x) = 1 & h(x) = 0m} ] =

Prh[{xS : h(x) = 0m} ] Prh[|{xS : h(x) = 0m}| [1½] >½

m2

s By the Leftover Hash Lemma,

with =½

Page 38: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

38

GapGap88#SAT reduces to SAT (4)#SAT reduces to SAT (4)

Claim 2: If (,2m)Gap8#SATN then ’SAT with probability less than .

Proof: We define S = { x : (x)=1 }. |S|< 2m because (,2m)Gap8#SATN.

Prh[’SAT] = Prh[{xS : h(x) = 0m} ] =

= Prh[( ) ]

< 2m 2-m =

81

81

Sx

m0)x(h:x

81

81

Sx

mh 0)x(hPr

Page 39: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

39

GapGap88#SAT reduces to SAT (5)#SAT reduces to SAT (5)

{0,1}n h {0,1}m

0m

Page 40: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

40

uniqueSATuniqueSATWe will see now a more restricted version of Gap8#SAT

called uniqueSAT, and show that SAT probabilistically Cook reduces to uniqueSAT.

Def: Gap8#SAT’ is the promise problem on input pairs (,k) defined by:

Gap8#SAT’Y = {(,k) : 8k < #SAT() < 32k)}

Gap8#SAT’N = {(,k) : #SAT() < k)}

Claim: SAT Cook reduces to Gap8#SAT’.

Proof: Given , we will create ’ s.t. #SAT(’) = 15#SAT() using 4 variables {x1,…,x4} that do not appear in .

81

10.14

Reminder of the planStrongRangepoly(#P) Cook

StrongRangepoly(#SAT) Cook

WeakRange(#SAT) Cook

ConstantRange64(#SAT) Cook

Gap8#SAT Probabilistic Cook

SAT Cook

Gap8#SAT’ Probabilistic Cook

fewSAT Cook

uniqueSAT

Page 41: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

41

uniqueSAT (2)uniqueSAT (2) We define: ’ = (x1 x2 x3 x4) Notice that:

#SAT(’)15 SAT

#SAT(’)=0 SAT We will call an oracle: Gap8#SAT’(’, 2i) for every 0i|

Variables(’)|. One of the answers is YES iff SAT:

– If SAT then all the answers are NO.– If SAT then #SAT(’)15, therefore,

log2(#SAT(’))log2(15) > 3. So there exists i0 s.t. i < log2(#SAT(’)) – 3 < i+2 82i < #SAT(’) < 322i

and for that i we get a YES answer.

Page 42: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

42

uniqueSAT (3)uniqueSAT (3)

Def: fewSAT is the following promise problem:fewSATY = { : 1 #SAT() < 100}

fewSATN = { : #SAT() = 0}

Prop: Gap8#SAT’ probabilistically Cook reduces to fewSAT.

The proof uses the same reduction used when proving Gap8#SAT probabilistically Cook reduces to SAT.

Reminder of the planStrongRangepoly(#P) Cook

StrongRangepoly(#SAT) Cook

WeakRange(#SAT) Cook

ConstantRange64(#SAT) Cook

Gap8#SAT Probabilistic Cook

SAT Cook

Gap8#SAT’ Probabilistic Cook

fewSAT Cook

uniqueSAT

Page 43: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

43

uniqueSAT (4)uniqueSAT (4)Def: uniqueSAT is the following promise problem:

uniqueSATY = { : #SAT() = 1}

uniqueSATN = { : #SAT() = 0}

Prop: fewSAT Cook reduces to uniqueSAT

Proof: Given a formula , we construct formulas i for 1 i < 100 in the following way:

i.e. i copies of , each on a separate set of variables.

jnj1

i

1ji x,...,x

Reminder of the planStrongRangepoly(#P) Cook

StrongRangepoly(#SAT) Cook

WeakRange(#SAT) Cook

ConstantRange64(#SAT) Cook

Gap8#SAT Probabilistic Cook

SAT Cook

Gap8#SAT’ Probabilistic Cook

fewSAT Cook

uniqueSAT

Page 44: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

44

uniqueSAT (5)uniqueSAT (5)

Now, if SAT, then so is i.

Every satisfying assignment of i corresponds to i satisfying assignments of , but these assignments are not necessarily different.

So we define i’s that will force them to be different, and even impose lexicographical order on the solutions.

Thus, i will have a unique satisfying assignment iff has exactly i satisfying assignments:

.

1jlex

j1i

1jii xx

Page 45: 1 Slides by Vera Asodi & Tomer Naveh Updated By : Avi Ben-Aroya & Alon Brook Adapted from Oded Goldreich’s course lecture notes by Oded Lachish, Yoav

45

The EndThe End

Let’s look at what we’ve done:

StrongRangepoly(#P) Cook

StrongRangepoly(#SAT) Cook

WeakRange(#SAT) Cook

ConstantRange64(#SAT) Cook

Gap8#SAT Probabilistic Cook

SAT Cook

Gap8#SAT’ Probabilistic Cook

fewSAT Cook

uniqueSAT

10.15