locally decodable codes sergey yekhanin microsoft research
TRANSCRIPT
![Page 1: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/1.jpg)
Locally Decodable Codes
Sergey Yekhanin
Microsoft Research
![Page 2: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/2.jpg)
Data storage
• Store data reliably• Keep it readily available for
users
![Page 3: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/3.jpg)
Data storage: Replication
• Store data reliably• Keep it readily available for
users
• Very large overhead• Moderate reliability
• Local recovery: Loose one machine, access one
![Page 4: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/4.jpg)
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
![Page 5: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/5.jpg)
Local decoding: example
X1
X
E(X)
• 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
X2 X3
X1
X1X2
X2 X3
X1X3 X2X3
X1X2X3
![Page 6: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/6.jpg)
Local decoding: example
X1
X
E(X)
• 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
X2 X3
X1
X1X2
X2 X3
X1X3 X2X3
X1X2X3
![Page 7: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/7.jpg)
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.
0 0 1 0 1 … 0 1 1
0 1 … 0 1
0 1 0 … 0 1
k long message
n long codewordAdversarial
erasures
Decoder reads only r symbols
nq
kq FFC : r
kqFx ],[ki ix
r )(xC)(xC
![Page 8: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/8.jpg)
Parameters
Ideally:– High rate: close to . or
– Strong locality: Very small Constant.
One cannot minimize and simultaneously. There is a trade-off.
n .)1( kn
r
k
.r
)(kOn
n
![Page 9: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/9.jpg)
Parameters
Ideally:– High rate: close to . or
– Strong locality: Very small Constant.
n k )(kOn .)1( kn
.rApplications in complexity theory / cryptography.
Potential applications for data transmission / storage.
![Page 10: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/10.jpg)
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 .r
.qFmd
.,, dmq
)1/(1
2
rkn
./1 Okr
![Page 11: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/11.jpg)
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
.r
.1
)(log22k
n
kr
k
nlog22 .3r
![Page 12: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/12.jpg)
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
kr .1
)(log22k
n .r
.3rk
nlog22
)(log kr
)/1(1 rkn Length lower bound:
Locality lower bound:
![Page 13: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/13.jpg)
State of the art: constructions
Matching vector codes Reed Muller codes Multiplicity codes
kr ck
kr
)log(log
log
2r kr log2
![Page 14: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/14.jpg)
Plan
• Reed Muller codes
• Multiplicity codes
• Matching vector codes
![Page 15: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/15.jpg)
Reed Muller codes
• Parameters: • Code: Evaluations of degree polynomials
over • Set: • Polynomial yields a codeword:
• Parameters:
.,, dmq
d .mqF
.)1(,2 qdm
,
2
1
2
1/
2
2 22
q
d
n
k.kqr ,2qn
],[ 21 zzFf q
2)(qFx
xf
![Page 16: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/16.jpg)
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.2
qF
:x
x
x
.d
• Locally decodable code: Decoder reads random locations.
Lf
k
![Page 17: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/17.jpg)
Multiplicity codes
![Page 18: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/18.jpg)
Multiplicity codes
• Parameters: • Code: Evaluations of degree polynomials
over and their partial derivatives.
• Set:• Polynomial yields a codeword:
• Parameters:
.,, dmq
d mqF
2
)(),(),(21
qFx
xz
fx
z
fxf
.)1(2,2 qdm ],[ 21 zzFf q
.22 kqr ,3/2
6
143/
2
2 22
q
d
n
k,3 2qn
qd
![Page 19: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/19.jpg)
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
Lf .d
f
![Page 20: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/20.jpg)
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.
2qFx
1Lf
1L2L 2L
f
)(),(),(21
xz
fx
z
fxf1L
f2L
f
:x
xx
![Page 21: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/21.jpg)
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 Yes
![Page 22: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/22.jpg)
Matching vector codes
![Page 23: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/23.jpg)
Matching vectors
• Definition: Let
We say that form a matching family if :– For all– For all
• Core theorem: A matching vector family of size yields an query code of length
},,...,{ 1 kuuU ,, hmZVU
).,(0 ij vu
}.,...,{ 1 kvvV
;0),(, ii vuiVU ,
k
,ji
m .hmn
![Page 24: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/24.jpg)
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
),...,( 1 kbb
hmZVU ,
],...,[ 1 hq zzF
k
j
uj
jzbF1
FhC
hC
)()2(2
)1(1 ... hu
huuu jjjj zzzz
.mqF C
![Page 25: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/25.jpg)
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
phm
h ZvCp ,:v
}|{, CxxpM vvp
ivp
M , CF.ib
hCib
ivpM ,
),(
,
ijj
vp
j vuuj
M
uj xpbzb
![Page 26: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/26.jpg)
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
![Page 27: Locally Decodable Codes Sergey Yekhanin Microsoft Research](https://reader035.vdocuments.site/reader035/viewer/2022062320/56649cb85503460f9497de64/html5/thumbnails/27.jpg)
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.
)(logkOr
)1(okr
},...,{ 1 kuu ][n,i
,ji 0|| iu
0|| ji uu