fourier analysis of boolean functions some beautiful
play

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


  1. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  2. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  3. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) 4 Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  4. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) 4 Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  5. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  6. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 f (01) = − 1 � 4 , Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  7. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 f (01) = − 1 � 4 , � f (10) = − 1 4 , Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  8. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 f (01) = − 1 � 4 , � f (10) = − 1 4 , � f (11) = − 1 4 Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  9. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 f (01) = − 1 � 4 , � f (10) = − 1 4 , � f (11) = − 1 4 Note: � f (00) = Exp x [ f ( x )] Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  10. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 f (01) = − 1 � 4 , � f (10) = − 1 4 , � f (11) = − 1 4 f (00) = Exp x [ f ( x )] , and f (00) = � Note: � s � f ( s ) Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  11. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 f (01) = − 1 � 4 , � f (10) = − 1 4 , � f (11) = − 1 4 f (00) = Exp x [ f ( x )] , and f (00) = � Note: � s � f ( s ) � Parseval: 1 f ( x ) 2 4 x Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  12. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 f (01) = − 1 � 4 , � f (10) = − 1 4 , � f (11) = − 1 4 f (00) = Exp x [ f ( x )] , and f (00) = � Note: � s � f ( s ) � Parseval: 1 f ( x ) 2 = 3 4 4 x Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  13. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 f (01) = − 1 � 4 , � f (10) = − 1 4 , � f (11) = − 1 4 f (00) = Exp x [ f ( x )] , and f (00) = � Note: � s � f ( s ) � � Parseval: 1 f ( x ) 2 = 3 f ( s ) 2 � 4 = 4 x s Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  14. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 f (01) = − 1 � 4 , � f (10) = − 1 4 , � f (11) = − 1 4 f (00) = Exp x [ f ( x )] , and f (00) = � Note: � s � f ( s ) � � Parseval: 1 f ( x ) 2 = 3 f ( s ) 2 � 4 = 4 x s PARITY on n bits Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  15. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 f (01) = − 1 � 4 , � f (10) = − 1 4 , � f (11) = − 1 4 f (00) = Exp x [ f ( x )] , and f (00) = � Note: � s � f ( s ) � � Parseval: 1 f ( x ) 2 = 3 f ( s ) 2 � 4 = 4 x s PARITY on n bits, with TRUE = − 1 , FALSE = +1 : Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  16. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 f (01) = − 1 � 4 , � f (10) = − 1 4 , � f (11) = − 1 4 f (00) = Exp x [ f ( x )] , and f (00) = � Note: � s � f ( s ) � � Parseval: 1 f ( x ) 2 = 3 f ( s ) 2 � 4 = 4 x s PARITY on n bits, with TRUE = − 1 , FALSE = +1 : f ( x ) Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  17. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 f (01) = − 1 � 4 , � f (10) = − 1 4 , � f (11) = − 1 4 f (00) = Exp x [ f ( x )] , and f (00) = � Note: � s � f ( s ) � � Parseval: 1 f ( x ) 2 = 3 f ( s ) 2 � 4 = 4 x s PARITY on n bits, with TRUE = − 1 , FALSE = +1 : f ( x ) = χ 1 n ( x ) = ( − 1) | x | Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  18. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 f (01) = − 1 � 4 , � f (10) = − 1 4 , � f (11) = − 1 4 f (00) = Exp x [ f ( x )] , and f (00) = � Note: � s � f ( s ) � � Parseval: 1 f ( x ) 2 = 3 f ( s ) 2 � 4 = 4 x s PARITY on n bits, with TRUE = − 1 , FALSE = +1 : f ( x ) = χ 1 n ( x ) = ( − 1) | x | , so � f (1 n ) = 1 Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  19. Examples OR on 2 bits: f ( x 1 , x 2 ) = OR ( x 1 , x 2 ) ∈ { 0 , 1 } � f (00) = 1 � x ∈{ 0 , 1 } n f ( x ) χ 00 ( x ) = 1 4 (0 + 1 + 1 + 1) = 3 4 4 f (01) = − 1 � 4 , � f (10) = − 1 4 , � f (11) = − 1 4 f (00) = Exp x [ f ( x )] , and f (00) = � Note: � s � f ( s ) � � Parseval: 1 f ( x ) 2 = 3 f ( s ) 2 � 4 = 4 x s PARITY on n bits, with TRUE = − 1 , FALSE = +1 : f ( x ) = χ 1 n ( x ) = ( − 1) | x | , so � f (1 n ) = 1 all other � f ( s ) are 0 Fourier analysis of Boolean functions: Some beautiful examples – p.5/13

  20. (1) Approximating functions with parities Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

  21. (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

  22. (1) Approximating functions with parities Suppose f : { 0 , 1 } n → {± 1 } has small Fourier degree d : � � f = f ( s ) χ s s : | s |≤ d Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

  23. (1) Approximating functions with parities Suppose f : { 0 , 1 } n → {± 1 } has small Fourier degree d : � � f = f ( s ) χ s s : | s |≤ d 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

  24. (1) Approximating functions with parities Suppose f : { 0 , 1 } n → {± 1 } has small Fourier degree d : � � f = f ( s ) χ s s : | s |≤ d 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

  25. (1) Approximating functions with parities Suppose f : { 0 , 1 } n → {± 1 } has small Fourier degree d : � � f = f ( s ) χ s s : | s |≤ d Then there exists a parity-function on at most d bits that has non-trivial correlation with f � f ( s ) 2 � Why? s : | s |≤ d Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

  26. (1) Approximating functions with parities Suppose f : { 0 , 1 } n → {± 1 } has small Fourier degree d : � � f = f ( s ) χ s s : | s |≤ d Then there exists a parity-function on at most d bits that has non-trivial correlation with f � � f ( s ) 2 = 1 f ( x ) 2 = 1 (Parseval) . � Why? 2 n s : | s |≤ d x ∈{ 0 , 1 } n Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

  27. (1) Approximating functions with parities Suppose f : { 0 , 1 } n → {± 1 } has small Fourier degree d : � � f = f ( s ) χ s s : | s |≤ d Then there exists a parity-function on at most d bits that has non-trivial correlation with f � � f ( s ) 2 = 1 f ( x ) 2 = 1 (Parseval) . � Why? 2 n s : | s |≤ d x ∈{ 0 , 1 } n This is a sum over ≤ n d terms. Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

  28. (1) Approximating functions with parities Suppose f : { 0 , 1 } n → {± 1 } has small Fourier degree d : � � f = f ( s ) χ s s : | s |≤ d Then there exists a parity-function on at most d bits that has non-trivial correlation with f � � f ( s ) 2 = 1 f ( x ) 2 = 1 (Parseval) . � Why? 2 n s : | s |≤ d x ∈{ 0 , 1 } n This is a sum over ≤ n d terms. Hence ∃ s with Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

  29. (1) Approximating functions with parities Suppose f : { 0 , 1 } n → {± 1 } has small Fourier degree d : � � f = f ( s ) χ s s : | s |≤ d Then there exists a parity-function on at most d bits that has non-trivial correlation with f � � f ( s ) 2 = 1 f ( x ) 2 = 1 (Parseval) . � Why? 2 n s : | s |≤ d x ∈{ 0 , 1 } n This is a sum over ≤ n d terms. Hence ∃ s with 1 f ( s ) 2 n d ≤ � Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

  30. (1) Approximating functions with parities Suppose f : { 0 , 1 } n → {± 1 } has small Fourier degree d : � � f = f ( s ) χ s s : | s |≤ d Then there exists a parity-function on at most d bits that has non-trivial correlation with f � � f ( s ) 2 = 1 f ( x ) 2 = 1 (Parseval) . � Why? 2 n s : | s |≤ d x ∈{ 0 , 1 } n This is a sum over ≤ n d terms. Hence ∃ s with � 1 f ( s ) 2 = | 1 f ( x ) χ s ( x ) | 2 n d ≤ � 2 n x ∈{ 0 , 1 } n Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

  31. (1) Approximating functions with parities Suppose f : { 0 , 1 } n → {± 1 } has small Fourier degree d : � � f = f ( s ) χ s s : | s |≤ d Then there exists a parity-function on at most d bits that has non-trivial correlation with f � � f ( s ) 2 = 1 f ( x ) 2 = 1 (Parseval) . � Why? 2 n s : | s |≤ d x ∈{ 0 , 1 } n This is a sum over ≤ n d terms. Hence ∃ s with � 1 f ( s ) 2 = | 1 f ( x ) χ s ( x ) | 2 n d ≤ � 2 n x ∈{ 0 , 1 } n So χ s (or its negation) has non-trivial correlation with f Fourier analysis of Boolean functions: Some beautiful examples – p.6/13

  32. (2) Learning from uniform examples Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

  33. (2) Learning from uniform examples A Fourier coefficient is just a uniform expectation Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

  34. (2) Learning from uniform examples A Fourier coefficient is just a uniform expectation: � f ( s ) = 1 � f ( x ) χ s ( x ) 2 n x ∈{ 0 , 1 } n Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

  35. (2) Learning from uniform examples A Fourier coefficient is just a uniform expectation: � f ( s ) = 1 � f ( x ) χ s ( x ) = Exp x [ f ( x ) χ s ( x )] 2 n x ∈{ 0 , 1 } n Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

  36. (2) Learning from uniform examples A Fourier coefficient is just a uniform expectation: � f ( s ) = 1 � f ( x ) χ s ( x ) = Exp x [ f ( x ) χ s ( x )] 2 n x ∈{ 0 , 1 } n We can approximate this given uniformly random examples ( x 1 , f ( x 1 )) , . . . , ( x m , f ( x m )) : Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

  37. (2) Learning from uniform examples A Fourier coefficient is just a uniform expectation: � f ( s ) = 1 � f ( x ) χ s ( x ) = Exp x [ f ( x ) χ s ( x )] 2 n x ∈{ 0 , 1 } n We can approximate this given uniformly random examples ( x 1 , f ( x 1 )) , . . . , ( x m , f ( x m )) : m � 1 f ( x i ) χ s ( x i ) m i =1 Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

  38. (2) Learning from uniform examples A Fourier coefficient is just a uniform expectation: � f ( s ) = 1 � f ( x ) χ s ( x ) = Exp x [ f ( x ) χ s ( x )] 2 n x ∈{ 0 , 1 } n We can approximate this given uniformly random examples ( x 1 , f ( x 1 )) , . . . , ( x m , f ( x m )) : m � 1 f ( x i ) χ s ( x i ) → � f ( s ) m i =1 Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

  39. (2) Learning from uniform examples A Fourier coefficient is just a uniform expectation: � f ( s ) = 1 � f ( x ) χ s ( x ) = Exp x [ f ( x ) χ s ( x )] 2 n x ∈{ 0 , 1 } n We can approximate this given uniformly random examples ( x 1 , f ( x 1 )) , . . . , ( x m , f ( x m )) : m � 1 f ( x i ) χ s ( x i ) → � f ( s ) m i =1 Converges fast if | � f ( s ) | is not too small (Chernoff) Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

  40. (2) Learning from uniform examples A Fourier coefficient is just a uniform expectation: � f ( s ) = 1 � f ( x ) χ s ( x ) = Exp x [ f ( x ) χ s ( x )] 2 n x ∈{ 0 , 1 } n We can approximate this given uniformly random examples ( x 1 , f ( x 1 )) , . . . , ( x m , f ( x m )) : m � 1 f ( x i ) χ s ( x i ) → � f ( s ) m i =1 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

  41. (2) Learning from uniform examples A Fourier coefficient is just a uniform expectation: � f ( s ) = 1 � f ( x ) χ s ( x ) = Exp x [ f ( x ) χ s ( x )] 2 n x ∈{ 0 , 1 } n We can approximate this given uniformly random examples ( x 1 , f ( x 1 )) , . . . , ( x m , f ( x m )) : m � 1 f ( x i ) χ s ( x i ) → � f ( s ) m i =1 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: AC 0 -circuits) Fourier analysis of Boolean functions: Some beautiful examples – p.7/13

  42. (3) List-decoding of Hadamard code Fourier analysis of Boolean functions: Some beautiful examples – p.8/13

  43. (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

  44. (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 )) ≥ 2 e + 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

  45. (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 )) ≥ 2 e + 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

  46. (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 )) ≥ 2 e + 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 = 2 n ): Fourier analysis of Boolean functions: Some beautiful examples – p.8/13

  47. (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 )) ≥ 2 e + 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 = 2 n ): E ( x ) y = x · y mod 2 Fourier analysis of Boolean functions: Some beautiful examples – p.8/13

  48. (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 )) ≥ 2 e + 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 = 2 n ): 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

  49. (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 )) ≥ 2 e + 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 = 2 n ): 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

  50. (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 )) ≥ 2 e + 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 = 2 n ): 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

  51. (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 )) ≥ 2 e + 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 = 2 n ): 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 = 0 3 m/ 4 1 m/ 4 could’ve come from codewords E (0 n ) = 0 m or E (10 n − 1 ) = 0 m/ 2 1 m/ 2 Fourier analysis of Boolean functions: Some beautiful examples – p.8/13

  52. (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 )) ≥ 2 e + 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 = 2 n ): 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 = 0 3 m/ 4 1 m/ 4 could’ve come from codewords E (0 n ) = 0 m or E (10 n − 1 ) = 0 m/ 2 1 m/ 2 List-decoding: output the whole list (hopefully small) Fourier analysis of Boolean functions: Some beautiful examples – p.8/13

  53. List-decoding of Hadamard code (cntd) Fourier analysis of Boolean functions: Some beautiful examples – p.9/13

  54. 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

  55. 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

  56. 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

  57. 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

  58. 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

  59. 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

  60. 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. � w ( s ) 2 = 1 (by Parseval) s � Fourier analysis of Boolean functions: Some beautiful examples – p.9/13

  61. 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. � w ( s ) 2 = 1 (by Parseval), s � 1 hence at most 4 ε 2 different s satisfy � w ( s ) ≥ 2 ε Fourier analysis of Boolean functions: Some beautiful examples – p.9/13

  62. 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. � w ( s ) 2 = 1 (by Parseval), s � 1 hence at most 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

  63. 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. � w ( s ) 2 = 1 (by Parseval), s � 1 hence at most 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

  64. 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. � w ( s ) 2 = 1 (by Parseval), s � 1 hence at most 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

  65. (4) Influence of variables Fourier analysis of Boolean functions: Some beautiful examples – p.10/13

  66. (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

  67. (4) Influence of variables Consider a Boolean function f : { 0 , 1 } n → { 0 , 1 } The influence of variable i is the probability that x i determines the function value Fourier analysis of Boolean functions: Some beautiful examples – p.10/13

  68. (4) Influence of variables Consider a Boolean function f : { 0 , 1 } n → { 0 , 1 } The influence of variable i is the probability that x i determines the function value: Inf f ( i ) = x ∈{ 0 , 1 } n [ f ( x ) � = f ( x ⊕ e i )] Pr Fourier analysis of Boolean functions: Some beautiful examples – p.10/13

Recommend


More recommend