Locally Decodable Codes Sergey Yekhanin Microsoft Research
Data storage Store data reliably Keep it readily available for users
Data storage: Replication Store data reliably Keep it readily available for users Very large overhead Moderate reliability Local recovery: Loose one machine, access one
Data storage: Erasure coding Store data reliably Keep it readily available for users … Low overhead High reliability No local recovery: Loose one machine, access k … … k data chunks n-k parity chunks Need: Erasure codes with local decoding
Local decoding: example X1X2 X1X3 X2X3 X1X2X3 Tolerates 3 erasures After 3 erasures, any information bit can recovered with locality 2 After 3 erasures, any parity bit can be recovered with locality 2
Local decoding: example X1X2 X1X3 X2X3 X1X2X3 Tolerates 3 erasures After 3 erasures, any information bit can recovered with locality 2 After 3 erasures, any parity bit can be recovered with locality 2
Locally Decodable Codes Definition : A code is called - locally decodable if for all and all values of the symbol can be recovered from accessing only symbols of , even after an arbitrary 10% of coordinates of are erased. k long message Decoder reads only r symbols 1 … Adversarial erasures n long codeword 1 … 1 …
Parameters Ideally: High rate: close to . or Strong locality: Very small Constant. One cannot minimize and simultaneously. There is a trade-off.
Parameters Ideally: High rate: close to . or Strong locality: Very small Constant. Potential applications for data transmission / storage. Applications in complexity theory / cryptography.
Early constructions: Reed Muller codes Parameters: The code consists of evaluations of all degree polynomials in variables over a finite field High rate: No locality at rates above 0.5 Locality at rate Strong locality: for constant
State of the art: codes High rate: [KSY10] Multiplicity codes: Locality at rate Strong locality: [Y08, R07, KY09,E09, DGY10, BET10a, IS10, CFL+10,BET10b,SY] Matching vector codes: for constant for
State of the art: lower bounds [KT,KdW,W,W] High rate: [KSY10] Multiplicity codes: Locality at rate Strong locality: [Y08, R07, E09, DGY10, BET10a, IS10, CFL+10,BET10b,SY11] Matching vector codes: for constant for Locality lower bound: Length lower bound:
State of the art: constructions Matching vector codes Reed Muller codes Multiplicity codes
Plan Reed Muller codes Multiplicity codes Matching vector codes
Reed Muller codes Parameters: Code: Evaluations of degree polynomials over Set: Polynomial yields a codeword:
Reed Muller codes: local decoding Key observation: Restriction of a codeword to an affine line yields an evaluation of a univariate polynomial of degree To recover the value at Pick an affine line through with not too many erasures. Do polynomial interpolation. Locally decodable code: Decoder reads random locations.
Multiplicity codes
Multiplicity codes Parameters: Code: Evaluations of degree polynomials over and their partial derivatives. Set: Polynomial yields a codeword:
Multiplicity codes: local decoding Fact: Derivatives of in two independent directions determine the derivatives in all directions. Key observation: Restriction of a codeword to an affine line yields an evaluation of a univariate polynomial of degree
Multiplicity codes: local decoding To recover the value at Pick a line through . Reconstruct Pick another line through . Reconstruct Polynomials and determine Increasing multiplicity yields higher rate. Increasing the dimension yields smaller query complexity.
RM codes vs. Multiplicity codes Reed Muller codes Multiplicity codes Codewords Evaluations of polynomials Higher order evaluations of polynomials Evaluation domain All of the domain All of the domain Decoding Along a random affine line Along a collection of random affine lines Locally correctable Yes
Matching vector codes
Matching vectors Definition: Let We say that form a matching family if : For all Core theorem: A matching vector family of size yields an query code of length
MV codes: Encoding Let contain a multiplicative subgroup of size Given a matching family A message: Consider a polynomial in the ring: Encoding is the evaluation of over
Multiplicity codes: local decoding Concept: For a multiplicative line through in direction Key observation: evaluation of is a evaluation of a univariate polynomial whose term determines To recover Pick a multiplicative line Do polynomial interpolation
RM codes vs. Multiplicity codes Reed Muller codes Multiplicity codes Codewords Evaluations of low degree polynomials Evaluations of polynomials with specific monomial degrees Evaluation domain All of the domain A subset of the domain Decoding Along a random affine line Along a random multiplicative line Locally correctable Yes No
Summary Despite progress, the true trade-off between codeword length and locality is still a mystery. Are there codes of positive rate with ? Are there codes of polynomial length and ? A technical question: what is the size of the largest family of subsets of such that For all modulo six; For all modulo six.