Fourier analysis of Boolean functions: Some beautiful examples - - PowerPoint PPT Presentation

fourier analysis of boolean functions some beautiful
SMART_READER_LITE
LIVE PREVIEW

Fourier analysis of Boolean functions: Some beautiful examples - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Fourier analysis

Fourier analysis of Boolean functions: Some beautiful examples – p.2/13

slide-3
SLIDE 3

Fourier analysis

Many applications in math, physics, engineering,

Fourier analysis of Boolean functions: Some beautiful examples – p.2/13

slide-4
SLIDE 4

Fourier analysis

Many applications in math, physics, engineering, . . . and in computer science

Fourier analysis of Boolean functions: Some beautiful examples – p.2/13

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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, 1}n, set of all n-bit strings

Fourier analysis of Boolean functions: Some beautiful examples – p.2/13

slide-11
SLIDE 11

This has been very useful in CS

Fourier analysis of Boolean functions: Some beautiful examples – p.3/13

slide-12
SLIDE 12

This has been very useful in CS

Fourier coefficients measure correlations with parities

Fourier analysis of Boolean functions: Some beautiful examples – p.3/13

slide-13
SLIDE 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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

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

slide-20
SLIDE 20

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

slide-21
SLIDE 21

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

slide-22
SLIDE 22

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

slide-23
SLIDE 23

Fourier analysis over the Boolean cube

Fourier analysis of Boolean functions: Some beautiful examples – p.4/13

slide-24
SLIDE 24

Fourier analysis over the Boolean cube

Consider the space of functions f : {0, 1}n → R

Fourier analysis of Boolean functions: Some beautiful examples – p.4/13

slide-25
SLIDE 25

Fourier analysis over the Boolean cube

Consider the space of functions f : {0, 1}n → R, with normalized inner product f, g = 1

2n

  • x∈{0,1}n

f(x)g(x)

Fourier analysis of Boolean functions: Some beautiful examples – p.4/13

slide-26
SLIDE 26

Fourier analysis over the Boolean cube

Consider the space of functions f : {0, 1}n → R, with normalized inner product f, g = 1

2n

  • x∈{0,1}n

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

slide-27
SLIDE 27

Fourier analysis over the Boolean cube

Consider the space of functions f : {0, 1}n → R, with normalized inner product f, g = 1

2n

  • x∈{0,1}n

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,1}n
  • f(s)χs

Fourier analysis of Boolean functions: Some beautiful examples – p.4/13

slide-28
SLIDE 28

Fourier analysis over the Boolean cube

Consider the space of functions f : {0, 1}n → R, with normalized inner product f, g = 1

2n

  • x∈{0,1}n

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,1}n
  • f(s)χs

with

f(s) = f, χs = 1 2n

  • x∈{0,1}n

f(x)χs(x)

Fourier analysis of Boolean functions: Some beautiful examples – p.4/13

slide-29
SLIDE 29

Fourier analysis over the Boolean cube

Consider the space of functions f : {0, 1}n → R, with normalized inner product f, g = 1

2n

  • x∈{0,1}n

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,1}n
  • f(s)χs

with

f(s) = f, χs = 1 2n

  • x∈{0,1}n

f(x)χs(x)

Map f →

f is proportional to unitary (length-preserving)

Fourier analysis of Boolean functions: Some beautiful examples – p.4/13

slide-30
SLIDE 30

Fourier analysis over the Boolean cube

Consider the space of functions f : {0, 1}n → R, with normalized inner product f, g = 1

2n

  • x∈{0,1}n

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,1}n
  • f(s)χs

with

f(s) = f, χs = 1 2n

  • x∈{0,1}n

f(x)χs(x)

Map f →

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

slide-31
SLIDE 31

Examples

Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

slide-32
SLIDE 32

Examples

OR on 2 bits:

Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

slide-33
SLIDE 33

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

slide-34
SLIDE 34

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

slide-35
SLIDE 35

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x)

Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

slide-36
SLIDE 36

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1)

Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

slide-37
SLIDE 37

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

slide-38
SLIDE 38

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

  • f(01) = −1

4,

Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

slide-39
SLIDE 39

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

  • f(01) = −1

4,

f(10) = −1

4,

Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

slide-40
SLIDE 40

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

  • f(01) = −1

4,

f(10) = −1

4,

f(11) = −1

4

Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

slide-41
SLIDE 41

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

  • f(01) = −1

4,

f(10) = −1

4,

f(11) = −1

4

Note:

f(00) = Expx[f(x)]

Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

slide-42
SLIDE 42

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

  • f(01) = −1

4,

f(10) = −1

4,

f(11) = −1

4

Note:

f(00) = Expx[f(x)], and f(00) =

s

f(s)

Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

slide-43
SLIDE 43

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

  • f(01) = −1

4,

f(10) = −1

4,

f(11) = −1

4

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

slide-44
SLIDE 44

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

  • f(01) = −1

4,

f(10) = −1

4,

f(11) = −1

4

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

slide-45
SLIDE 45

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

  • f(01) = −1

4,

f(10) = −1

4,

f(11) = −1

4

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

slide-46
SLIDE 46

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

  • f(01) = −1

4,

f(10) = −1

4,

f(11) = −1

4

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

slide-47
SLIDE 47

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

  • f(01) = −1

4,

f(10) = −1

4,

f(11) = −1

4

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

slide-48
SLIDE 48

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

  • f(01) = −1

4,

f(10) = −1

4,

f(11) = −1

4

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

slide-49
SLIDE 49

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

  • f(01) = −1

4,

f(10) = −1

4,

f(11) = −1

4

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

slide-50
SLIDE 50

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

  • f(01) = −1

4,

f(10) = −1

4,

f(11) = −1

4

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

slide-51
SLIDE 51

Examples

OR on 2 bits:

f(x1, x2) = OR(x1, x2) ∈ {0, 1}

  • f(00) = 1

4

  • x∈{0,1}n f(x)χ00(x) = 1

4(0 + 1 + 1 + 1) = 3 4

  • f(01) = −1

4,

f(10) = −1

4,

f(11) = −1

4

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

slide-52
SLIDE 52

(1) Approximating functions with parities

Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

slide-53
SLIDE 53

(1) Approximating functions with parities

Suppose f : {0, 1}n → {±1} has small Fourier degree d

Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

slide-54
SLIDE 54

(1) Approximating functions with parities

Suppose f : {0, 1}n → {±1} has small Fourier degree d:

f =

  • s:|s|≤d
  • f(s)χs

Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

slide-55
SLIDE 55

(1) Approximating functions with parities

Suppose f : {0, 1}n → {±1} has small Fourier degree d:

f =

  • s:|s|≤d
  • f(s)χs

Then there exists a parity-function on at most d bits that has non-trivial correlation with f

Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

slide-56
SLIDE 56

(1) Approximating functions with parities

Suppose f : {0, 1}n → {±1} has small Fourier degree d:

f =

  • s:|s|≤d
  • f(s)χs

Then there exists a parity-function on at most d bits that has non-trivial correlation with f Why?

Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

slide-57
SLIDE 57

(1) Approximating functions with parities

Suppose f : {0, 1}n → {±1} has small Fourier degree d:

f =

  • s:|s|≤d
  • f(s)χs

Then there exists a parity-function on at most d bits that has non-trivial correlation with f Why?

  • s:|s|≤d
  • f(s)2

Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

slide-58
SLIDE 58

(1) Approximating functions with parities

Suppose f : {0, 1}n → {±1} has small Fourier degree d:

f =

  • s:|s|≤d
  • f(s)χs

Then there exists a parity-function on at most d bits that has non-trivial correlation with f Why?

  • s:|s|≤d
  • f(s)2 = 1

2n

  • x∈{0,1}n

f(x)2 = 1 (Parseval).

Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

slide-59
SLIDE 59

(1) Approximating functions with parities

Suppose f : {0, 1}n → {±1} has small Fourier degree d:

f =

  • s:|s|≤d
  • f(s)χs

Then there exists a parity-function on at most d bits that has non-trivial correlation with f Why?

  • s:|s|≤d
  • f(s)2 = 1

2n

  • x∈{0,1}n

f(x)2 = 1 (Parseval).

This is a sum over ≤ nd terms.

Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

slide-60
SLIDE 60

(1) Approximating functions with parities

Suppose f : {0, 1}n → {±1} has small Fourier degree d:

f =

  • s:|s|≤d
  • f(s)χs

Then there exists a parity-function on at most d bits that has non-trivial correlation with f Why?

  • s:|s|≤d
  • f(s)2 = 1

2n

  • x∈{0,1}n

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

slide-61
SLIDE 61

(1) Approximating functions with parities

Suppose f : {0, 1}n → {±1} has small Fourier degree d:

f =

  • s:|s|≤d
  • f(s)χs

Then there exists a parity-function on at most d bits that has non-trivial correlation with f Why?

  • s:|s|≤d
  • f(s)2 = 1

2n

  • x∈{0,1}n

f(x)2 = 1 (Parseval).

This is a sum over ≤ nd terms. Hence ∃s with

1 nd ≤ f(s)2

Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

slide-62
SLIDE 62

(1) Approximating functions with parities

Suppose f : {0, 1}n → {±1} has small Fourier degree d:

f =

  • s:|s|≤d
  • f(s)χs

Then there exists a parity-function on at most d bits that has non-trivial correlation with f Why?

  • s:|s|≤d
  • f(s)2 = 1

2n

  • x∈{0,1}n

f(x)2 = 1 (Parseval).

This is a sum over ≤ nd terms. Hence ∃s with

1 nd ≤ f(s)2 = | 1 2n

  • x∈{0,1}n

f(x)χs(x)|2

Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

slide-63
SLIDE 63

(1) Approximating functions with parities

Suppose f : {0, 1}n → {±1} has small Fourier degree d:

f =

  • s:|s|≤d
  • f(s)χs

Then there exists a parity-function on at most d bits that has non-trivial correlation with f Why?

  • s:|s|≤d
  • f(s)2 = 1

2n

  • x∈{0,1}n

f(x)2 = 1 (Parseval).

This is a sum over ≤ nd terms. Hence ∃s with

1 nd ≤ f(s)2 = | 1 2n

  • x∈{0,1}n

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

slide-64
SLIDE 64

(2) Learning from uniform examples

Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

slide-65
SLIDE 65

(2) Learning from uniform examples

A Fourier coefficient is just a uniform expectation

Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

slide-66
SLIDE 66

(2) Learning from uniform examples

A Fourier coefficient is just a uniform expectation:

  • f(s) = 1

2n

  • x∈{0,1}n

f(x)χs(x)

Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

slide-67
SLIDE 67

(2) Learning from uniform examples

A Fourier coefficient is just a uniform expectation:

  • f(s) = 1

2n

  • x∈{0,1}n

f(x)χs(x) = Expx[f(x)χs(x)]

Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

slide-68
SLIDE 68

(2) Learning from uniform examples

A Fourier coefficient is just a uniform expectation:

  • f(s) = 1

2n

  • x∈{0,1}n

f(x)χs(x) = Expx[f(x)χs(x)]

We can approximate this given uniformly random examples (x1, f(x1)), . . . , (xm, f(xm)):

Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

slide-69
SLIDE 69

(2) Learning from uniform examples

A Fourier coefficient is just a uniform expectation:

  • f(s) = 1

2n

  • x∈{0,1}n

f(x)χs(x) = Expx[f(x)χs(x)]

We can approximate this given uniformly random examples (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

slide-70
SLIDE 70

(2) Learning from uniform examples

A Fourier coefficient is just a uniform expectation:

  • f(s) = 1

2n

  • x∈{0,1}n

f(x)χs(x) = Expx[f(x)χs(x)]

We can approximate this given uniformly random examples (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

slide-71
SLIDE 71

(2) Learning from uniform examples

A Fourier coefficient is just a uniform expectation:

  • f(s) = 1

2n

  • x∈{0,1}n

f(x)χs(x) = Expx[f(x)χs(x)]

We can approximate this given uniformly random examples (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

slide-72
SLIDE 72

(2) Learning from uniform examples

A Fourier coefficient is just a uniform expectation:

  • f(s) = 1

2n

  • x∈{0,1}n

f(x)χs(x) = Expx[f(x)χs(x)]

We can approximate this given uniformly random examples (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 unknown function f that is dominated by a few large coefficients

Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

slide-73
SLIDE 73

(2) Learning from uniform examples

A Fourier coefficient is just a uniform expectation:

  • f(s) = 1

2n

  • x∈{0,1}n

f(x)χs(x) = Expx[f(x)χs(x)]

We can approximate this given uniformly random examples (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 unknown function 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

slide-74
SLIDE 74

(3) List-decoding of Hadamard code

Fourier analysis of Boolean functions: Some beautiful examples – p.8/13

slide-75
SLIDE 75

(3) List-decoding of Hadamard code

Error-correcting code: E : {0, 1}n → {0, 1}m

Fourier analysis of Boolean functions: Some beautiful examples – p.8/13

slide-76
SLIDE 76

(3) List-decoding of Hadamard code

Error-correcting code: E : {0, 1}n → {0, 1}m If all codewords have distance d(E(x), E(y)) ≥ 2e + 1, then we can uniquely recover x from corrupted codeword w ∈ {0, 1}m with e errors

Fourier analysis of Boolean functions: Some beautiful examples – p.8/13

slide-77
SLIDE 77

(3) List-decoding of Hadamard code

Error-correcting code: E : {0, 1}n → {0, 1}m If all codewords have distance d(E(x), E(y)) ≥ 2e + 1, then we can uniquely recover x from corrupted codeword w ∈ {0, 1}m with e errors (d(w, E(x)) = e)

Fourier analysis of Boolean functions: Some beautiful examples – p.8/13

slide-78
SLIDE 78

(3) List-decoding of Hadamard code

Error-correcting code: E : {0, 1}n → {0, 1}m If all codewords have distance d(E(x), E(y)) ≥ 2e + 1, then we can uniquely recover x from corrupted codeword w ∈ {0, 1}m with e errors (d(w, E(x)) = e) Hadamard code (m = 2n):

Fourier analysis of Boolean functions: Some beautiful examples – p.8/13

slide-79
SLIDE 79

(3) List-decoding of Hadamard code

Error-correcting code: E : {0, 1}n → {0, 1}m If all codewords have distance d(E(x), E(y)) ≥ 2e + 1, then we can uniquely recover x from corrupted codeword w ∈ {0, 1}m 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

slide-80
SLIDE 80

(3) List-decoding of Hadamard code

Error-correcting code: E : {0, 1}n → {0, 1}m If all codewords have distance d(E(x), E(y)) ≥ 2e + 1, then we can uniquely recover x from corrupted codeword w ∈ {0, 1}m 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

slide-81
SLIDE 81

(3) List-decoding of Hadamard code

Error-correcting code: E : {0, 1}n → {0, 1}m If all codewords have distance d(E(x), E(y)) ≥ 2e + 1, then we can uniquely recover x from corrupted codeword w ∈ {0, 1}m 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 with

e < 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

slide-82
SLIDE 82

(3) List-decoding of Hadamard code

Error-correcting code: E : {0, 1}n → {0, 1}m If all codewords have distance d(E(x), E(y)) ≥ 2e + 1, then we can uniquely recover x from corrupted codeword w ∈ {0, 1}m 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 with

e < m/4 errors, there is a unique x with d(w, E(x)) ≤ e

Problem: if e ≥ m/4 errors, then there may be many different x with d(w, E(x)) ≤ e

Fourier analysis of Boolean functions: Some beautiful examples – p.8/13

slide-83
SLIDE 83

(3) List-decoding of Hadamard code

Error-correcting code: E : {0, 1}n → {0, 1}m If all codewords have distance d(E(x), E(y)) ≥ 2e + 1, then we can uniquely recover x from corrupted codeword w ∈ {0, 1}m 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 with

e < m/4 errors, there is a unique x with d(w, E(x)) ≤ e

Problem: if e ≥ m/4 errors, then there may be many different x with d(w, E(x)) ≤ e Example: w = 03m/41m/4 could’ve come from codewords

E(0n) = 0m or E(10n−1) = 0m/21m/2

Fourier analysis of Boolean functions: Some beautiful examples – p.8/13

slide-84
SLIDE 84

(3) List-decoding of Hadamard code

Error-correcting code: E : {0, 1}n → {0, 1}m If all codewords have distance d(E(x), E(y)) ≥ 2e + 1, then we can uniquely recover x from corrupted codeword w ∈ {0, 1}m 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 with

e < m/4 errors, there is a unique x with d(w, E(x)) ≤ e

Problem: if e ≥ m/4 errors, then there may be many different x with d(w, E(x)) ≤ e Example: w = 03m/41m/4 could’ve come from codewords

E(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

slide-85
SLIDE 85

List-decoding of Hadamard code (cntd)

Fourier analysis of Boolean functions: Some beautiful examples – p.9/13

slide-86
SLIDE 86

List-decoding of Hadamard code (cntd)

List-decoding: given corrupted codeword w ∈ {0, 1}m and error bound e, output list {x : d(w, E(x)) ≤ e}

Fourier analysis of Boolean functions: Some beautiful examples – p.9/13

slide-87
SLIDE 87

List-decoding of Hadamard code (cntd)

List-decoding: given corrupted codeword w ∈ {0, 1}m 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

slide-88
SLIDE 88

List-decoding of Hadamard code (cntd)

List-decoding: given corrupted codeword w ∈ {0, 1}m 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

slide-89
SLIDE 89

List-decoding of Hadamard code (cntd)

List-decoding: given corrupted codeword w ∈ {0, 1}m 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

slide-90
SLIDE 90

List-decoding of Hadamard code (cntd)

List-decoding: given corrupted codeword w ∈ {0, 1}m 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, 1}n → {±1}, and E(s) = χs

Fourier analysis of Boolean functions: Some beautiful examples – p.9/13

slide-91
SLIDE 91

List-decoding of Hadamard code (cntd)

List-decoding: given corrupted codeword w ∈ {0, 1}m 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, 1}n → {±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

slide-92
SLIDE 92

List-decoding of Hadamard code (cntd)

List-decoding: given corrupted codeword w ∈ {0, 1}m 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, 1}n → {±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

slide-93
SLIDE 93

List-decoding of Hadamard code (cntd)

List-decoding: given corrupted codeword w ∈ {0, 1}m 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, 1}n → {±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

slide-94
SLIDE 94

List-decoding of Hadamard code (cntd)

List-decoding: given corrupted codeword w ∈ {0, 1}m 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, 1}n → {±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

slide-95
SLIDE 95

List-decoding of Hadamard code (cntd)

List-decoding: given corrupted codeword w ∈ {0, 1}m 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, 1}n → {±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 still efficiently list-decodable

Fourier analysis of Boolean functions: Some beautiful examples – p.9/13

slide-96
SLIDE 96

List-decoding of Hadamard code (cntd)

List-decoding: given corrupted codeword w ∈ {0, 1}m 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, 1}n → {±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 still efficiently list-decodable (e.g. Reed-Solomon)

Fourier analysis of Boolean functions: Some beautiful examples – p.9/13

slide-97
SLIDE 97

(4) Influence of variables

Fourier analysis of Boolean functions: Some beautiful examples – p.10/13

slide-98
SLIDE 98

(4) Influence of variables

Consider a Boolean function f : {0, 1}n → {0, 1}

Fourier analysis of Boolean functions: Some beautiful examples – p.10/13

slide-99
SLIDE 99

(4) Influence of variables

Consider a Boolean function f : {0, 1}n → {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

slide-100
SLIDE 100

(4) Influence of variables

Consider a Boolean function f : {0, 1}n → {0, 1} The influence of variable i is the probability that xi determines the function value:

Inff(i) =

Pr

x∈{0,1}n[f(x) = f(x ⊕ ei)]

Fourier analysis of Boolean functions: Some beautiful examples – p.10/13

slide-101
SLIDE 101

(4) Influence of variables

Consider a Boolean function f : {0, 1}n → {0, 1} The influence of variable i is the probability that xi determines the function value:

Inff(i) =

Pr

x∈{0,1}n[f(x) = 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

slide-102
SLIDE 102

(4) Influence of variables

Consider a Boolean function f : {0, 1}n → {0, 1} The influence of variable i is the probability that xi determines the function value:

Inff(i) =

Pr

x∈{0,1}n[f(x) = 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, then there always is an i with Inff(i) ≥ log(n)/n

Fourier analysis of Boolean functions: Some beautiful examples – p.10/13

slide-103
SLIDE 103

(4) Influence of variables

Consider a Boolean function f : {0, 1}n → {0, 1} The influence of variable i is the probability that xi determines the function value:

Inff(i) =

Pr

x∈{0,1}n[f(x) = 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, then there always is an i with Inff(i) ≥ log(n)/n This implies there is a set of O(n/ log(n)) variables that controls f with high probability

Fourier analysis of Boolean functions: Some beautiful examples – p.10/13

slide-104
SLIDE 104

The KKL proof

Fourier analysis of Boolean functions: Some beautiful examples – p.11/13

slide-105
SLIDE 105

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei)

Fourier analysis of Boolean functions: Some beautiful examples – p.11/13

slide-106
SLIDE 106

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

slide-107
SLIDE 107

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1

Fourier analysis of Boolean functions: Some beautiful examples – p.11/13

slide-108
SLIDE 108

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1 , and fi(s) = 0 if si = 0

Fourier analysis of Boolean functions: Some beautiful examples – p.11/13

slide-109
SLIDE 109

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1 , and fi(s) = 0 if si = 0

Inff(i)

Fourier analysis of Boolean functions: Some beautiful examples – p.11/13

slide-110
SLIDE 110

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1 , and fi(s) = 0 if si = 0

Inff(i) = Pr[fi = 0]

Fourier analysis of Boolean functions: Some beautiful examples – p.11/13

slide-111
SLIDE 111

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1 , and fi(s) = 0 if si = 0

Inff(i) = Pr[fi = 0] = Exp[f2

i ]

Fourier analysis of Boolean functions: Some beautiful examples – p.11/13

slide-112
SLIDE 112

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1 , and fi(s) = 0 if si = 0

Inff(i) = Pr[fi = 0] = Exp[f2

i ] =

  • s
  • fi(s)2

Fourier analysis of Boolean functions: Some beautiful examples – p.11/13

slide-113
SLIDE 113

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1 , and fi(s) = 0 if si = 0

Inff(i) = Pr[fi = 0] = Exp[f2

i ] =

  • s
  • fi(s)2 = 4
  • s:si=1
  • f(s)2

Fourier analysis of Boolean functions: Some beautiful examples – p.11/13

slide-114
SLIDE 114

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1 , and fi(s) = 0 if si = 0

Inff(i) = Pr[fi = 0] = Exp[f2

i ] =

  • 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

slide-115
SLIDE 115

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1 , and fi(s) = 0 if si = 0

Inff(i) = Pr[fi = 0] = Exp[f2

i ] =

  • 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

slide-116
SLIDE 116

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1 , and fi(s) = 0 if si = 0

Inff(i) = Pr[fi = 0] = Exp[f2

i ] =

  • 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

slide-117
SLIDE 117

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1 , and fi(s) = 0 if si = 0

Inff(i) = Pr[fi = 0] = Exp[f2

i ] =

  • 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

slide-118
SLIDE 118

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1 , and fi(s) = 0 if si = 0

Inff(i) = Pr[fi = 0] = Exp[f2

i ] =

  • 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

slide-119
SLIDE 119

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1 , and fi(s) = 0 if si = 0

Inff(i) = Pr[fi = 0] = Exp[f2

i ] =

  • 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 of Bonami-Beckner):

Fourier analysis of Boolean functions: Some beautiful examples – p.11/13

slide-120
SLIDE 120

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1 , and fi(s) = 0 if si = 0

Inff(i) = Pr[fi = 0] = Exp[f2

i ] =

  • 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 of Bonami-Beckner): ∀g : {0, 1}n → {−1, 0, +1}, δ ∈ [0, 1]

  • s∈{0,1}n

δ|s| g(s)2 ≤ Pr[g = 0]2/(1+δ)

Fourier analysis of Boolean functions: Some beautiful examples – p.11/13

slide-121
SLIDE 121

The KKL proof

Define fi(x) = f(x) − f(x ⊕ ei) ∈ {−1, 0, +1} Then

fi(s) = 2 f(s) if si = 1 , and fi(s) = 0 if si = 0

Inff(i) = Pr[fi = 0] = Exp[f2

i ] =

  • 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 of Bonami-Beckner): ∀g : {0, 1}n → {−1, 0, +1}, δ ∈ [0, 1]

  • s∈{0,1}n

δ|s| g(s)2 ≤ Pr[g = 0]2/(1+δ)

A calculation shows maxi Inff(i) ≥ Ω(log(n)/n)

Fourier analysis of Boolean functions: Some beautiful examples – p.11/13

slide-122
SLIDE 122

Summary

Fourier analysis of Boolean functions: Some beautiful examples – p.12/13

slide-123
SLIDE 123

Summary

Fourier analysis of Boolean functions is an increasingly prominent tool in theoretical computer science

Fourier analysis of Boolean functions: Some beautiful examples – p.12/13

slide-124
SLIDE 124

Summary

Fourier analysis of Boolean functions is an increasingly prominent tool in theoretical computer science We showed a few simple but beautiful examples:

Fourier analysis of Boolean functions: Some beautiful examples – p.12/13

slide-125
SLIDE 125

Summary

Fourier analysis of Boolean functions is an increasingly prominent 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

slide-126
SLIDE 126

Summary

Fourier analysis of Boolean functions is an increasingly prominent 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

slide-127
SLIDE 127

Summary

Fourier analysis of Boolean functions is an increasingly prominent 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

slide-128
SLIDE 128

Summary

Fourier analysis of Boolean functions is an increasingly prominent 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

slide-129
SLIDE 129

Warning: these are powerful techniques!

Fourier analysis of Boolean functions: Some beautiful examples – p.13/13