330 likes | 419 Views
Multiplicity Codes: Locality with High Efficiency. Madhu Sudan Microsoft Research. Based on [ Kopparty , Saraf , Yekhanin (STOC 2011) ]. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A. Error-Correcting Codes.
E N D
Multiplicity Codes: Locality with High Efficiency Madhu Sudan Microsoft Research Based on [Kopparty, Saraf, Yekhanin(STOC 2011)] Multiplicity Codes TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAA
Error-Correcting Codes • Used to store data over (noisy) storage media/communicate data over (noisy) channels. • Code (over alphabet ). • ; • Terminology: • = messages; = codewords. • Rate() • Distance: • Codes of interest: Multiplicity Codes
Algorithmic Problems in Coding Theory (Fix Code and encoding function ) • Encoding: • Given , compute . • Error Detection/Testing: • Given , determine if . • Variations: Determine (approximately). • Error Correction: • Given s.t.s.t.; compute . Multiplicity Codes
SublinearAlgorithmics x f(x) For , can be computed in time? Answer 1: No Multiplicity Codes
SublinearAlgorithmics j x f(x) x-oracle i • For , can be computed in time? • Answer 1: No • Answer 2: Yes, provided: • Output represented implicitly • Input given as oracle Multiplicity Codes
SublinearAlgorithmics j x-oracle i • For , can be computed in time? • Answer 2: Yes, provided: • Output represented implicitly • Input given as oracle • Correctness guaranteed on approx. to input. Multiplicity Codes
Sub-linear time algorithms • Initiated in late eighties in context of • Program checking [BlumKannan,BlumLubyRubinfeld] • Interactive Proofs/PCPs [BabaiFortnowLund] • Now successful in many more contexts • Property testing/Graph-theoretic algorithms • Sorting/Searching • Statistics/Entropy computations • (High-dim.) Computational geometry • Many initial results are coding-theoretic! Local Error-Correction
Sub-linear time algorithms & Coding • Encoding: Not reasonable to expect in sub-linear time. • Testing? Decoding? – Can be done in sublinear time. • In fact many initial results do so! • Codes that admit efficient … • … testing: Locally Testable Codes (LTCs) • … decoding: Locally Decodable Codes (LDCs). Local Error-Correction
Rest of this talk • Definitions of LDCs • Some background/Basic Construction • Recent constructions of LDCs. • [Kopparty-Saraf-Yekhanin ‘11] Local Error-Correction
Definition Local Error-Correction
Locally Decodable Code (LDC) • Code with encoder is -LDC if there exists a (sublinear-time) decoding algorithm on • Input: and Oracle for , s.t.s.t., • Outputs: w.p. at least • Locality: makes only queries to. • History: • Some implied LDCs from 1950s [Reed,Muller]. • Construction + Implied definitions [Babai,Fortnow,Lund,Szegedy’90]. • Explicit definitions [S.,Trevisan,Vadhan; Katz-Trevisan] Multiplicity Codes
Motivations Local Error-Correction
Motivations to study LTCs • Intimately related to concept of Probabilistically Checkable Proofs (PCPs): • Format for writing mathematical proofs that can be checked by few local probes. • (Key ingredient in many hardness of approximation results.) • Current state of art: • State of the art PCP/LTCs [BenSassonS,Dinur] • Parameters: bits to bits. • Locality: O(1) queries. Multiplicity Codes
Motivations to study LDCs • Hard-core predicates: Hard Boolean functions from general hard functions. • Hardness amplification: Functions that are hard to compute on random inputs, from worst-case hard functions. • Private Information Retrieval: Distributed information storage method which allows user to query information privately. Multiplicity Codes
Why the negativity? • Why are local codes leading only to negative results? (inapprox, hard predicates, hard-on-average functions, privacy schemes …) • What about the obvious positive possibility: on storage devices etc.? • Rate is too weak: • best known with sublinear decoding • Rate .5 for locality • Rate for locality . • Provable lower bounds: [KatzTrevisan] • Practical settings: Rate .8, .9 etc. Multiplicity Codes
Basic Constructions Local Error-Correction
Self-correctible codes • Will ask for (slightly?) stronger object: • Every letter of codeword locally recoverable. • (as opposed to message) • Why? • Simpler concept (depends only on code, not encoding function). • Implies existence of encoding function that leads to LDC. Multiplicity Codes
Codes from Multivariate Polynomials. • Parameters: • Message space: -variate polynomials of degree at most over • Encoding: Evaluations over • Resulting code parameters: • Distance (Can also use , with care) Multiplicity Codes
Local decoding/Self-correction • Codeword = Function on cube. • Rec’d word = Function on cube • = with errors • Correction problem: Recover • codeword at point • Self-correction alg: • Look at on line • Recover on line (classical • decoding) • Locality = Multiplicity Codes
Sample Parameters • Best locality: • ; 2-locally decodable code (“Hadamard code”) for ¼-fraction errors. • Weakest (sublinear) locality: • ; ; • Locality = correcting fraction errors • In general: locality at rate with Multiplicity Codes
The Rate < ½ barrier To get distance, need . To get non-trivial locality: . Implies , and . Rate at most ½. Multiplicity Codes
The new breakthrough • Multiplicity Codes [KSY ‘11] • Theorem: • For every s.t. there exist codes with • is -locally-decodable from errors. • Rate arbitrarily close to 1 • (not expected – at least not by me). • Locality arbitrarily small power of . • Even concrete parameters are interesting. Multiplicity Codes
Multiplicity Codes Local Error-Correction
Basic Idea: • Extend Multivariate Polynomial codes: • Encoding also includes evaluations of “partial derivatives”. • Cons: Now encoding is even more redundant, so we lose rate? • Pros: But we can use higher degrees. • E.g.: Fraction of points where are all zero is at most . • ( denotes “partial derivative” wrt) Multiplicity Codes
Hasse derivatives & Multiplicities For every , there exists a notion of th partial derivative of , denoted Order of is largest s.t. all derivatives of of order vanish at Multiplicity Schwartz-Zippel Lemma: Multiplicity Codes
Multiplicity Codes Example-1 Hopefully: • Parameters: • Alphabet = • Message = -variate polynomials of degree d over • Code parameters: • Locality = ? • If so, sublinear locality at rate ! Multiplicity Codes
Locality – I (no errors) • Reconstructing from . • Idea: Still decode along lines. • Pick line thru • Define • have correct value of • Insufficient, since . • derivative of wrt can be obtained from and (specifically, ) • Now have enough info to interpolate and so can get Multiplicity Codes
Locality – I (with errors) • Reconstructing from . • Idea: Still decode along lines. • Pick line thru • Define • have correct value of • Insufficient, since . • derivative of wrt can be obtained from and (specifically, ) • Now have enough info to decode and so can get Multiplicity Codes
Locality - II • Not done! also need to recover • Idea 1: is just another polynomial of degree – can recover locally? • No! Don’t have etc. which would be needed. • Actual solution: • Using , can recover . • Pick another random line and get . • Can recover and from the above. • Conclude: Decodable with queries. Multiplicity Codes
Improving Rate, Locality Increase # variables to reduce locality to Next, increase multiplicities (and degree) to get rate up to ! Naively, fraction of errors corrected , where . Running time More sophisticated idea Multiplicity Codes
Derivatives? • Classical derivatives no good over finite fields • 2nd derivative of every poly. zero over • Hasse derivatives: • Univ. poly : a root of mult. • divides divides where • is the Hasse derivative of P(x). • Multiv. Poly? Just extend above notationally! Multiplicity Codes
Concluding thoughts • Techniques: • Derivatives are not locally computable! • More multiplicities • More non-linear codes? • Theory? • Can we prove these codes are locally testable? • Can we get PCPs with such parameters? • Practice? • No more rate barrier to using locally decodable codes! When will we see these on USB sticks? Multiplicity Codes
Thank You! Local Error-Correction