This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Notes on Complexity Theory Last updated: November, 2011 Lecture 24 Jonathan Katz 1 The Complexity of Counting We explore three results related to hardness of counting. Interestingly, at their core each of these results relies on a simple yet powerful technique due to Valiant and Vazirani. 1.1 Hardness of Unique SAT Does SAT become any easier if we are guaranteed that the formula we are given has at most one solution? Alternately, if we are guaranteed that a given boolean formula has a unique solution does it become any easier to find it? We show here that this is not likely to be the case. Define the following promise problem: USAT def = { : has exactly one satisfying assignment } USAT def = { : is unsatisfiable } . Clearly, this problem is in promise NP . We show that if it is in promise P , then NP = RP . We begin with a lemma about pairwiseindependent hashing. Lemma 1 Let S { , 1 } n be an arbitrary set with 2 m  S  2 m +1 , and let H n,m +2 be a family of pairwiseindependent hash functions mapping { , 1 } n to { , 1 } m +2 . Then Pr h H n,m +2 [ there is a unique x S with h ( x ) = 0 m +2 ] 1 / 8 . Proof Let def = 0 m +2 , and let p def = 2 ( m +2) . Let N be the random variable (over choice of random h H n,m +2 ) denoting the number of x S for which h ( x ) = . Using the inclusion/exclusion principle, we have Pr[ N 1] X x S Pr[ h ( x ) = ] 1 2 X x 6 = x S Pr[ h ( x ) = h ( x ) = ] =  S  p  S  2 p 2 , while Pr[ N 2] x 6 = x S Pr[ h ( x ) = h ( x ) = ] = (  S  2 ) p 2 . So Pr[ N = 1] = Pr[ N 1] Pr[ N 2]  S  p 2  S  2 p 2  S  p  S  2 p 2 1 / 8 , using the fact that  S  p [ 1 4 , 1 2 ]. 241 Theorem 2 (ValiantVazirani) If ( USAT , USAT ) is in promise RP , then NP = RP . Proof If ( USAT , USAT ) is in promise RP , then there is a probabilistic polynomialtime algorithm A such that USAT Pr[ A ( ) = 1] 1 / 2 USAT Pr[ A ( ) = 1] = 0 . We design a probabilistic polynomialtime algorithm B for SAT as follows: on input an nvariable boolean formula , first choose uniform m { ,...,n 1 } . Then choose random h H n,m +2 . Us ing the CookLevin reduction, rewrite the expression ( x ) def = ( ( x ) ( h ( x ) = 0 m +2 )) as a boolean formula ( x,z ), using additional variables z if necessary. (Since h is efficiently computable, the size of will be polynomial in the size of . Furthermore, the number of satisfying assignments to ( x,z ) will be the same as the number of satisfying assignments of .) Output A ( ). If is not satisfiable then is not satisfiable, so A (and hence B ) always outputs 0. If is satisfiable, with S denoting the set of satisfying assignments, then with probability 1 /n the value of m chosen by B is such that 2 m  S  2 m +1 . In that case, Lemma 1 shows that with probability at least 1/8 the formula...
View
Full
Document
 Fall '08
 staff

Click to edit the document details