Local List Decoding Madhu Sudan Microsoft Research March

  • Slides: 31
Download presentation
Local List Decoding Madhu. Sudan Microsoft Research March 2, 2011 Local List Decoding @

Local List Decoding Madhu. Sudan Microsoft Research March 2, 2011 Local List Decoding @ IPAM 1 of 31

Overview n n Last 20 years: n Lots of work on List Decoding n

Overview n n Last 20 years: n Lots of work on List Decoding n Lots of work on Local Decoding Today: n A look at the intersection: Local List Decoding n Part I: The accidental beginnings n Part II: Some applications n Part III: Some LLD codes n Part IV: Current works March 2, 2011 Local List Decoding @ IPAM 2 of 31

Part I: History March 2, 2011 Local List Decoding @ IPAM 3 of 31

Part I: History March 2, 2011 Local List Decoding @ IPAM 3 of 31

List Decodable Code n Encoding function: E: Σk Σn Code: C = Image(E) (ρ,

List Decodable Code n Encoding function: E: Σk Σn Code: C = Image(E) (ρ, L) -List-Decodable Code: 8 r 2 Σn, #{w 2 C | Δ(r, w) · ρ. n} · L. List-decoder: Outputs list, given r. n [Elias ’ 57, Wozencraft ‘ 58] n n n March 2, 2011 Local List Decoding @ IPAM 4 of 31

Local (Unique) Decoding n n n ρ-decoder: n Has access to r s. t.

Local (Unique) Decoding n n n ρ-decoder: n Has access to r s. t. Δ(r, E(m)) · ρ. n n Outputs m. ρ-local decoder: n Has query access to r: [n] Σ. n Input: i 2 [k] n Outputs: mi (ρ, t)-LDC: makes · t queries for every r, i. March 2, 2011 Local List Decoding @ IPAM 5 of 31

Local List Decoding n n n ρ-List decoder: n Access to r 2 Σn

Local List Decoding n n n ρ-List decoder: n Access to r 2 Σn n Outputs {m 1, …, m. L} = {m | Δ(r, E(m)) · ρ. n} (ρ, t)-list decoder: n Query access to r: [n] Σ n Inputs: i 2 [k], j 2 [L] n Outputs: (mj)i Note: numbering m 1, …, m. L may be arbitrary; but consistent as we vary i. March 2, 2011 Local List Decoding @ IPAM 6 of 31

(Convoluted) History n n n 1950 [Reed+Muller]: n Code due to Muller; Decoder due

(Convoluted) History n n n 1950 [Reed+Muller]: n Code due to Muller; Decoder due to Reed. n “Majority-logic” decoder: Essentially a local decoder for ρ < distance/2, n Not stated/analyzed in local terms. 1957 [Elias] n Defined List Decoding. n Analyzed in “random-error” setting only. [1980 s] Many works on random-self-reducibility n Essentially: Local decoders (for un/natural codes). March 2, 2011 Local List Decoding @ IPAM 7 of 31

(Convoluted) History n n n 1986 [Goldreich-Levin]: n Local List-decoder for Hadamard code. n

(Convoluted) History n n n 1986 [Goldreich-Levin]: n Local List-decoder for Hadamard code. n No mention of any of the words in paper. n “List-decoding” in acknowledgments. n But idea certainly there – also in [Levin 85] n (many variations since: KM, GRS). 90 -92 [Beaver. Feigenbaum, Lipton, Gemmell. Lipton. Rubinfeld. SWigderson, Gemmell. S. ]: n Local decoder for generalized RM codes. 96, 98 [Guruswami+S]: n List-decoder for Reed-Solomon codes. March 2, 2011 Local List Decoding @ IPAM 8 of 31

(Convoluted) History n n 1999 [S. Trevisan. Vadhan]: n Local List-Decoding defined n LLD

(Convoluted) History n n 1999 [S. Trevisan. Vadhan]: n Local List-Decoding defined n LLD for Generalized RM code. 2000 [Katz. Trevisan]: n Local Decoding defined. n Lower bounds for LDCs. March 2, 2011 Local List Decoding @ IPAM 9 of 31

Why Convoluted? n n What is convoluted? n Big gap (positive/negative) between definitions and

Why Convoluted? n n What is convoluted? n Big gap (positive/negative) between definitions and algorithms Why? n Motivations/Applications changing. n Algorithms not crucial to early applications n Some applications needed specific codes n Different communities involved n Information theory/Coding theory n CS: Complexity/Crypto/Learning March 2, 2011 Local List Decoding @ IPAM 10 of 31

Part II: Applications March 2, 2011 Local List Decoding @ IPAM 11 of 31

Part II: Applications March 2, 2011 Local List Decoding @ IPAM 11 of 31

Hardcore Predicates n n f: {0, 1}n is a owf if n f easy

Hardcore Predicates n n f: {0, 1}n is a owf if n f easy to compute n f-1 hard on random inputs: n random: given y = f(x) for uniform x, output x’ in f-1(y). n hard: every polytime alg. succeeds with negligible probabilty. b: {0, 1}n {0, 1} is hardcore predicate for f, if f remains hard to invert given b(x) and f(x) March 2, 2011 Local List Decoding @ IPAM 12 of 31

Hardcore Predicates n n n b: {0, 1}n £ [M] {0, 1} is a

Hardcore Predicates n n n b: {0, 1}n £ [M] {0, 1} is a (randomized) hardcore predicate for f, if b(x, s) hard to predict w. p. ½ + є, given f(x) and s. [Blum. Micali, Yao, Goldreich. Levin]: 1 -1 owf f + hardcore b ) pseudorandom generator. [Goldreich. Levin, Impagliazzo]: If E: {0, 1}k {0, 1}m is a (½ - є, poly(n))-LLDC, then b(x, s) = E(x)s is a hardcore predicate for every owf f. March 2, 2011 Local List Decoding @ IPAM 13 of 31

Proof of [GL, I] n Suppose A predicts b(x, s) given f(x), s n

Proof of [GL, I] n Suppose A predicts b(x, s) given f(x), s n Fix f(x); let r(s) = A(f(x), s). n Run Decoder(r, i, j) for all i, j to recover {x 1, …, x. L}. n Check if f(xj) = f(x)! n (Easy) Claim: This recovers f-1(f(x)) w. h. p. March 2, 2011 Local List Decoding @ IPAM 14 of 31

Thoughts n Did [GL] really need Local List-Decoding? n No. Simple LDC mapping k

Thoughts n Did [GL] really need Local List-Decoding? n No. Simple LDC mapping k to poly(k) bits would do. n Unfortunately, none was known with poly(k) time list-decoder. n GL: Designed (½ - epsilon, poly(k))-LLDC for Hadamard code (which maps k bits to 2 k bits). March 2, 2011 Local List Decoding @ IPAM 15 of 31

Hardness amplification n n Classical quest in complexity: n Find hard functions (for some

Hardness amplification n n Classical quest in complexity: n Find hard functions (for some class). E. g. , n f 2 NP – P n f 2 PSPACE – P n Story so far: Can’t find such. Modern question: n Find functions that are really hard. n Boolean f 2 NP that is hard to distinguish from random function in P. March 2, 2011 Local List Decoding @ IPAM 16 of 31

Hardness amplification n n Thm [Lipton, …, S. Trevisan Vadhan]: n Let f: {0,

Hardness amplification n n Thm [Lipton, …, S. Trevisan Vadhan]: n Let f: {0, 1}k {0, 1} be a hard to compute in time poly(k). n Let E: {0, 1}K {0, 1}N be (½-є, poly(k)) locally -list-decodable with K = 2 k, N = 2 n. n Then g: {0, 1}n {0, 1} given by g = E(f) is hard to distinguish from random for poly(k) time algorithms. Proof: Obvious from definitions. March 2, 2011 Local List Decoding @ IPAM 17 of 31

Agnostic Learning n n General goal of learning theory: n Given a class of

Agnostic Learning n n General goal of learning theory: n Given a class of functions F; n query/sample access to f 2 F; n “Learn f” (or circuit (approx. ) computing it). Learning with Noise: n f not in F, but well-approximated by some function in F Agnostic Learning: n No relationship between f and F; n learn some approximation of f in F (if it exists). Useful in applications, as well as theory. March 2, 2011 Local List Decoding @ IPAM 18 of 31

Agnostic Learning (contd. ) n n n GL result (Kushilevitz-Mansour interpretation): n Can agnostically

Agnostic Learning (contd. ) n n n GL result (Kushilevitz-Mansour interpretation): n Can agnostically learn linear approximations to Boolean functions, with queries. Kushilevitz-Mansour: n List-decoding helps even more: Can learn decision trees. Jackson: n Also CNF/DNF formulae … March 2, 2011 Local List Decoding @ IPAM 19 of 31

Part III: Some LLD Codes March 2, 2011 Local List Decoding @ IPAM 20

Part III: Some LLD Codes March 2, 2011 Local List Decoding @ IPAM 20 of 31

Hadamard Code n n k Code: Maps {0, 1}k {0, 1}2. Codewords: n functions

Hadamard Code n n k Code: Maps {0, 1}k {0, 1}2. Codewords: n functions from {0, 1}k {0, 1}. n Encoding of m = <m 1, …, mk> is the function Em(y 1 … yk) = Σi=1 k mi yi (mod 2). n I. e. , codewords are homogenous, k-variate, degree 1 polynomials over GF(2). March 2, 2011 Local List Decoding @ IPAM 21 of 31

Decoding Hadamard Code (GL/KM) n Preliminaries: n View words as functions mapping to {+1,

Decoding Hadamard Code (GL/KM) n Preliminaries: n View words as functions mapping to {+1, -1}. n <f, g> = Exp_y [f(y). g(y)]. n <E(a), E(b)> = 0 if a ≠ b and 1 o. w. n Let f_a = <f, E(a)>. Then f[x] = a fa E(a)[x] n For all f, a fa 2 = 1. n (½ - є)-List decoding: Given f, find all a such that fa > 2є. March 2, 2011 Local List Decoding @ IPAM 22 of 31

Decoding Hadamard Code [GL/KM] n n Consider 2 n sized binary tree. Node labelled

Decoding Hadamard Code [GL/KM] n n Consider 2 n sized binary tree. Node labelled by path to root. Value of leaf a = fa 2 Value of node = sum of children values 00 n n Φ 0 1 01 Main idea: Can approximate value of any node n b fab 2 = Expx, y, z [f(xz). f(yz). Ea(x). Ea(y)] Algorithm: n n n Explore tree root downwards. Stop if node value less than є 2 Report all leaves found. March 2, 2011 Local List Decoding @ IPAM 23 of 31

(Generalized) Reed-Muller Code n n n Message space = m-variate, degree r polynomials over

(Generalized) Reed-Muller Code n n n Message space = m-variate, degree r polynomials over GF(q). Encoding: Values over all points. m+r n k = ( r ) n n = qm n distance = 1 – r/q (if r < q). ¼ q-r/(q-1) if r > q. Decoding problem: Given query access to function that is close to polynomial, find all nearby polynomials, locally. March 2, 2011 Local List Decoding @ IPAM 24 of 31

Decoding (contd. ) n n Specifically: n Given query access to f, and x

Decoding (contd. ) n n Specifically: n Given query access to f, and x 2 GF(q)m n Output p 1(x), …, p. L(x) “consistently”, where p_j’s are polynomials within distance ρ of f. How to index the codewords? n By values at a few (random) points in GF(q)m. n Claim: Specifying value of p at (roughly) logq. L points specifies it uniquely (given f). March 2, 2011 Local List Decoding @ IPAM _j 25 of 31

Decoding (contd. ) n n Refined question: n Given query access to f, and

Decoding (contd. ) n n Refined question: n Given query access to f, and values pj(y 1), …, pj(yt), and x; n Compute pj(x) Alg [Rackoff, STV, GKZ] n Pick random (low-dim) subspace containing y 1, …, yt and x. n Brute force decode f restricted to this subspace. March 2, 2011 Local List Decoding @ IPAM _j 26 of 31

Part IV: Current Directions March 2, 2011 Local List Decoding @ IPAM 27 of

Part IV: Current Directions March 2, 2011 Local List Decoding @ IPAM 27 of 31

Many interpretations of GL n n n List-decoder for group homomorphisms [Dinur Grigorescu Kopparty

Many interpretations of GL n n n List-decoder for group homomorphisms [Dinur Grigorescu Kopparty S. ] n Set of homomorphisms from G to H form an error-correcting code. n Decode upto minimum distance? List-decoder for sparse high-distance linear codes [Kopparty Saraf] List-decoder for Reed-Muller codes [Gopalan Klivans Zuckerman] March 2, 2011 Local List Decoding @ IPAM 28 of 31

Approximate List-Decoding n n Given r, approximately compute w in C that is somewhat

Approximate List-Decoding n n Given r, approximately compute w in C that is somewhat close to r. Easier problem, so should be solvable for broader class of codes C (C need not have good distance). [O’Donnell, Trevisan, IJK]: If encoder for C is monotone and local, then get hardness amplification for NP. [IJK] Give approximate-LLD for “truncated Hadamard code”. March 2, 2011 Local List Decoding @ IPAM 29 of 31

Conclusions n n Intersection of Locality and List-decoding interesting and challenging. Ought to be

Conclusions n n Intersection of Locality and List-decoding interesting and challenging. Ought to be explored more? March 2, 2011 Local List Decoding @ IPAM 30 of 31

Thank You! March 2, 2011 Local List Decoding @ IPAM 31 of 31

Thank You! March 2, 2011 Local List Decoding @ IPAM 31 of 31