Analysis of Boolean Functions and Its Applications to Topics Such As Property Testing, Voting, Pseudorandomness, Gaussian Geometry and the Hardness of Approximation
Total Page:16
File Type:pdf, Size:1020Kb
Analysis of Boolean Functions Notes from a series of lectures by Ryan O’Donnell Guest lecture by Per Austrin Barbados Workshop on Computational Complexity February 26th – March 4th, 2012 Organized by Denis Th´erien Scribe notes by Li-Yang Tan arXiv:1205.0314v1 [cs.CC] 2 May 2012 Contents 1 Linearity testing and Arrow’s theorem 3 1.1 TheFourierexpansion ............................. 3 1.2 Blum-Luby-Rubinfeld. .. .. .. .. .. .. .. .. 7 1.3 Votingandinfluence .............................. 9 1.4 Noise stability and Arrow’s theorem . ..... 12 2 Noise stability and small set expansion 15 2.1 Sheppard’s formula and Stabρ(MAJ)...................... 15 2.2 Thenoisyhypercubegraph. 16 2.3 Bonami’slemma................................. 18 3 KKL and quasirandomness 20 3.1 Smallsetexpansion ............................... 20 3.2 Kahn-Kalai-Linial ............................... 21 3.3 Dictator versus Quasirandom tests . ..... 22 4 CSPs and hardness of approximation 26 4.1 Constraint satisfaction problems . ...... 26 4.2 Berry-Ess´een................................... 27 5 Majority Is Stablest 30 5.1 Borell’s isoperimetric inequality . ....... 30 5.2 ProofoutlineofMIST ............................. 32 5.3 Theinvarianceprinciple . 33 6 Testing dictators and UGC-hardness 37 1 Linearity testing and Arrow’s theorem Monday, 27th February 2012 Rn Open Problem [Guy86, HK92]: Let a with a 2 = 1. Prove Prx 1,1 n [ a, x • ∈ k k ∈{− } |h i| ≤ 1] 1 . ≥ 2 Open Problem (S. Srinivasan): Suppose g : 1, 1 n 2 , 1 where g(x) 2 , 1 if • {− } →± 3 ∈ 3 n x n and g(x) 1, 2 if n x n . Prove deg( f)=Ω(n). i=1 i ≥ 2 ∈ − − 3 i=1 i ≤− 2 P P In this workshop we will study the analysis of boolean functions and its applications to topics such as property testing, voting, pseudorandomness, Gaussian geometry and the hardness of approximation. Two recurring themes that we will see throughout the week are: The noisy hypercube graph is a small set expander. • Every boolean function has a “junta part” and a “Gaussian part”. • 1.1 The Fourier expansion Broadly speaking, the analysis of boolean functions is concerned with properties of boolean functions f : 1, 1 n 1, 1 viewed as multilinear polynomials over R. Consider the {− } → {− } majority function over 3 variables MAJ3(x) = sgn(x1 + x2 + x3). It is easy to check that MAJ (x) = 1 x + 1 x + 1 x 1 x x x , and this can be derived by summing 23 = 8 3 2 1 2 2 2 3 − 2 1 2 3 polynomials p : 1, 1 3 1, 0, 1 , one for each y 1, 1 3, where p (x) takes value y {− } → {− } ∈ {− } y MAJ3(x) when y = x and 0 otherwise. For example, 1 x1 1+ x2 1 x3 p( 1,1, 1)(x)= − − MAJ3( 1, 1, 1). − − 2 2 2 · − − Note that the final polynomial that results from expanding and simplifying the sum of py’s is indeed always multilinear (i.e. no variable xi occurs squared, or cubed, etc.) since x2 = 1 for bits x 1, 1 . The same interpolation procedure can be carried out for any i i ∈ {− } f : 1, 1 n R: {− } → Theorem 1 (Fourier expansion) Every f : 1, 1 n R can be uniquely expressed as {− } → a multilinear polynomial R, f(x)= c x , where each c R. S i S ∈ SX[n] iYS ⊆ ∈ ˆ We will write f(S) to denote the coefficient cS and χS(x) for the function i S xi, and call ˆ ∈ f(x)= S [n] f(S)χS (x) the Fourier expansion of f. We adopt the conventionQ that χ 1, ∅ ≡ ⊆ ˆ the identicallyP 1 function. We will write deg(f) to denote maxS [n] S : f(S) = 0 , and ⊆ {| | 6 } call this quantity the Fourier degree of f. 3 We will sometimes refer to χ (x) : 1, 1 n 1, 1 as the “parity-on-S” function, since S {− } → {− } it takes value 1 if there are an even number of 1 coordinates in x and 1 otherwise. − − Using the notation of Theorem 1, we have that MAJ\( 1 ) = 1 , MAJ\( 1, 2, 3 ) = 1 , 3 { } 2 3 { } − 2 MAJ\( 1, 2 ) = 0, and deg(MAJ ) = 3. 3 { } 3 We have already seen that every function f : 1, 1 n R can be expressed as a multilinear {− } → polynomial over R (via the interpolation procedure described for MAJ3); to complete the proof of Theorem 1 it remains to show uniqueness. Let V be the vector space of all functions n f : 1, 1 n R. Here we are viewing f as a 2n-dimensional vector in R2 , with each {− } → coordinate being the value of f on some input x 1, 1 n; if f is a boolean function this ∈ {− } is simply the truth table of f. Note that the parity functions χS(x) are all elements of V , and furthermore every f V can be expressed as a linear combination of them (i.e. the ∈ n n χS(x)’s are a spanning set for V ). Since there are 2 parity functions and dim(V ) = 2 , it follows that χ : S [n] is a basis for V , and this establishes the uniqueness of the { S ⊆ } Fourier expansion. Definition 2 (inner product) Let f, g : 1, 1 n 1, 1 . We define the inner prod- {− } → {− } uct between f and g as f(x) g(x) f, g := · = E [f(x)g(x)]. h i 2n x 1,1 n x X1,1 n ∈{− } ∈{− } n Note that this is simply the dot product between f and g viewed as vectors in R2 , normal- n n ized by a factor of 2− . Given this definition, every boolean function f : 1, 1 1, 1 n {− } → {− } is a unit vector in R2 since f,f = 1. We will also write f 2 to denote f,f , and more h i k k2 h i generally, f := E[ f(x) p]1/p. k kp | | Theorem 3 (orthonormality) The set of parity functions χS(x) : S [n] is an or- n { ⊆ } thonormal basis for R2 . That is, for every S, T [n], ⊆ 1 if S = T χ ,χ = h S T i 0 otherwise. Proof. First note that χ χ = χ since x x = x x2 = S · T S∆T i S i j T j i S∆T i j S T j x , where the final equality uses the factQ ∈ thatQx2∈= 1 for Qx ∈ 1, 1Q.∈ Next,∩ we i S∆T i i i ∈ {− } Qclaim∈ that 1 if U = E[χ ]= ∅ U 0 otherwise. noting that this implies the theorem since S∆T = iff S = T . Recall that we have defined ∅ χ to be the identically 1 function, and if U = then exactly half the inputs x 1, 1 n ∅ 6 ∅ ∈ {− } have χ (x) = 1 and the other half χ (x)= 1. U U − Proposition 4 (Fourier coefficient) Let f : 1, 1 n R. Then fˆ(S) = f,χ = {− } → h Si E[f(x)χS(x)]. 4 Proof. To see that this holds, we check that f,χ = fˆ(T )χ ,χ = fˆ(T ) χ ,χ = fˆ(S). h Si T S · h T Si D T [n] E TX[n] P⊆ ⊆ Here we have used the Fourier expansion of f for the first equality, linearity of the inner product for the second, and orthonormality of parity functions (Theorem 3) for the last. Next we have Plancherel’s theorem, which states that the inner product of f and g is precisely the dot product of their vectors of Fourier coefficients. Theorem 5 (Plancherel) Let f, g : 1, 1 n R. Then, f, g = fˆ(S)ˆg(S). {− } → h i S [n] P ⊆ Proof. Again we use the Fourier expansions of f and g to check that f, g = fˆ(S)χ , gˆ(T )χ = fˆ(S)ˆg(T ) χ ,χ = fˆ(S)ˆg(S). h i S T · h S T i D S [n] T [n] E XS XT SX[n] P⊆ P⊆ ⊆ The second equality holds by linearity of inner product, and the last by orthonormality. An important corollary of Plancherel’s theorem is Parseval’s identity: if f : 1, 1 n R, {− } → then f 2 = f,f = fˆ(S)2 (i.e. the Fourier transform preserves L -norm). In k k2 h i S [n] 2 P ⊆ ˆ 2 2 particular, if f is a boolean function then S [n] f(S) = E[f(x) ] = 1, which we may view as a probability distribution over the 2n possibleP ⊆ subsets S of [n]. Note that if f and g are boolean functions then f(x)g(x) = 1 iff f(x)= g(x), and so E[f(x)g(x)] = 1 2 dist(f, g), − · where dist(f, g)= Pr[f(x) = g(x)] is the normalized Hamming distance between f and g. 6 One of the advantages of analyzing f via its Fourier expansion is that this polynomial encodes a lot of combinatorial information about f, and these combinatorial quantities can be “read off” its Fourier coefficients easily. We give two basic examples now. Recall that for functions f : 1, 1 n R, the mean of f is E[f(x)] and its variance is Var(f) := {− } → E[f(x)2] E[f(x)]2. Note that if f is a boolean function then E[f(x)] measures the bias of − f towards 1 or 1, and Var(f) = 4 Pr[f(x) = 1] Pr[f(x) = 1]. If f has mean 0 and − · · − variance 1 we say that f is balanced, or unbiased. Proposition 6 (expectation and variance) Let f : 1, 1 n R. Then E[f(x)] = {− } → fˆ( ), and Var(f)= fˆ(S)2. ∅ S= P 6 ∅ Proof. For the first equality, we check that fˆ( ) = E[f(x)χ (x)] = E[f(x)].