Session 5 - Madhu Sudan

Locality in Coding Theory
Madhu Sudan
Harvard
April 9, 2016
Skoltech: Locality in Coding Theory
1 of 28
Error-Correcting Codes
β€’ (Linear) Code 𝐢 βŠ† π”½π‘›π‘ž .
–
–
–
–
π”½π‘ž : Finite field with π‘ž elements.
𝑛 ≝ block length
π‘˜ = dim(𝐢) ≝ message length
𝑅(𝐢) ≝ π‘˜/𝑛: Rate of 𝐢
– 𝛿 𝐢 ≝ min {𝛿 𝑒, 𝑣 ≝ Pr[𝑒𝑖 β‰  𝑣𝑖 ]}.
π‘₯β‰ π‘¦βˆˆπΆ
𝑖
β€’ Basic Algorithmic Tasks
– Encoding: map message in π”½π‘˜π‘ž to codeword.
– Testing: Decide if 𝑒 ∈ 𝐢
– Correcting: If 𝑒 βˆ‰ 𝐢, find nearest 𝑣 ∈ 𝐢 to 𝑒.
April 9, 2016
Skoltech: Locality in Coding Theory
2 of 28
Locality in Algorithms
β€’ β€œSublinear” time algorithms:
–
–
–
–
Algorithms that run in time o(input), o(output).
Assume random access to input
Provide random access to output
Typically probabilistic; allowed to compute output on
approximation to input.
β€’ (Property testing β‰œ Sublinear time for Boolean functions)
β€’ LTCs: Codes that have sublinear time testers.
– Decide if 𝑒 ∈ 𝐢 probabilistically.
– Allowed to accept 𝑒 if 𝛿(𝑒, 𝐢) small.
β€’ LCCs: Codes that have sublinear time correctors.
– If 𝛿(𝑒, 𝐢) is small, compute 𝑣𝑖 , for 𝑣 ∈ 𝐢 closest to 𝑒.
April 9, 2016
Skoltech: Locality in Coding Theory
3 of 28
LTCs and LCCs: Formally
β€’ 𝐢 is a (β„“, πœ–)-LTC if there exists a tester that
– Makes β„“(𝑛) queries to 𝑒.
– Accept 𝑒 ∈ 𝐢 w.p. 1
– Reject 𝑒 w.p. at least πœ– β‹… 𝛿(𝑒, 𝐢).
β€’ C is a (β„“, πœ–)-LCC if exists decoder 𝐷 s.t.
– Given oracle access 𝑒 close to 𝑣 ∈ 𝐢, and 𝑖 LDC if only
coordinates of
– Decoder makes β„“(𝑛) queries to 𝑒.
message can be
– Decoder 𝐷𝑒 (𝑖) usually outputs 𝑣𝑖 .
β€’ βˆ€π‘–, Pr[ 𝐷𝑒 𝑖 β‰  𝑣𝑖 ] ≀ 𝛿(𝑒, 𝑣)/πœ–
recovered.
𝐷
1
3
β€’ Often: ignore πœ– (fix to ) and focus on β„“
April 9, 2016
Skoltech: Locality in Coding Theory
4 of 28
Outline of this talk
β€’
β€’
β€’
β€’
β€’
Part 0: Definitions of LTC, LCC
Part 1: Elementary construction
Part 2: Motivation (historical, current)
Part 3: State-of-the-art constructions of LCCs
Part 4: State-of-the-art constructions of LTCs
April 9, 2016
Skoltech: Locality in Coding Theory
5 of 28
Part 1: Elementary Construction
April 9, 2016
Skoltech: Locality in Coding Theory
6 of 28
Main Example: Reed-Muller Codes
β€’ Message = multivariate polynomial;
Encoding = evaluations everywhere.
– RM π‘š, π‘Ÿ, π‘ž ≝
{𝑓 𝛼
|
π›Όβˆˆπ”½π‘š
π‘ž
𝑓 ∈ 𝔽q π‘₯1 , … , π‘₯π‘š , deg 𝑓 ≀ π‘Ÿ}
β€’ Locality? Say π‘Ÿ < π‘ž
– Restrictions of low-degree
polynomials to lines yield
low-degree (univ.) polys.
– Random lines sample π”½π‘š
π‘ž
uniformly (pairwise ind’ly)
April 9, 2016
Skoltech: Locality in Coding Theory
7 of 28
LCCs and LTCs from Polynomials
β€’ Decoding (π‘Ÿ < π‘ž):
– Problem: Given 𝑓 β‰ˆ 𝑝, 𝛼 ∈ π”½π‘š
π‘ž , compute 𝑝 𝛼 .
– Pick random 𝛽 and consider 𝑓|𝐿
where 𝐿 = {𝛼 + 𝑑 𝛽 | 𝑑 ∈ π”½π‘ž } is a random line βˆ‹ 𝛼.
– Find univ. poly β„Ž β‰ˆ 𝑓|𝐿 and output β„Ž(𝛼)
β€’ Testing (π‘Ÿ < π‘ž/2):
Analysis non-trivial
– Verify deg 𝑓|𝐿 ≀ π‘Ÿ for random line 𝐿
β€’ Parameters:
–𝑛=
April 9, 2016
1
1π‘Ÿ
Ideas
can
be
extended
to
π‘š
π‘š
π‘ž ; β„“ = π‘ž = 𝑛 ; 𝑅 βˆ’1
𝐢 β‰ˆ
Locality β‰ˆ poly(𝛿 ) π‘š!
Skoltech: Locality in Coding Theory
> π‘ž.
8 of 28
Part 2: Motivations
April 9, 2016
Skoltech: Locality in Coding Theory
9 of 28
Motivation – 1 (β€œPractical”)
β€’ How to encode massive data?
– Solution I
β€’ Encode all data in one big chunk
β€’ Pro: Pr[failure] = exp(-|big chunk|)
β€’ Con: Recovery time ~ |big chunk|
– Solution II
β€’ Break data into small pieces; encode separately.
β€’ Pro: Recovery time ~ |small|
β€’ Con: Pr[failure] = #pieces X Pr[failure of a piece]
– Locality (if possible): Best of both Solutions!!
April 9, 2016
Skoltech: Locality in Coding Theory
10 of 28
Aside: LCCs vs. other Localities
β€’ Local Reconstruction Codes (LRC):
– Recover from few (one? two?) erasures locally.
– AND Recover from many errors globally.
β€’ Regenerating Codes (RgC):
– Restricted access pattern for recovery: Partition
coordinates and access few symbols per partition.
β€’ Main Differences:
– #errors: LCCs high vs LRC/RgC low
– Asymptotic (LCC) vs. Concrete parameters (LRC/RgC)
April 9, 2016
Skoltech: Locality in Coding Theory
11 of 28
Motivation – 2 (β€œTheoretical”)
β€’ (Many?) mathematical consequences:
– Probabilistically checkable proofs:
β€’ Use specific LCCs and LTCs
– Hardness amplification:
β€’ Constructing functions that are very hard on average from
functions that are hard on worst-case.
β€’ Any (sufficiently good) LCC β‡’ Hardness amplification
– Small set expanders (SSE):
β€’ Usually have mostly small eigenvalues.
β€’ LTCs β‡’ SSEs with many big eigenvalues [Barak et al., Gopalan
et al.]
April 9, 2016
Skoltech: Locality in Coding Theory
12 of 28
Aside: PCPs (1 of 4)
β€’ Familiar task: Protect massive data π‘š ∈ 0,1
π‘š
π‘˜
𝐸(π‘š)
πΈπœ™ (π‘š)
πœ™ π‘š
β€’ PCP task: Protect π‘š + analysis πœ™ π‘š ∈ {0,1}.
– πœ™(π‘š) is just one bit long – would like to read &
trust πœ™(π‘š) with few probes.
– Can we do it? Yes! PCPs!
– β€œFunctional Error-correction”
April 9, 2016
Skoltech: Locality in Coding Theory
13 of 28
PCPs (2 of 4) - Definition
0
W
HTHHTH
V
1
1
PCP Verifer: Given π‘Š ∈ 0,1
𝑁
1. Tosses random coins
2. Determines query locations
3. Reads locations. Accepts/Rejects
π‘Š β‰ˆ πΈπœ™ π‘š with πœ™ π‘š = 1 β‡’ V accepts w.h.p.
π‘Š far from every πΈπœ™ π‘š with πœ™ π‘š = 1 β‡’ rejects w.h.p.
Distinguishes πœ™ βˆ’1 1 β‰  βˆ… from πœ™ βˆ’1 1 = βˆ…
April 9, 2016
Skoltech: Locality in Coding Theory
14 of 28
PCPs (3 of 4): β€œPolynomial-speak”
β€’
β€’
β€’
β€’
π‘š β†’ 𝑀(π‘₯) low-degree (multiv.) polynomial
πœ™ β†’ Ξ¦ : local map from poly’s to poly’s
πœ™ π‘š = 1 ⇔ βˆƒ 𝐴, 𝐡, 𝐢 s. t. Ξ¦ 𝑀, 𝐴, 𝐡, 𝐢 ≑ 0
πΈπœ™ π‘š = ( 𝑀 , 𝐴 , 𝐡 , 𝐢 ) (evaluations)
β€’ Local testability of RM codes β‡’ can verify πΈπœ™ (π‘š)
syntactically correct. ( βŒ©π‘€βŒͺ, 〈𝐴βŒͺ, 〈𝐡βŒͺ, 𝐢 β‰ˆ polynomials )
β€’ Distance of RM codes + Ξ¦ 𝑀, 𝐴, 𝐡, 𝐢 π‘Ž = 0 for
random π‘Ž β‡’ Semantically correct (πœ™ π‘š = 1)).
April 9, 2016
Skoltech: Locality in Coding Theory
15 of 28
PCP (4 of 4)
β€’ π‘š ≑ 𝐸: 𝑉 × π‘‰ β†’ 0,1 (edges of graph).
≑ 𝐸: 𝔽2π‘ž β†’ π”½π‘ž with deg 𝐸 ≀ 𝑛 ≝ |𝑉|
β€’ πœ™ 𝐸 = 1 ⇔ graph 3-colorable.
– βˆƒ πœ’: 𝑉 β†’ {βˆ’1,0,1} s.t. βˆ€π‘¦, 𝑧 ∈ 𝑉, 𝐸 𝑦, 𝑧 = 1 β‡’ πœ’ 𝑦 β‰  πœ’ 𝑧
β€’ Ξ¦ πœ’, 𝐴, 𝐴1 , 𝐡, 𝐡1 , 𝐡2 , 𝑑 =
𝐴(𝑦) βˆ’ πœ’ 𝑦 + 1 β‹… πœ’(𝑦) β‹… πœ’(𝑦) + 1
+ 𝑑 𝐴 𝑦 βˆ’ 𝐴1 𝑦 β‹… π‘ŽβˆˆV(𝑦 βˆ’ π‘Ž)
+ 𝑑 2 𝐡 𝑦, 𝑧 βˆ’ 𝐸 𝑦, 𝑧 β‹…
+𝑑 3 𝐡 𝑦, 𝑧 βˆ’ 𝐡1 𝑦, 𝑧
April 9, 2016
π‘—βˆˆ{βˆ’2,βˆ’1,1,2}
π‘Žβˆˆπ‘‰
πœ’ 𝑦 βˆ’πœ’ 𝑧 βˆ’π‘—
𝑦 βˆ’ π‘Ž βˆ’ 𝐡2 𝑦, 𝑧
Skoltech: Locality in Coding Theory
π‘βˆˆπ‘‰(𝑧
βˆ’ 𝑏)
16 of 28
Part 3: Recent Progress on LCCs + LTCs
April 9, 2016
Skoltech: Locality in Coding Theory
17 of 28
Summary of Recent Progress
β€’ Till 2010: locality 𝑛 = π‘œ 𝑛 β‡’ π‘…π‘Žπ‘‘π‘’ <
β€’ 2016:
– LCC locality 𝑛 = 2~
β‡’ β„“ 𝑛 = 2~
log 𝑛
log 𝑛
1
.
2
& π‘…π‘Žπ‘‘π‘’ β†’ 1
meeting Singleton Bound
β‡’ β„“ 𝑛 = 2~ log 𝑛 binary, Zyablov bound.
(locally correcting half-the-distance!)
– LTC locality 𝑛 = ~poly log 𝑛 & π‘…π‘Žπ‘‘π‘’ β†’ 1
β‡’ … Singleton Bound, Zyablov bound …
April 9, 2016
Skoltech: Locality in Coding Theory
18 of 28
Main References
2
β€’ Multiplicity codes [KoppartySarafYekhanin’10]
β€’ See also
– Lifted Codes [GuoKoppartySudan’13]
1
– Expander codes [HemenwayOstrovskyWootters’13]
β€’ Tensor codes [Viderman β€˜11] (see also [GKS’13] )
β€’ Above + Alon-Luby composition:
3
[KoppartyMeirRon-ZewiSaraf’16a]
β€’ A β€œZig-Zag” construction with above ingredients:
[KMR-ZS’16b]
4
April 9, 2016
Skoltech: Locality in Coding Theory
19 of 28
Lifted Codes
β€’ Codes obtained by inverting decoder:
– Recall decoder for RM codes.
– What code does it decode?
– πΆπ‘š,π‘Ÿ,π‘ž = 𝑓: π”½π‘š
π‘ž β†’ π”½π‘ž deg 𝑓 |𝐿 ≀ π‘Ÿ βˆ€ 𝐿}
– What we know: RM π‘š, π‘Ÿ, π‘ž βŠ† πΆπ‘š,π‘Ÿ,π‘ž
β€’ Theorem [GKS’13]: 𝛿(πΆπ‘š,π‘Ÿ,π‘ž ) β‰ˆ 𝛿 RM π‘š, π‘Ÿ, π‘ž
π‘…π‘Žπ‘‘π‘’ πΆπ‘š,π‘Ÿ,π‘ž β†’ 1 if π‘ž = 2𝑑 and 𝑑 β†’ ∞
β€’ Local decodability by construction.
β€’ Local testability [KaufmanS’07,GuoHaramatyS’15].
April 9, 2016
Skoltech: Locality in Coding Theory
20 of 28
Why does Rate πΆπ‘š,π‘Ÿ,π‘ž β†’ 1?
β€’ Example: π‘š = 2
β€’ Some monomials OK!
π‘ž
;
2
2𝑑 ;
– E.g. π‘ž =
π‘Ÿ = 𝑓 π‘₯, 𝑦 = π‘₯ π‘Ÿ 𝑦 π‘Ÿ satisfies
deg 𝑓|𝑙𝑖𝑛𝑒 ≀ π‘Ÿ for every line!
β€’ π‘₯ π‘Ÿ π‘Žπ‘₯ + 𝑏
π‘Ÿ
= 𝑏 π‘Ÿ π‘₯ π‘Ÿ + π‘Žπ‘Ÿ π‘₯ (mod π‘₯ π‘ž βˆ’ π‘₯)
β€’ As π‘Ÿ β†’ π‘ž many more monomials
– Proof: Lucas’s lemma + simple combinatorics
April 9, 2016
Skoltech: Locality in Coding Theory
21 of 28
Multiplicity Codes
β€’ Basic example
β€’ Message = (coeffs. of) poly 𝑝 ∈ π”½π‘ž π‘₯, 𝑦 .
β€’ Encoding = Evaluations of
2
Length = 𝑛 = π‘ž ; Alphabet =
πœ•π‘ πœ•π‘
𝑝, ,
πœ•π‘₯ πœ•π‘¦
𝔽3π‘ž ;
Rate β†’
β€’ Local-decoding via lines. Locality = O
β€’ More multiplicities β‡’ Rate β†’ 1
β€’ More derivatives β‡’ Locality β†’ π‘›πœ–
April 9, 2016
Skoltech: Locality in Coding Theory
over 𝔽2π‘ž .
2
3
𝑛
22 of 28
Multiplicity Codes - 2
β€’
β€’
2
Why does Rate β†’ ?
3
πœ•π‘ πœ•π‘
Every zero of 𝑝, ,
πœ•π‘₯ πœ•π‘¦
≑ two zeroes of 𝑝
β€’ Can afford to use 𝑝 of degree β†’ 2π‘ž.
β€’ Dimension ↑ × 4 ; But encoding length β†‘× 3
(Same reason that multiplicity improves radius of listdecoding in [Guruswami,S.])
April 9, 2016
Skoltech: Locality in Coding Theory
23 of 28
State-of-the-art as of 2014
β€’ βˆ€πœ–, 𝛼 > 0 βˆƒπ›Ώ = π›Ώπœ–,𝛼 > 0 s.t. βˆƒ codes w.
– Rate β‰₯ 1 βˆ’ 𝛼
– Distance β‰₯ 𝛿
– Locality = π‘›πœ–
β€’ Promised:
– Locality π‘›π‘œ(1)
– Singleton bound [What if you need higher
distance?]
– Zyablov bound [What if you want a binary code?]
April 9, 2016
Skoltech: Locality in Coding Theory
24 of 28
Alon-Luby Transformation
β€’ Key ingredient in [Meir14], [Kopparty et al.’15]
Short MDS
Expander-based
Interleaving
Rate β†’ 1
Code
Message
April 9, 2016
Encoding
Skoltech: Locality in Coding Theory
25 of 28
Alon-Luby Transformation
β€’ Key ingredient in [Meir14], [Kopparty et al.’15]
Short MDS
Expander-based
Interleaving
Rate β†’ 1
Code
Message
Encoding
Rate/Distance of final code ~ Rate of MDS
[Meir] Locality ~ Locality of Rate 1 code Proof = Picture
April 9, 2016
Skoltech: Locality in Coding Theory
26 of 28
Subpolynomial Locality
β€’ Apply previous transform, with initial code of
Rate 1 βˆ’ π‘œ(1) and locality π‘›π‘œ(1) !
– [e.g., multiplicity codes with π‘š = πœ”(1)]
β€’ Singleton bound
β€’ Zyablov bound?
– Concatenation [Forney’66]
April 9, 2016
Skoltech: Locality in Coding Theory
27 of 28
Part 4: Locally Testable Codes
(after break)
April 9, 2016
Skoltech: Locality in Coding Theory
28 of 28