View
4
Download
0
Category
Preview:
Citation preview
Fourier analysis of Boolean functions:Some beautiful examples
Ronald de Wolf
Centrum voor Wiskunde en Informatica
Amsterdam
Fourier analysis of Boolean functions: Some beautiful examples – p.1/13
Fourier analysis
Fourier analysis of Boolean functions: Some beautiful examples – p.2/13
Fourier analysis
Many applications in math, physics, engineering,
Fourier analysis of Boolean functions: Some beautiful examples – p.2/13
Fourier analysis
Many applications in math, physics, engineering,
. . . and in computer science
Fourier analysis of Boolean functions: Some beautiful examples – p.2/13
Fourier analysis
Many applications in math, physics, engineering,
. . . and in computer science:
Signal processing
Fourier analysis of Boolean functions: Some beautiful examples – p.2/13
Fourier analysis
Many applications in math, physics, engineering,
. . . and in computer science:
Signal processing
Data compression
Fourier analysis of Boolean functions: Some beautiful examples – p.2/13
Fourier analysis
Many applications in math, physics, engineering,
. . . and in computer science:
Signal processing
Data compression
Multiplying two polynomials
Fourier analysis of Boolean functions: Some beautiful examples – p.2/13
Fourier analysis
Many applications in math, physics, engineering,
. . . and in computer science:
Signal processing
Data compression
Multiplying two polynomials
These examples use Fourier analysis over cyclic groups
Fourier analysis of Boolean functions: Some beautiful examples – p.2/13
Fourier analysis
Many applications in math, physics, engineering,
. . . and in computer science:
Signal processing
Data compression
Multiplying two polynomials
These examples use Fourier analysis over cyclic groups
We will focus on Fourier analysis over the Boolean cube
Fourier analysis of Boolean functions: Some beautiful examples – p.2/13
Fourier analysis
Many applications in math, physics, engineering,
. . . and in computer science:
Signal processing
Data compression
Multiplying two polynomials
These examples use Fourier analysis over cyclic groups
We will focus on Fourier analysis over the Boolean cube= 0, 1n, set of all n-bit strings
Fourier analysis of Boolean functions: Some beautiful examples – p.2/13
This has been very useful in CS
Fourier analysis of Boolean functions: Some beautiful examples – p.3/13
This has been very useful in CS
Fourier coefficients measure correlations with parities
Fourier analysis of Boolean functions: Some beautiful examples – p.3/13
This has been very useful in CS
Fourier coefficients measure correlations with parities
Analysis of error-correcting codes
Fourier analysis of Boolean functions: Some beautiful examples – p.3/13
This has been very useful in CS
Fourier coefficients measure correlations with parities
Analysis of error-correcting codes
Learning a function from examples
Fourier analysis of Boolean functions: Some beautiful examples – p.3/13
This has been very useful in CS
Fourier coefficients measure correlations with parities
Analysis of error-correcting codes
Learning a function from examples
The influence of variables on a function
Fourier analysis of Boolean functions: Some beautiful examples – p.3/13
This has been very useful in CS
Fourier coefficients measure correlations with parities
Analysis of error-correcting codes
Learning a function from examples
The influence of variables on a function
Sensitivity of a function to noise on the inputs
Fourier analysis of Boolean functions: Some beautiful examples – p.3/13
This has been very useful in CS
Fourier coefficients measure correlations with parities
Analysis of error-correcting codes
Learning a function from examples
The influence of variables on a function
Sensitivity of a function to noise on the inputs
PCPs, NP-hardness of approximation
Fourier analysis of Boolean functions: Some beautiful examples – p.3/13
This has been very useful in CS
Fourier coefficients measure correlations with parities
Analysis of error-correcting codes
Learning a function from examples
The influence of variables on a function
Sensitivity of a function to noise on the inputs
PCPs, NP-hardness of approximation
Cryptography
Fourier analysis of Boolean functions: Some beautiful examples – p.3/13
This has been very useful in CS
Fourier coefficients measure correlations with parities
Analysis of error-correcting codes
Learning a function from examples
The influence of variables on a function
Sensitivity of a function to noise on the inputs
PCPs, NP-hardness of approximation
Cryptography
Lower bounds on communication complexity
Fourier analysis of Boolean functions: Some beautiful examples – p.3/13
This has been very useful in CS
Fourier coefficients measure correlations with parities
Analysis of error-correcting codes
Learning a function from examples
The influence of variables on a function
Sensitivity of a function to noise on the inputs
PCPs, NP-hardness of approximation
Cryptography
Lower bounds on communication complexity
Threshold phenomena in random graphs
Fourier analysis of Boolean functions: Some beautiful examples – p.3/13
This has been very useful in CS
Fourier coefficients measure correlations with parities
Analysis of error-correcting codes
Learning a function from examples
The influence of variables on a function
Sensitivity of a function to noise on the inputs
PCPs, NP-hardness of approximation
Cryptography
Lower bounds on communication complexity
Threshold phenomena in random graphs
Quantum computing
Fourier analysis of Boolean functions: Some beautiful examples – p.3/13
This has been very useful in CS
Fourier coefficients measure correlations with parities
Analysis of error-correcting codes
Learning a function from examples
The influence of variables on a function
Sensitivity of a function to noise on the inputs
PCPs, NP-hardness of approximation
Cryptography
Lower bounds on communication complexity
Threshold phenomena in random graphs
Quantum computing. . .
Fourier analysis of Boolean functions: Some beautiful examples – p.3/13
Fourier analysis over the Boolean cube
Fourier analysis of Boolean functions: Some beautiful examples – p.4/13
Fourier analysis over the Boolean cube
Consider the space of functions f : 0, 1n → R
Fourier analysis of Boolean functions: Some beautiful examples – p.4/13
Fourier analysis over the Boolean cube
Consider the space of functions f : 0, 1n → R, with
normalized inner product 〈f, g〉 =1
2n
∑
x∈0,1n
f(x)g(x)
Fourier analysis of Boolean functions: Some beautiful examples – p.4/13
Fourier analysis over the Boolean cube
Consider the space of functions f : 0, 1n → R, with
normalized inner product 〈f, g〉 =1
2n
∑
x∈0,1n
f(x)g(x)
The parity-functions χs(x) = (−1)x·s =∏
i:si=1(−1)xi
form an orthonormal basis of this space
Fourier analysis of Boolean functions: Some beautiful examples – p.4/13
Fourier analysis over the Boolean cube
Consider the space of functions f : 0, 1n → R, with
normalized inner product 〈f, g〉 =1
2n
∑
x∈0,1n
f(x)g(x)
The parity-functions χs(x) = (−1)x·s =∏
i:si=1(−1)xi
form an orthonormal basis of this space
Hence we can write f =∑
s∈0,1n
f(s)χs
Fourier analysis of Boolean functions: Some beautiful examples – p.4/13
Fourier analysis over the Boolean cube
Consider the space of functions f : 0, 1n → R, with
normalized inner product 〈f, g〉 =1
2n
∑
x∈0,1n
f(x)g(x)
The parity-functions χs(x) = (−1)x·s =∏
i:si=1(−1)xi
form an orthonormal basis of this space
Hence we can write f =∑
s∈0,1n
f(s)χs
with f(s) = 〈f, χs〉 =1
2n
∑
x∈0,1n
f(x)χs(x)
Fourier analysis of Boolean functions: Some beautiful examples – p.4/13
Fourier analysis over the Boolean cube
Consider the space of functions f : 0, 1n → R, with
normalized inner product 〈f, g〉 =1
2n
∑
x∈0,1n
f(x)g(x)
The parity-functions χs(x) = (−1)x·s =∏
i:si=1(−1)xi
form an orthonormal basis of this space
Hence we can write f =∑
s∈0,1n
f(s)χs
with f(s) = 〈f, χs〉 =1
2n
∑
x∈0,1n
f(x)χs(x)
Map f 7→ f is proportional to unitary (length-preserving)
Fourier analysis of Boolean functions: Some beautiful examples – p.4/13
Fourier analysis over the Boolean cube
Consider the space of functions f : 0, 1n → R, with
normalized inner product 〈f, g〉 =1
2n
∑
x∈0,1n
f(x)g(x)
The parity-functions χs(x) = (−1)x·s =∏
i:si=1(−1)xi
form an orthonormal basis of this space
Hence we can write f =∑
s∈0,1n
f(s)χs
with f(s) = 〈f, χs〉 =1
2n
∑
x∈0,1n
f(x)χs(x)
Map f 7→ f is proportional to unitary (length-preserving)
⇒1
2n
∑
x
f(x)2 =∑
s
f(s)2 (Parseval’s identity)
Fourier analysis of Boolean functions: Some beautiful examples – p.4/13
Examples
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00)
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x)
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1)
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
f(01) = −14 ,
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
f(01) = −14 , f(10) = −1
4 ,
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
f(01) = −14 , f(10) = −1
4 , f(11) = −14
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
f(01) = −14 , f(10) = −1
4 , f(11) = −14
Note: f(00) = Expx[f(x)]
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
f(01) = −14 , f(10) = −1
4 , f(11) = −14
Note: f(00) = Expx[f(x)], and f(00) =∑
s f(s)
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
f(01) = −14 , f(10) = −1
4 , f(11) = −14
Note: f(00) = Expx[f(x)], and f(00) =∑
s f(s)
Parseval:1
4
∑
x
f(x)2
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
f(01) = −14 , f(10) = −1
4 , f(11) = −14
Note: f(00) = Expx[f(x)], and f(00) =∑
s f(s)
Parseval:1
4
∑
x
f(x)2 =3
4
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
f(01) = −14 , f(10) = −1
4 , f(11) = −14
Note: f(00) = Expx[f(x)], and f(00) =∑
s f(s)
Parseval:1
4
∑
x
f(x)2 =3
4=
∑
s
f(s)2
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
f(01) = −14 , f(10) = −1
4 , f(11) = −14
Note: f(00) = Expx[f(x)], and f(00) =∑
s f(s)
Parseval:1
4
∑
x
f(x)2 =3
4=
∑
s
f(s)2
PARITY on n bits
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
f(01) = −14 , f(10) = −1
4 , f(11) = −14
Note: f(00) = Expx[f(x)], and f(00) =∑
s f(s)
Parseval:1
4
∑
x
f(x)2 =3
4=
∑
s
f(s)2
PARITY on n bits, with TRUE= −1, FALSE= +1:
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
f(01) = −14 , f(10) = −1
4 , f(11) = −14
Note: f(00) = Expx[f(x)], and f(00) =∑
s f(s)
Parseval:1
4
∑
x
f(x)2 =3
4=
∑
s
f(s)2
PARITY on n bits, with TRUE= −1, FALSE= +1:
f(x)
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
f(01) = −14 , f(10) = −1
4 , f(11) = −14
Note: f(00) = Expx[f(x)], and f(00) =∑
s f(s)
Parseval:1
4
∑
x
f(x)2 =3
4=
∑
s
f(s)2
PARITY on n bits, with TRUE= −1, FALSE= +1:
f(x) = χ1n(x) = (−1)|x|
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
f(01) = −14 , f(10) = −1
4 , f(11) = −14
Note: f(00) = Expx[f(x)], and f(00) =∑
s f(s)
Parseval:1
4
∑
x
f(x)2 =3
4=
∑
s
f(s)2
PARITY on n bits, with TRUE= −1, FALSE= +1:
f(x) = χ1n(x) = (−1)|x|, so f(1n) = 1
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
Examples
OR on 2 bits:
f(x1, x2) = OR(x1, x2) ∈ 0, 1
f(00) = 14
∑x∈0,1n f(x)χ00(x) = 1
4(0 + 1 + 1 + 1) = 34
f(01) = −14 , f(10) = −1
4 , f(11) = −14
Note: f(00) = Expx[f(x)], and f(00) =∑
s f(s)
Parseval:1
4
∑
x
f(x)2 =3
4=
∑
s
f(s)2
PARITY on n bits, with TRUE= −1, FALSE= +1:
f(x) = χ1n(x) = (−1)|x|, so f(1n) = 1
all other f(s) are 0
Fourier analysis of Boolean functions: Some beautiful examples – p.5/13
(1) Approximating functions with parities
Fourier analysis of Boolean functions: Some beautiful examples – p.6/13
(1) Approximating functions with parities
Suppose f : 0, 1n → ±1 has small Fourier degree d
Fourier analysis of Boolean functions: Some beautiful examples – p.6/13
(1) Approximating functions with parities
Suppose f : 0, 1n → ±1 has small Fourier degree d:
f =∑
s:|s|≤d
f(s)χs
Fourier analysis of Boolean functions: Some beautiful examples – p.6/13
(1) Approximating functions with parities
Suppose f : 0, 1n → ±1 has small Fourier degree d:
f =∑
s:|s|≤d
f(s)χs
Then there exists a parity-function on at most d bits thathas non-trivial correlation with f
Fourier analysis of Boolean functions: Some beautiful examples – p.6/13
(1) Approximating functions with parities
Suppose f : 0, 1n → ±1 has small Fourier degree d:
f =∑
s:|s|≤d
f(s)χs
Then there exists a parity-function on at most d bits thathas non-trivial correlation with f
Why?
Fourier analysis of Boolean functions: Some beautiful examples – p.6/13
(1) Approximating functions with parities
Suppose f : 0, 1n → ±1 has small Fourier degree d:
f =∑
s:|s|≤d
f(s)χs
Then there exists a parity-function on at most d bits thathas non-trivial correlation with f
Why?∑
s:|s|≤d
f(s)2
Fourier analysis of Boolean functions: Some beautiful examples – p.6/13
(1) Approximating functions with parities
Suppose f : 0, 1n → ±1 has small Fourier degree d:
f =∑
s:|s|≤d
f(s)χs
Then there exists a parity-function on at most d bits thathas non-trivial correlation with f
Why?∑
s:|s|≤d
f(s)2 =1
2n
∑
x∈0,1n
f(x)2 = 1 (Parseval).
Fourier analysis of Boolean functions: Some beautiful examples – p.6/13
(1) Approximating functions with parities
Suppose f : 0, 1n → ±1 has small Fourier degree d:
f =∑
s:|s|≤d
f(s)χs
Then there exists a parity-function on at most d bits thathas non-trivial correlation with f
Why?∑
s:|s|≤d
f(s)2 =1
2n
∑
x∈0,1n
f(x)2 = 1 (Parseval).
This is a sum over ≤ nd terms.
Fourier analysis of Boolean functions: Some beautiful examples – p.6/13
(1) Approximating functions with parities
Suppose f : 0, 1n → ±1 has small Fourier degree d:
f =∑
s:|s|≤d
f(s)χs
Then there exists a parity-function on at most d bits thathas non-trivial correlation with f
Why?∑
s:|s|≤d
f(s)2 =1
2n
∑
x∈0,1n
f(x)2 = 1 (Parseval).
This is a sum over ≤ nd terms. Hence ∃s with
Fourier analysis of Boolean functions: Some beautiful examples – p.6/13
(1) Approximating functions with parities
Suppose f : 0, 1n → ±1 has small Fourier degree d:
f =∑
s:|s|≤d
f(s)χs
Then there exists a parity-function on at most d bits thathas non-trivial correlation with f
Why?∑
s:|s|≤d
f(s)2 =1
2n
∑
x∈0,1n
f(x)2 = 1 (Parseval).
This is a sum over ≤ nd terms. Hence ∃s with1
nd≤ f(s)2
Fourier analysis of Boolean functions: Some beautiful examples – p.6/13
(1) Approximating functions with parities
Suppose f : 0, 1n → ±1 has small Fourier degree d:
f =∑
s:|s|≤d
f(s)χs
Then there exists a parity-function on at most d bits thathas non-trivial correlation with f
Why?∑
s:|s|≤d
f(s)2 =1
2n
∑
x∈0,1n
f(x)2 = 1 (Parseval).
This is a sum over ≤ nd terms. Hence ∃s with1
nd≤ f(s)2 = |
1
2n
∑
x∈0,1n
f(x)χs(x)|2
Fourier analysis of Boolean functions: Some beautiful examples – p.6/13
(1) Approximating functions with parities
Suppose f : 0, 1n → ±1 has small Fourier degree d:
f =∑
s:|s|≤d
f(s)χs
Then there exists a parity-function on at most d bits thathas non-trivial correlation with f
Why?∑
s:|s|≤d
f(s)2 =1
2n
∑
x∈0,1n
f(x)2 = 1 (Parseval).
This is a sum over ≤ nd terms. Hence ∃s with1
nd≤ f(s)2 = |
1
2n
∑
x∈0,1n
f(x)χs(x)|2
So χs (or its negation) has non-trivial correlation with f
Fourier analysis of Boolean functions: Some beautiful examples – p.6/13
(2) Learning from uniform examples
Fourier analysis of Boolean functions: Some beautiful examples – p.7/13
(2) Learning from uniform examples
A Fourier coefficient is just a uniform expectation
Fourier analysis of Boolean functions: Some beautiful examples – p.7/13
(2) Learning from uniform examples
A Fourier coefficient is just a uniform expectation:
f(s) =1
2n
∑
x∈0,1n
f(x)χs(x)
Fourier analysis of Boolean functions: Some beautiful examples – p.7/13
(2) Learning from uniform examples
A Fourier coefficient is just a uniform expectation:
f(s) =1
2n
∑
x∈0,1n
f(x)χs(x) = Expx[f(x)χs(x)]
Fourier analysis of Boolean functions: Some beautiful examples – p.7/13
(2) Learning from uniform examples
A Fourier coefficient is just a uniform expectation:
f(s) =1
2n
∑
x∈0,1n
f(x)χs(x) = Expx[f(x)χs(x)]
We can approximate this given uniformly randomexamples (x1, f(x1)), . . . , (xm, f(xm)):
Fourier analysis of Boolean functions: Some beautiful examples – p.7/13
(2) Learning from uniform examples
A Fourier coefficient is just a uniform expectation:
f(s) =1
2n
∑
x∈0,1n
f(x)χs(x) = Expx[f(x)χs(x)]
We can approximate this given uniformly randomexamples (x1, f(x1)), . . . , (xm, f(xm)):1
m
m∑
i=1
f(xi)χs(xi)
Fourier analysis of Boolean functions: Some beautiful examples – p.7/13
(2) Learning from uniform examples
A Fourier coefficient is just a uniform expectation:
f(s) =1
2n
∑
x∈0,1n
f(x)χs(x) = Expx[f(x)χs(x)]
We can approximate this given uniformly randomexamples (x1, f(x1)), . . . , (xm, f(xm)):1
m
m∑
i=1
f(xi)χs(xi) → f(s)
Fourier analysis of Boolean functions: Some beautiful examples – p.7/13
(2) Learning from uniform examples
A Fourier coefficient is just a uniform expectation:
f(s) =1
2n
∑
x∈0,1n
f(x)χs(x) = Expx[f(x)χs(x)]
We can approximate this given uniformly randomexamples (x1, f(x1)), . . . , (xm, f(xm)):1
m
m∑
i=1
f(xi)χs(xi) → f(s)
Converges fast if |f(s)| is not too small (Chernoff)
Fourier analysis of Boolean functions: Some beautiful examples – p.7/13
(2) Learning from uniform examples
A Fourier coefficient is just a uniform expectation:
f(s) =1
2n
∑
x∈0,1n
f(x)χs(x) = Expx[f(x)χs(x)]
We can approximate this given uniformly randomexamples (x1, f(x1)), . . . , (xm, f(xm)):1
m
m∑
i=1
f(xi)χs(xi) → f(s)
Converges fast if |f(s)| is not too small (Chernoff)
Hence we can quickly learn (approximate) an unknownfunction f that is dominated by a few large coefficients
Fourier analysis of Boolean functions: Some beautiful examples – p.7/13
(2) Learning from uniform examples
A Fourier coefficient is just a uniform expectation:
f(s) =1
2n
∑
x∈0,1n
f(x)χs(x) = Expx[f(x)χs(x)]
We can approximate this given uniformly randomexamples (x1, f(x1)), . . . , (xm, f(xm)):1
m
m∑
i=1
f(xi)χs(xi) → f(s)
Converges fast if |f(s)| is not too small (Chernoff)
Hence we can quickly learn (approximate) an unknownfunction f that is dominated by a few large coefficients(example from LMN 89: AC0-circuits)
Fourier analysis of Boolean functions: Some beautiful examples – p.7/13
(3) List-decoding of Hadamard code
Fourier analysis of Boolean functions: Some beautiful examples – p.8/13
(3) List-decoding of Hadamard code
Error-correcting code: E : 0, 1n → 0, 1m
Fourier analysis of Boolean functions: Some beautiful examples – p.8/13
(3) List-decoding of Hadamard code
Error-correcting code: E : 0, 1n → 0, 1m
If all codewords have distance d(E(x), E(y)) ≥ 2e + 1,then we can uniquely recover x from corruptedcodeword w ∈ 0, 1m with e errors
Fourier analysis of Boolean functions: Some beautiful examples – p.8/13
(3) List-decoding of Hadamard code
Error-correcting code: E : 0, 1n → 0, 1m
If all codewords have distance d(E(x), E(y)) ≥ 2e + 1,then we can uniquely recover x from corruptedcodeword w ∈ 0, 1m with e errors (d(w,E(x)) = e)
Fourier analysis of Boolean functions: Some beautiful examples – p.8/13
(3) List-decoding of Hadamard code
Error-correcting code: E : 0, 1n → 0, 1m
If all codewords have distance d(E(x), E(y)) ≥ 2e + 1,then we can uniquely recover x from corruptedcodeword w ∈ 0, 1m with e errors (d(w,E(x)) = e)
Hadamard code (m = 2n):
Fourier analysis of Boolean functions: Some beautiful examples – p.8/13
(3) List-decoding of Hadamard code
Error-correcting code: E : 0, 1n → 0, 1m
If all codewords have distance d(E(x), E(y)) ≥ 2e + 1,then we can uniquely recover x from corruptedcodeword w ∈ 0, 1m with e errors (d(w,E(x)) = e)
Hadamard code (m = 2n): E(x)y = x · y mod 2
Fourier analysis of Boolean functions: Some beautiful examples – p.8/13
(3) List-decoding of Hadamard code
Error-correcting code: E : 0, 1n → 0, 1m
If all codewords have distance d(E(x), E(y)) ≥ 2e + 1,then we can uniquely recover x from corruptedcodeword w ∈ 0, 1m with e errors (d(w,E(x)) = e)
Hadamard code (m = 2n): E(x)y = x · y mod 2
All codewords are at distance m/2
Fourier analysis of Boolean functions: Some beautiful examples – p.8/13
(3) List-decoding of Hadamard code
Error-correcting code: E : 0, 1n → 0, 1m
If all codewords have distance d(E(x), E(y)) ≥ 2e + 1,then we can uniquely recover x from corruptedcodeword w ∈ 0, 1m with e errors (d(w,E(x)) = e)
Hadamard code (m = 2n): E(x)y = x · y mod 2
All codewords are at distance m/2 ⇒ given w withe < m/4 errors, there is a unique x with d(w,E(x)) ≤ e
Fourier analysis of Boolean functions: Some beautiful examples – p.8/13
(3) List-decoding of Hadamard code
Error-correcting code: E : 0, 1n → 0, 1m
If all codewords have distance d(E(x), E(y)) ≥ 2e + 1,then we can uniquely recover x from corruptedcodeword w ∈ 0, 1m with e errors (d(w,E(x)) = e)
Hadamard code (m = 2n): E(x)y = x · y mod 2
All codewords are at distance m/2 ⇒ given w withe < m/4 errors, there is a unique x with d(w,E(x)) ≤ e
Problem: if e ≥ m/4 errors, then there may be manydifferent x with d(w,E(x)) ≤ e
Fourier analysis of Boolean functions: Some beautiful examples – p.8/13
(3) List-decoding of Hadamard code
Error-correcting code: E : 0, 1n → 0, 1m
If all codewords have distance d(E(x), E(y)) ≥ 2e + 1,then we can uniquely recover x from corruptedcodeword w ∈ 0, 1m with e errors (d(w,E(x)) = e)
Hadamard code (m = 2n): E(x)y = x · y mod 2
All codewords are at distance m/2 ⇒ given w withe < m/4 errors, there is a unique x with d(w,E(x)) ≤ e
Problem: if e ≥ m/4 errors, then there may be manydifferent x with d(w,E(x)) ≤ e
Example: w = 03m/41m/4 could’ve come from codewordsE(0n) = 0m or E(10n−1) = 0m/21m/2
Fourier analysis of Boolean functions: Some beautiful examples – p.8/13
(3) List-decoding of Hadamard code
Error-correcting code: E : 0, 1n → 0, 1m
If all codewords have distance d(E(x), E(y)) ≥ 2e + 1,then we can uniquely recover x from corruptedcodeword w ∈ 0, 1m with e errors (d(w,E(x)) = e)
Hadamard code (m = 2n): E(x)y = x · y mod 2
All codewords are at distance m/2 ⇒ given w withe < m/4 errors, there is a unique x with d(w,E(x)) ≤ e
Problem: if e ≥ m/4 errors, then there may be manydifferent x with d(w,E(x)) ≤ e
Example: w = 03m/41m/4 could’ve come from codewordsE(0n) = 0m or E(10n−1) = 0m/21m/2
List-decoding: output the whole list (hopefully small)
Fourier analysis of Boolean functions: Some beautiful examples – p.8/13
List-decoding of Hadamard code (cntd)
Fourier analysis of Boolean functions: Some beautiful examples – p.9/13
List-decoding of Hadamard code (cntd)
List-decoding: given corrupted codeword w ∈ 0, 1m
and error bound e, output list x : d(w,E(x)) ≤ e
Fourier analysis of Boolean functions: Some beautiful examples – p.9/13
List-decoding of Hadamard code (cntd)
List-decoding: given corrupted codeword w ∈ 0, 1m
and error bound e, output list x : d(w,E(x)) ≤ e
For Hadamard code: if e ≤ (1/2 − ε)m,then this list has only O(1/ε2) elements!
Fourier analysis of Boolean functions: Some beautiful examples – p.9/13
List-decoding of Hadamard code (cntd)
List-decoding: given corrupted codeword w ∈ 0, 1m
and error bound e, output list x : d(w,E(x)) ≤ e
For Hadamard code: if e ≤ (1/2 − ε)m,then this list has only O(1/ε2) elements!
Why?
Fourier analysis of Boolean functions: Some beautiful examples – p.9/13
List-decoding of Hadamard code (cntd)
List-decoding: given corrupted codeword w ∈ 0, 1m
and error bound e, output list x : d(w,E(x)) ≤ e
For Hadamard code: if e ≤ (1/2 − ε)m,then this list has only O(1/ε2) elements!
Why? Fourier analysis!
Fourier analysis of Boolean functions: Some beautiful examples – p.9/13
List-decoding of Hadamard code (cntd)
List-decoding: given corrupted codeword w ∈ 0, 1m
and error bound e, output list x : d(w,E(x)) ≤ e
For Hadamard code: if e ≤ (1/2 − ε)m,then this list has only O(1/ε2) elements!
Why? Fourier analysis!1. View w as function w : 0, 1n → ±1, and E(s) = χs
Fourier analysis of Boolean functions: Some beautiful examples – p.9/13
List-decoding of Hadamard code (cntd)
List-decoding: given corrupted codeword w ∈ 0, 1m
and error bound e, output list x : d(w,E(x)) ≤ e
For Hadamard code: if e ≤ (1/2 − ε)m,then this list has only O(1/ε2) elements!
Why? Fourier analysis!1. View w as function w : 0, 1n → ±1, and E(s) = χs
2. If d(w,E(s)) ≤ (1/2 − ε)m, then w(s) ≥ 2ε
Fourier analysis of Boolean functions: Some beautiful examples – p.9/13
List-decoding of Hadamard code (cntd)
List-decoding: given corrupted codeword w ∈ 0, 1m
and error bound e, output list x : d(w,E(x)) ≤ e
For Hadamard code: if e ≤ (1/2 − ε)m,then this list has only O(1/ε2) elements!
Why? Fourier analysis!1. View w as function w : 0, 1n → ±1, and E(s) = χs
2. If d(w,E(s)) ≤ (1/2 − ε)m, then w(s) ≥ 2ε
3.∑
s w(s)2 = 1 (by Parseval)
Fourier analysis of Boolean functions: Some beautiful examples – p.9/13
List-decoding of Hadamard code (cntd)
List-decoding: given corrupted codeword w ∈ 0, 1m
and error bound e, output list x : d(w,E(x)) ≤ e
For Hadamard code: if e ≤ (1/2 − ε)m,then this list has only O(1/ε2) elements!
Why? Fourier analysis!1. View w as function w : 0, 1n → ±1, and E(s) = χs
2. If d(w,E(s)) ≤ (1/2 − ε)m, then w(s) ≥ 2ε
3.∑
s w(s)2 = 1 (by Parseval),hence at most 1
4ε2 different s satisfy w(s) ≥ 2ε
Fourier analysis of Boolean functions: Some beautiful examples – p.9/13
List-decoding of Hadamard code (cntd)
List-decoding: given corrupted codeword w ∈ 0, 1m
and error bound e, output list x : d(w,E(x)) ≤ e
For Hadamard code: if e ≤ (1/2 − ε)m,then this list has only O(1/ε2) elements!
Why? Fourier analysis!1. View w as function w : 0, 1n → ±1, and E(s) = χs
2. If d(w,E(s)) ≤ (1/2 − ε)m, then w(s) ≥ 2ε
3.∑
s w(s)2 = 1 (by Parseval),hence at most 1
4ε2 different s satisfy w(s) ≥ 2ε
Goldreich and Levin show how to find this list efficiently
Fourier analysis of Boolean functions: Some beautiful examples – p.9/13
List-decoding of Hadamard code (cntd)
List-decoding: given corrupted codeword w ∈ 0, 1m
and error bound e, output list x : d(w,E(x)) ≤ e
For Hadamard code: if e ≤ (1/2 − ε)m,then this list has only O(1/ε2) elements!
Why? Fourier analysis!1. View w as function w : 0, 1n → ±1, and E(s) = χs
2. If d(w,E(s)) ≤ (1/2 − ε)m, then w(s) ≥ 2ε
3.∑
s w(s)2 = 1 (by Parseval),hence at most 1
4ε2 different s satisfy w(s) ≥ 2ε
Goldreich and Levin show how to find this list efficiently
There are codes with much better rate that are stillefficiently list-decodable
Fourier analysis of Boolean functions: Some beautiful examples – p.9/13
List-decoding of Hadamard code (cntd)
List-decoding: given corrupted codeword w ∈ 0, 1m
and error bound e, output list x : d(w,E(x)) ≤ e
For Hadamard code: if e ≤ (1/2 − ε)m,then this list has only O(1/ε2) elements!
Why? Fourier analysis!1. View w as function w : 0, 1n → ±1, and E(s) = χs
2. If d(w,E(s)) ≤ (1/2 − ε)m, then w(s) ≥ 2ε
3.∑
s w(s)2 = 1 (by Parseval),hence at most 1
4ε2 different s satisfy w(s) ≥ 2ε
Goldreich and Levin show how to find this list efficiently
There are codes with much better rate that are stillefficiently list-decodable (e.g. Reed-Solomon)
Fourier analysis of Boolean functions: Some beautiful examples – p.9/13
(4) Influence of variables
Fourier analysis of Boolean functions: Some beautiful examples – p.10/13
(4) Influence of variables
Consider a Boolean function f : 0, 1n → 0, 1
Fourier analysis of Boolean functions: Some beautiful examples – p.10/13
(4) Influence of variables
Consider a Boolean function f : 0, 1n → 0, 1
The influence of variable i is the probability that xi
determines the function value
Fourier analysis of Boolean functions: Some beautiful examples – p.10/13
(4) Influence of variables
Consider a Boolean function f : 0, 1n → 0, 1
The influence of variable i is the probability that xi
determines the function value:
Inff (i) = Prx∈0,1n
[f(x) 6= f(x ⊕ ei)]
Fourier analysis of Boolean functions: Some beautiful examples – p.10/13
(4) Influence of variables
Consider a Boolean function f : 0, 1n → 0, 1
The influence of variable i is the probability that xi
determines the function value:
Inff (i) = Prx∈0,1n
[f(x) 6= f(x ⊕ ei)]
For things like voting and distributed coin-flipping:would like to find a balanced f where each Inff (i) ≈ 1/n
Fourier analysis of Boolean functions: Some beautiful examples – p.10/13
(4) Influence of variables
Consider a Boolean function f : 0, 1n → 0, 1
The influence of variable i is the probability that xi
determines the function value:
Inff (i) = Prx∈0,1n
[f(x) 6= f(x ⊕ ei)]
For things like voting and distributed coin-flipping:would like to find a balanced f where each Inff (i) ≈ 1/n
KKL 88: if f is balanced, thenthere always is an i with Inff (i) ≥ log(n)/n
Fourier analysis of Boolean functions: Some beautiful examples – p.10/13
(4) Influence of variables
Consider a Boolean function f : 0, 1n → 0, 1
The influence of variable i is the probability that xi
determines the function value:
Inff (i) = Prx∈0,1n
[f(x) 6= f(x ⊕ ei)]
For things like voting and distributed coin-flipping:would like to find a balanced f where each Inff (i) ≈ 1/n
KKL 88: if f is balanced, thenthere always is an i with Inff (i) ≥ log(n)/n
This implies there is a set of O(n/ log(n)) variables thatcontrols f with high probability
Fourier analysis of Boolean functions: Some beautiful examples – p.10/13
The KKL proof
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei)
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1 , and fi(s) = 0 if si = 0
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1 , and fi(s) = 0 if si = 0
Inff (i)
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1 , and fi(s) = 0 if si = 0
Inff (i) = Pr[fi 6= 0]
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1 , and fi(s) = 0 if si = 0
Inff (i) = Pr[fi 6= 0] = Exp[f2i ]
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1 , and fi(s) = 0 if si = 0
Inff (i) = Pr[fi 6= 0] = Exp[f2i ] =
∑
s
fi(s)2
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1 , and fi(s) = 0 if si = 0
Inff (i) = Pr[fi 6= 0] = Exp[f2i ] =
∑
s
fi(s)2 = 4
∑
s:si=1
f(s)2
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1 , and fi(s) = 0 if si = 0
Inff (i) = Pr[fi 6= 0] = Exp[f2i ] =
∑
s
fi(s)2 = 4
∑
s:si=1
f(s)2
If L =∑
s:|s|>log n f(s)2 ≥ 1/3
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1 , and fi(s) = 0 if si = 0
Inff (i) = Pr[fi 6= 0] = Exp[f2i ] =
∑
s
fi(s)2 = 4
∑
s:si=1
f(s)2
If L =∑
s:|s|>log n f(s)2 ≥ 1/3, then∑n
i=1 Inff (i)
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1 , and fi(s) = 0 if si = 0
Inff (i) = Pr[fi 6= 0] = Exp[f2i ] =
∑
s
fi(s)2 = 4
∑
s:si=1
f(s)2
If L =∑
s:|s|>log n f(s)2 ≥ 1/3, then∑n
i=1 Inff (i)
= 4∑
s |s|f(s)2
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1 , and fi(s) = 0 if si = 0
Inff (i) = Pr[fi 6= 0] = Exp[f2i ] =
∑
s
fi(s)2 = 4
∑
s:si=1
f(s)2
If L =∑
s:|s|>log n f(s)2 ≥ 1/3, then∑n
i=1 Inff (i)
= 4∑
s |s|f(s)2 ≥ Ω(log n)
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1 , and fi(s) = 0 if si = 0
Inff (i) = Pr[fi 6= 0] = Exp[f2i ] =
∑
s
fi(s)2 = 4
∑
s:si=1
f(s)2
If L =∑
s:|s|>log n f(s)2 ≥ 1/3, then∑n
i=1 Inff (i)
= 4∑
s |s|f(s)2 ≥ Ω(log n) ⇒ maxi Inff (i) ≥ Ω(log(n)/n)
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1 , and fi(s) = 0 if si = 0
Inff (i) = Pr[fi 6= 0] = Exp[f2i ] =
∑
s
fi(s)2 = 4
∑
s:si=1
f(s)2
If L =∑
s:|s|>log n f(s)2 ≥ 1/3, then∑n
i=1 Inff (i)
= 4∑
s |s|f(s)2 ≥ Ω(log n) ⇒ maxi Inff (i) ≥ Ω(log(n)/n)
If L < 1/3, then use KKL inequality (special case ofBonami-Beckner):
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1 , and fi(s) = 0 if si = 0
Inff (i) = Pr[fi 6= 0] = Exp[f2i ] =
∑
s
fi(s)2 = 4
∑
s:si=1
f(s)2
If L =∑
s:|s|>log n f(s)2 ≥ 1/3, then∑n
i=1 Inff (i)
= 4∑
s |s|f(s)2 ≥ Ω(log n) ⇒ maxi Inff (i) ≥ Ω(log(n)/n)
If L < 1/3, then use KKL inequality (special case ofBonami-Beckner): ∀g : 0, 1n → −1, 0,+1, δ ∈ [0, 1]
∑
s∈0,1n
δ|s|g(s)2 ≤ Pr[g 6= 0]2/(1+δ)
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
The KKL proof
Define fi(x) = f(x) − f(x ⊕ ei) ∈ −1, 0,+1
Then fi(s) = 2f(s) if si = 1 , and fi(s) = 0 if si = 0
Inff (i) = Pr[fi 6= 0] = Exp[f2i ] =
∑
s
fi(s)2 = 4
∑
s:si=1
f(s)2
If L =∑
s:|s|>log n f(s)2 ≥ 1/3, then∑n
i=1 Inff (i)
= 4∑
s |s|f(s)2 ≥ Ω(log n) ⇒ maxi Inff (i) ≥ Ω(log(n)/n)
If L < 1/3, then use KKL inequality (special case ofBonami-Beckner): ∀g : 0, 1n → −1, 0,+1, δ ∈ [0, 1]
∑
s∈0,1n
δ|s|g(s)2 ≤ Pr[g 6= 0]2/(1+δ)
A calculation shows maxi Inff (i) ≥ Ω(log(n)/n)
Fourier analysis of Boolean functions: Some beautiful examples – p.11/13
Summary
Fourier analysis of Boolean functions: Some beautiful examples – p.12/13
Summary
Fourier analysis of Boolean functions is an increasinglyprominent tool in theoretical computer science
Fourier analysis of Boolean functions: Some beautiful examples – p.12/13
Summary
Fourier analysis of Boolean functions is an increasinglyprominent tool in theoretical computer science
We showed a few simple but beautiful examples:
Fourier analysis of Boolean functions: Some beautiful examples – p.12/13
Summary
Fourier analysis of Boolean functions is an increasinglyprominent tool in theoretical computer science
We showed a few simple but beautiful examples:
1. Approximating low-degree functions by parities
Fourier analysis of Boolean functions: Some beautiful examples – p.12/13
Summary
Fourier analysis of Boolean functions is an increasinglyprominent tool in theoretical computer science
We showed a few simple but beautiful examples:
1. Approximating low-degree functions by parities
2. List-decoding of Hadamard codes
Fourier analysis of Boolean functions: Some beautiful examples – p.12/13
Summary
Fourier analysis of Boolean functions is an increasinglyprominent tool in theoretical computer science
We showed a few simple but beautiful examples:
1. Approximating low-degree functions by parities
2. List-decoding of Hadamard codes
3. Learning under the uniform distribution
Fourier analysis of Boolean functions: Some beautiful examples – p.12/13
Summary
Fourier analysis of Boolean functions is an increasinglyprominent tool in theoretical computer science
We showed a few simple but beautiful examples:
1. Approximating low-degree functions by parities
2. List-decoding of Hadamard codes
3. Learning under the uniform distribution
4. The influence of variables on Boolean functions
Fourier analysis of Boolean functions: Some beautiful examples – p.12/13
Warning: these are powerful techniques!
Fourier analysis of Boolean functions: Some beautiful examples – p.13/13
Recommended