"Consider the following setting. Suppose we are given as input a ""corrupted"" truth-table of a polynomial f(x1,..,xm) of degree r = o(√m), with a random set of 1/2 - o(1) fraction of the evaluations flipped. Can the polynomial f be recovered? Turns out we can, and we can do it efficiently! The above question is a demonstration of the reliability of Reed-Muller codes under the random error model. For Reed-Muller codes over F_2, the message is thought of as an m-variate polynomial of degree r, and its encoding is just the evaluation over all of F_2^m.
In this talk, we shall study the resilience of RM codes in the *random error* model. We shall see that under random errors, RM codes can efficiently decode many more errors than its minimum distance. (For example, in the above toy example, minimum distance is about 1/2^{√m} but we can correct close to 1/2-fraction of random errors). This builds on a recent work of [Abbe-Shpilka-Wigderson-2015] who established strong connections between decoding erasures and decoding errors. The main result in this talk would be constructive versions of those connections that yield efficient decoding algorithms. This is joint work with Amir Shpilka and Ben Lee Volk."
2. A Puzzle
Your friend picks a polynomial f (x) ∈ 2[x1,··· , xm] of degree
r ≈ 3
m.
3. A Puzzle
Your friend picks a polynomial f (x) ∈ 2[x1,··· , xm] of degree
r ≈ 3
m.
She gives you the entire truth-table of f , i.e. the value of f (v) for every
v ∈ {0,1}m
.
1 0 1 1 0 0 01 0 1 1 0 0 0 1 1
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
4. A Puzzle
Your friend picks a polynomial f (x) ∈ 2[x1,··· , xm] of degree
r ≈ 3
m.
She gives you the entire truth-table of f , i.e. the value of f (v) for every
v ∈ {0,1}m
.
1 0 1 1 0 0 01 0 1 1 0 0 0 1 1
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Can you recover f ?
5. A Puzzle
Your friend picks a polynomial f (x) ∈ 2[x1,··· , xm] of degree
r ≈ 3
m.
She gives you the entire truth-table of f , i.e. the value of f (v) for every
v ∈ {0,1}m
.
1 0 1 1 0 0 01 0 1 1 0 0 0 1 1
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Can you recover f ?
Of course! Just interpolate.
6. A Puzzle
Your friend picks a polynomial f (x) ∈ 2[x1,··· , xm] of degree
r ≈ 3
m.
She gives you the entire truth-table of f , i.e. the value of f (v) for every
v ∈ {0,1}m
. But she corrupts 49% of the bits.
1 0 1 1 0 0 01 0 1 1 0 0 0 1 1
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Can you recover f ?
7. A Puzzle
Your friend picks a polynomial f (x) ∈ 2[x1,··· , xm] of degree
r ≈ 3
m.
She gives you the entire truth-table of f , i.e. the value of f (v) for every
v ∈ {0,1}m
. But she corrupts 49% of the bits.
1 0 1 1 0 0 01 0 1 1 0 0 0 1 1
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Can you recover f ?
8. A Puzzle
Your friend picks a polynomial f (x) ∈ 2[x1,··· , xm] of degree
r ≈ 3
m.
She gives you the entire truth-table of f , i.e. the value of f (v) for every
v ∈ {0,1}m
. But she corrupts 49% of the bits.
0 1 0 0 1 1 11 0 1 1 0 0 0 1 1
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Can you recover f ?
9. A Puzzle
Your friend picks a polynomial f (x) ∈ 2[x1,··· , xm] of degree
r ≈ 3
m.
She gives you the entire truth-table of f , i.e. the value of f (v) for every
v ∈ {0,1}m
. But she corrupts 49% of the bits.
0 1 0 0 1 1 11 0 1 1 0 0 0 1 1
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Can you recover f ?
10. A Puzzle
Your friend picks a polynomial f (x) ∈ 2[x1,··· , xm] of degree
r ≈ 3
m.
She gives you the entire truth-table of f , i.e. the value of f (v) for every
v ∈ {0,1}m
. But she corrupts 49% of the bits.
0 1 0 0 1 1 11 0 1 1 0 0 0 1 1
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Can you recover f ?
Impossible if errors are adversarial...
11. A Puzzle
Your friend picks a polynomial f (x) ∈ 2[x1,··· , xm] of degree
r ≈ 3
m.
She gives you the entire truth-table of f , i.e. the value of f (v) for every
v ∈ {0,1}m
. But she corrupts 49% of the bits randomly.
0 1 0 0 1 1 11 0 1 1 0 0 0 1 1
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Can you recover f ?
12. A Puzzle
Your friend picks a polynomial f (x) ∈ 2[x1,··· , xm] of degree
r ≈ 3
m.
She gives you the entire truth-table of f , i.e. the value of f (v) for every
v ∈ {0,1}m
. But she corrupts 49% of the bits randomly.
0 1 0 0 1 1 11 0 1 1 0 0 0 1 1
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Can you recover f ?
This talk: Yes, and we can do it efficiently!
13. A Puzzle
Your friend picks a polynomial f (x) ∈ 2[x1,··· , xm] of degree
r ≈ 3
m.
She gives you the entire truth-table of f , i.e. the value of f (v) for every
v ∈ {0,1}m
. But she corrupts 49% of the bits randomly.
0 1 0 0 1 1 11 0 1 1 0 0 0 1 1
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Can you recover f ?
This talk: Yes, and we can do it efficiently!
(“Efficiently decoding Reed-Muller codes from random errors”)
18. Typical Setting
Alicia Machado sends
Dont vote for Trump
Channel corrupts the message...
Bobby Jindal receives
Dude vote for Trump
19. Typical Setting
Alicia Machado sends
Dont vote for Trump
Channel corrupts the message...
Bobby Jindal receives
Dude vote for Trump
Want to encode messages with redundancies to make it resilient to errors
20. Reed-Muller Codes: RM(m, r)
Message: A degree polynomial f ∈ 2[x1,··· , xm] of degree at most r.
Encoding: The evaluation of f on all points in {0,1}m
.
f (x1, x2, x3, x4) = x1x2 + x3x4
−→
0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
21. Reed-Muller Codes: RM(m, r)
Message: A degree polynomial f ∈ 2[x1,··· , xm] of degree at most r.
Encoding: The evaluation of f on all points in {0,1}m
.
f (x1, x2, x3, x4) = x1x2 + x3x4
−→
0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
A linear code, with
22. Reed-Muller Codes: RM(m, r)
Message: A degree polynomial f ∈ 2[x1,··· , xm] of degree at most r.
Encoding: The evaluation of f on all points in {0,1}m
.
f (x1, x2, x3, x4) = x1x2 + x3x4
−→
0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
A linear code, with
▶ Block Length: 2m
:= n
23. Reed-Muller Codes: RM(m, r)
Message: A degree polynomial f ∈ 2[x1,··· , xm] of degree at most r.
Encoding: The evaluation of f on all points in {0,1}m
.
f (x1, x2, x3, x4) = x1x2 + x3x4
−→
0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
A linear code, with
▶ Block Length: 2m
:= n
▶ Distance: 2m−r
(lightest codeword: x1x2 ··· xr )
24. Reed-Muller Codes: RM(m, r)
Message: A degree polynomial f ∈ 2[x1,··· , xm] of degree at most r.
Encoding: The evaluation of f on all points in {0,1}m
.
f (x1, x2, x3, x4) = x1x2 + x3x4
−→
0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
A linear code, with
▶ Block Length: 2m
:= n
▶ Distance: 2m−r
(lightest codeword: x1x2 ··· xr )
▶ Dimension: m
0 + m
1 + ··· + m
r =: m
≤r
25. Reed-Muller Codes: RM(m, r)
Message: A degree polynomial f ∈ 2[x1,··· , xm] of degree at most r.
Encoding: The evaluation of f on all points in {0,1}m
.
f (x1, x2, x3, x4) = x1x2 + x3x4
−→
0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
A linear code, with
▶ Block Length: 2m
:= n
▶ Distance: 2m−r
(lightest codeword: x1x2 ··· xr )
▶ Dimension: m
0 + m
1 + ··· + m
r =: m
≤r
▶ Rate: dimension/block length = m
≤r /2m
26. Reed-Muller Codes: RM(m, r)
Generator Matrix: evaluation matrix of deg ≤ r monomials:
v ∈ m
2
M
:= E(m, r)M(v)
27. Reed-Muller Codes: RM(m, r)
Generator Matrix: evaluation matrix of deg ≤ r monomials:
v ∈ m
2
M
:= E(m, r)M(v)
(Every codeword is spanned by the rows.)
28. Reed-Muller Codes: RM(m, r)
Generator Matrix: evaluation matrix of deg ≤ r monomials:
v ∈ m
2
M
:= E(m, r)M(v)
(Every codeword is spanned by the rows.)
Also called the inclusion matrix
(M(v) = 1 if and only if “M ⊂ v”).
31. Decoding RM(m, r)
Worst Case Errors: Up to d/2 (d = 2m−r
is minimal distance).
d
d/2
(algorithm by [Reed54])
32. Decoding RM(m, r)
Worst Case Errors: Up to d/2 (d = 2m−r
is minimal distance).
d
d/2
(algorithm by [Reed54])
List Decoding: max radius with constant # of words
33. Decoding RM(m, r)
Worst Case Errors: Up to d/2 (d = 2m−r
is minimal distance).
d
d/2
(algorithm by [Reed54])
List Decoding: max radius with constant # of words
d [Gopalan-Klivans-Zuckerman08,
Bhowmick-Lovett15]
List decoding radius = d.
34. Two schools of study
▶ Hamming Model a.k.a worst-case errors
▶ Generally the model of interest for complexity theorists,
▶ Reed-Muller codes are not the best for these (far from optimal
rate-distance tradeoffs).
▶ Shannon Model a.k.a random errors
▶ The standard model for coding theorists,
▶ Recent breakthroughs (e.g. Arıkan’s polar codes),
35. Two schools of study
▶ Hamming Model a.k.a worst-case errors
▶ Generally the model of interest for complexity theorists,
▶ Reed-Muller codes are not the best for these (far from optimal
rate-distance tradeoffs).
▶ Shannon Model a.k.a random errors
▶ The standard model for coding theorists,
▶ Recent breakthroughs (e.g. Arıkan’s polar codes),
▶ An ongoing research endeavor:
How do Reed-Muller codes perform in the Shannon model?
36. Models for random corruptions
(channels)
Binary Erasure Channel — BEC(p)
Each bit independently replaced by ‘?’ with probability p
37. Models for random corruptions
(channels)
Binary Erasure Channel — BEC(p)
Each bit independently replaced by ‘?’ with probability p
0 0 1 1 00 0 1
38. Models for random corruptions
(channels)
Binary Erasure Channel — BEC(p)
Each bit independently replaced by ‘?’ with probability p
0 0 1 1 0? ? ?
39. Models for random corruptions
(channels)
Binary Erasure Channel — BEC(p)
Each bit independently replaced by ‘?’ with probability p
0 0 1 1 0? ? ?
Binary Symmetric Channel — BSC(p)
Each bit independently flipped with probability p
40. Models for random corruptions
(channels)
Binary Erasure Channel — BEC(p)
Each bit independently replaced by ‘?’ with probability p
0 0 1 1 0? ? ?
Binary Symmetric Channel — BSC(p)
Each bit independently flipped with probability p
0 0 1 1 00 0 1
41. Models for random corruptions
(channels)
Binary Erasure Channel — BEC(p)
Each bit independently replaced by ‘?’ with probability p
0 0 1 1 0? ? ?
Binary Symmetric Channel — BSC(p)
Each bit independently flipped with probability p
0 0 1 1 01 1 0
42. Models for random corruptions
(channels)
Binary Erasure Channel — BEC(p)
Each bit independently replaced by ‘?’ with probability p
0 0 1 1 0? ? ?
Binary Symmetric Channel — BSC(p)
Each bit independently flipped with probability p
0 0 1 1 01 1 0
(almost) equiv: fixed number t ≈ pn of random errors
44. Channel Capacity
Question: Given a channel, what is the best rate we can hope for?
Binary Erasure Channel — BEC(p)
Each bit independently replaced by ‘?’ with probability p
0 0 1 1 0? ? ?
45. Channel Capacity
Question: Given a channel, what is the best rate we can hope for?
Binary Erasure Channel — BEC(p)
Each bit independently replaced by ‘?’ with probability p
0 0 1 1 0? ? ?
If X n
is transmitted to the channel and received as Y n
, how many bits of
information about X n
do we get from Y n
?
46. Channel Capacity
Question: Given a channel, what is the best rate we can hope for?
Binary Erasure Channel — BEC(p)
Each bit independently replaced by ‘?’ with probability p
0 0 1 1 0? ? ?
If X n
is transmitted to the channel and received as Y n
, how many bits of
information about X n
do we get from Y n
?
Intuitively, (1 − p)n.
47. Channel Capacity
Question: Given a channel, what is the best rate we can hope for?
Binary Symmetric Channel — BSC(p)
Each bit independently flipped with probability p
0 0 1 1 00 1 1
∗ ∗ ∗∗
48. Channel Capacity
Question: Given a channel, what is the best rate we can hope for?
Binary Symmetric Channel — BSC(p)
Each bit independently flipped with probability p
0 0 1 1 00 1 1
∗ ∗ ∗∗
If X n
is transmitted to the channel and received as Y n
, how many bits of
information about X n
do we get from Y n
?
49. Channel Capacity
Question: Given a channel, what is the best rate we can hope for?
Binary Symmetric Channel — BSC(p)
Each bit independently flipped with probability p
0 0 1 1 00 1 1
∗ ∗ ∗∗
If X n
is transmitted to the channel and received as Y n
, how many bits of
information about X n
do we get from Y n
?
Intuitively, (1 − H(p))n. (as n
pn ≈ 2H(p)·n
)
50. Channel Capacity
Question: Given a channel, what is the best rate we can hope for?
[Shannon48] Maximum rate that enables decoding (w.h.p.) is:
1 − p for BEC(p),
1 − H(p) for BSC(p).
Codes achieving this bound called capacity achieving.
51.
52. Motivating questions for this talk
How well does Reed-Muller codes perform in the Shannon Model?
In BEC(p)?
In BSC(p)?
53. Motivating questions for this talk
How well does Reed-Muller codes perform in the Shannon Model?
In BEC(p)?
In BSC(p)?
Are they as good as polar codes?
60. Dual of a code
Any linear space can be specified by a generating basis, or a solution to a
system of constraints.
61. Dual of a code
Any linear space can be specified by a generating basis, or a solution to a
system of constraints.
⊥
= {u : 〈v,u〉 = 0 for every v ∈ }
62. Dual of a code
Any linear space can be specified by a generating basis, or a solution to a
system of constraints.
⊥
= {u : 〈v,u〉 = 0 for every v ∈ }
Parity Check Matrix
(A basis for ⊥
stacked as rows)
PC M v = 0 ⇐⇒ v ∈
63. Linear codes and erasures
0 0 1 1 0? ? ?
Question: When can we decode from a pattern of erasures?
64. Linear codes and erasures
0 0 1 1 0? ? ?
Question: When can we decode from a pattern of erasures?
0 0 1 1 0
0 0 1 1 0
1 0 0
0 1 0
65. Linear codes and erasures
0 0 1 1 0? ? ?
Question: When can we decode from a pattern of erasures?
0 0 1 1 0
0 0 1 1 0
1 0 0
0 1 0
0 0 0 0 01 1 0
66. Linear codes and erasures
0 0 1 1 0? ? ?
Question: When can we decode from a pattern of erasures?
0 0 0 0 01 1 0
67. Linear codes and erasures
0 0 1 1 0? ? ?
Question: When can we decode from a pattern of erasures?
0 0 0 0 01 1 0
Decodable if and only if no non-zero codeword supported on erasures.
68. Linear codes and erasures
? ? ?
Question: When can we decode from a pattern of erasures?
0 0 0 0 01 1 0
Decodable if and only if no non-zero codeword supported on erasures.
Depends only the erasure pattern
69. Linear codes and erasures
? ? ?
Question: When can we decode from a pattern of erasures?
0 0 0 0 01 1 0
70. Linear codes and erasures
? ? ?
Question: When can we decode from a pattern of erasures?
Observation: A pattern of erasures are decodeable if and only if the
corresponding columns of the Parity Check Matrix are linearly
independent.
71. Linear codes and erasures
? ? ?
Question: When can we decode from a pattern of erasures?
Observation: A pattern of erasures are decodeable if and only if the
corresponding columns of the Parity Check Matrix are linearly
independent.
In order for a code to be good for BEC(p), the Parity Check
Matrix of the code must be “robustly high-rank”.
72. Reed-Muller codes under erasures
Cool Fact
The dual of RM(m, r) is RM(m, r′
) where r′
= m − r − 1.
73. Reed-Muller codes under erasures
Cool Fact
The dual of RM(m, r) is RM(m, r′
) where r′
= m − r − 1.
Hence, the Parity Check Matrix of RM(m, r) is the generator matrix of
RM(m, r′
).
74. Reed-Muller codes under erasures
Cool Fact
The dual of RM(m, r) is RM(m, r′
) where r′
= m − r − 1.
Hence, the Parity Check Matrix of RM(m, r) is the generator matrix of
RM(m, r′
).
[m]
≤r′
{0,1}m
v
M
M(v)
76. Reed-Muller codes under erasures
[m]
≤r′
{0,1}m
v
M
M(v)
Question: Let R = m
≤r′ . Suppose you pick (0.99)R columns at
random. Are they linearly independent with high probability?
77. Reed-Muller codes under erasures
[m]
≤r′
{0,1}m
v
M
M(v)
Question: Let R = m
≤r′ . Suppose you pick (0.99)R columns at
random. Are they linearly independent with high probability?
r′
:
m/20 m
o( m/log m)
[ASW-15]
o(m)
[ASW-15]
O( m)
[KMSU+KP-16]
78. Reed-Muller codes under erasures
[m]
≤r′
{0,1}m
v
M
M(v)
Question: Let R = m
≤r′ . Suppose you pick (0.99)R columns at
random. Are they linearly independent with high probability?
r′
:
m/20 m
o( m/log m)
[ASW-15]
o(m)
[ASW-15]
O( m)
[KMSU+KP-16]
OPEN OPEN
79. From erasures to errors
Theorem: [ASW] Any pattern correctable from erasures in
RM(m, m − r − 1) is correctable from errors in RM(m, m − 2r − 2).
80. From erasures to errors
Remark: If r falls in the green zone, then RM(m, m − r − 1) can correct ≈ m
≤r random erasures.
m/20 m
o( m/log m) o(m)O( m)
Theorem: [ASW] Any pattern correctable from erasures in
RM(m, m − r − 1) is correctable from errors in RM(m, m − 2r − 2).
81. From erasures to errors
Remark: If r falls in the green zone, then RM(m, m − r − 1) can correct ≈ m
≤r random erasures.
m/20 m
o( m/log m) o(m)O( m)
Theorem: [ASW] Any pattern correctable from erasures in
RM(m, m − r − 1) is correctable from errors in RM(m, m − 2r − 2).
Corollary #1: (high-rate) Decodeable from (1 − o(1)) m
≤r random
errors in RM(m, m − 2r) if r = o( m/log m)
(min distance of RM(m, m − 2r) is 22r
) .
82. From erasures to errors
Remark: If r falls in the green zone, then RM(m, m − r − 1) can correct ≈ m
≤r random erasures.
m/20 m
o( m/log m) o(m)O( m)
Theorem: [ASW] Any pattern correctable from erasures in
RM(m, m − r − 1) is correctable from errors in RM(m, m − 2r − 2).
83. From erasures to errors
Remark: If r falls in the green zone, then RM(m, m − r − 1) can correct ≈ m
≤r random erasures.
m/20 m
o( m/log m) o(m)O( m)
Theorem: [ASW] Any pattern correctable from erasures in
RM(m, m − r − 1) is correctable from errors in RM(m, m − 2r − 2).
(If r =
m
2
− o( m), then m − 2r − 2 = o( m))
Corollary #2: (low-rate) Decodeable from (
1
2 − o(1))2m
random errors
in RM(m,o( m)) (min distance of RM(m, m) is 2m− m
) .
84. From erasures to errors
Remark: If r falls in the green zone, then RM(m, m − r − 1) can correct ≈ m
≤r random erasures.
m/20 m
o( m/log m) o(m)O( m)
Theorem: [ASW] Any pattern correctable from erasures in
RM(m, m − r − 1) is correctable from errors in RM(m, m − 2r − 2).
(If r =
m
2
− o( m), then m − 2r − 2 = o( m))
Corollary #2: (low-rate) Decodeable from (
1
2 − o(1))2m
random errors
in RM(m,o( m)) (min distance of RM(m, m) is 2m− m
) .
[S-Shpilka-Volk]: Efficient decoding from errors.
87. What we want to prove
Theorem [S-Shpilka-Volk]
There exists an efficient algorithm with the following guarantee:
Given a corrupted codeword w = v + errS of
RM(m, m − 2r − 1),
if S happens to be a correctable erasure pattern in
RM(m, m − r − 1),
then the algorithm correctly decodes v from w.
88. What we have access to
Received word is w := v + errS for some v ∈ RM(m, m − 2r − 2) and
S = {u1,..., ut }.
89. What we have access to
Received word is w := v + errS for some v ∈ RM(m, m − 2r − 2) and
S = {u1,..., ut }.
Parity Check Matrix for RM(m, m − 2r − 2) is the generator matrix for
RM(m,2r + 1).
90. What we have access to
Received word is w := v + errS for some v ∈ RM(m, m − 2r − 2) and
S = {u1,..., ut }.
E(m,2r + 1) v = 0
91. What we have access to
Received word is w := v + errS for some v ∈ RM(m, m − 2r − 2) and
S = {u1,..., ut }.
E(m,2r + 1) w =
92. What we have access to
Received word is w := v + errS for some v ∈ RM(m, m − 2r − 2) and
S = {u1,..., ut }.
E(m,2r + 1) w = M
M(u1) + ··· + M(ut )
93. What we have access to
Received word is w := v + errS for some v ∈ RM(m, m − 2r − 2) and
S = {u1,..., ut }.
E(m,2r + 1) w = M
M(u1) + ··· + M(ut )
Have access to
∑
i∈S M(ui ) for every monomial M with deg(M) ≤ 2r + 1.
94. What we have access to
Received word is w := v + errS for some v ∈ RM(m, m − 2r − 2) and
S = {u1,..., ut }.
E(m,2r + 1) w = M
M(u1) + ··· + M(ut )
Have access to
∑
i∈S f (ui ) for every polynomial f with deg(f ) ≤ 2r + 1.
96. Erasure Correctable Patterns
A pattern of erasures is correctable if and only if the corresponding
columns in the parity check matrix are linearly independent.
97. Erasure Correctable Patterns
A pattern of erasures is correctable if and only if the corresponding
columns in the parity check matrix are linearly independent.
The parity check matrix for RM(m, m − r − 1) is the generator matrix
for RM(m, r).
98. Erasure Correctable Patterns
A pattern of erasures is correctable if and only if the corresponding
columns in the parity check matrix are linearly independent.
The parity check matrix for RM(m, m − r − 1) is the generator matrix
for RM(m, r).
Corollary
A set of patterns S = {u1,..., ut } is erasure-correctable in
RM(m, m − r − 1) if and only if ur
1 ,..., ur
t are linearly independent.
ur
i
is just the vector of degree r monomials evaluated at ui
100. The Decoding Algorithm
Input: Received word w (= v + errS)
Lemma
Assume that S is a pattern of erasures correctable in RM(m, m − r − 1).
101. The Decoding Algorithm
Input: Received word w (= v + errS)
Lemma
Assume that S is a pattern of erasures correctable in RM(m, m − r − 1).
For any arbitrary u ∈ {0,1}m
, we have u ∈ S if and only if there exists a
polynomial g with deg(g) ≤ r such that
∑
i∈S
(f · g)(ui ) = f (u) for every f with deg(f ) ≤ r + 1.
102. The Decoding Algorithm
Input: Received word w (= v + errS)
Lemma
Assume that S is a pattern of erasures correctable in RM(m, m − r − 1).
For any arbitrary u ∈ {0,1}m
, we have u ∈ S if and only if there exists a
polynomial g with deg(g) ≤ r such that
∑
i∈S
(f · g)(ui ) = f (u) for every f with deg(f ) ≤ r + 1.
Can be checked by solving a system of linear equations.
Algorithm is straightforward.
103. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m
such that ur
1 ,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
104. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m
such that ur
1 ,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Proof.
ur
1 ··· ur
t
105. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m
such that ur
1 ,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Proof.
ur
1 ··· ur
t Row operations
I
0
106. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m
such that ur
1 ,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
107. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m
such that ur
1 ,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Main Lemma (⇒): If u ∈ S, then there is a polynomial g with
deg(g) ≤ r such that
∑
ui ∈S
(f · g)(ui ) = f (u) for every f with deg(f ) ≤ r + 1.
108. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m
such that ur
1 ,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Main Lemma (⇒): If u ∈ S, then there is a polynomial g with
deg(g) ≤ r such that
∑
ui ∈S
(f · g)(ui ) = f (u) for every f with deg(f ) ≤ r + 1.
If u = ui , then g = hi satisfies the conditions.
109. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m
such that ur
1 ,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
110. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m such that ur
1
,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
111. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m such that ur
1
,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Claim 2
If u /∈ {u1,..., ut }, then there is a polynomial f such that deg(f ) ≤ r + 1 and
f (u) = 1 , but f (ui ) = 0 for all i = 1,..., t.
112. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m such that ur
1
,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Claim 2
If u /∈ {u1,..., ut }, then there is a polynomial f such that deg(f ) ≤ r + 1 and
f (u) = 1 , but f (ui ) = 0 for all i = 1,..., t.
Main Lemma (⇐): If u /∈ S, then there is no polynomial g with
deg(g) ≤ r such that
∑
ui ∈S
(f · g)(ui ) = f (u) for every f with deg(f ) ≤ r + 1.
113. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m such that ur
1
,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Claim 2
If u /∈ {u1,..., ut }, then there is a polynomial f such that deg(f ) ≤ r + 1 and
f (u) = 1 , but f (ui ) = 0 for all i = 1,..., t.
Proof
114. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m such that ur
1
,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Claim 2
If u /∈ {u1,..., ut }, then there is a polynomial f such that deg(f ) ≤ r + 1 and
f (u) = 1 , but f (ui ) = 0 for all i = 1,..., t.
Proof
Case 1: Suppose hi (u) = 1 for some i.
u
1
u1
0
ut
0···
ui
0 1 0 ···
115. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m such that ur
1
,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Claim 2
If u /∈ {u1,..., ut }, then there is a polynomial f such that deg(f ) ≤ r + 1 and
f (u) = 1 , but f (ui ) = 0 for all i = 1,..., t.
Proof
Case 1: Suppose hi (u) = 1 for some i.
u
1
u1
0
ut
0···
ui
0 1 0 ···
u ̸= ui hence u(ℓ) ̸= (ui )(ℓ) for some coordinate ℓ.
116. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m such that ur
1
,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Claim 2
If u /∈ {u1,..., ut }, then there is a polynomial f such that deg(f ) ≤ r + 1 and
f (u) = 1 , but f (ui ) = 0 for all i = 1,..., t.
Proof
Case 1: Suppose hi (u) = 1 for some i.
u
1
u1
0
ut
0···
ui
0 1 0 ···
u ̸= ui hence u(ℓ) ̸= (ui )(ℓ) for some coordinate ℓ.
f (x) = hi (x) · xℓ − (ui )(ℓ) works.
u
1
u1
0
ut
0···
ui
0 ···
117. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m such that ur
1
,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Claim 2
If u /∈ {u1,..., ut }, then there is a polynomial f such that deg(f ) ≤ r + 1 and
f (u) = 1 , but f (ui ) = 0 for all i = 1,..., t.
Proof
Case 2: Suppose hi (u) = 0 for all i.
118. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m such that ur
1
,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Claim 2
If u /∈ {u1,..., ut }, then there is a polynomial f such that deg(f ) ≤ r + 1 and
f (u) = 1 , but f (ui ) = 0 for all i = 1,..., t.
Proof
Case 2: Suppose hi (u) = 0 for all i.
Look at
∑
hi (x).
u
0
u1
1
ut
1···
119. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m such that ur
1
,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Claim 2
If u /∈ {u1,..., ut }, then there is a polynomial f such that deg(f ) ≤ r + 1 and
f (u) = 1 , but f (ui ) = 0 for all i = 1,..., t.
Proof
Case 2: Suppose hi (u) = 0 for all i.
Look at
∑
hi (x).
u
0
u1
1
ut
1···
f (x) = 1 −
∑
hi (x) works.
u
1
u1
0
ut
0···
120. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m such that ur
1
,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Claim 2
If u /∈ {u1,..., ut }, then there is a polynomial f such that deg(f ) ≤ r + 1 and
f (u) = 1 , but f (ui ) = 0 for all i = 1,..., t.
Proof
Case 2: Suppose hi (u) = 0 for all i.
Look at
∑
hi (x).
u
0
u1
1
ut
1···
f (x) = 1 −
∑
hi (x) works.
u
1
u1
0
ut
0···
121. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m such that ur
1
,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Claim 2
If u /∈ {u1,..., ut }, then there is a polynomial f such that deg(f ) ≤ r + 1 and
f (u) = 1 , but f (ui ) = 0 for all i = 1,..., t.
122. Proof of Lemma
Claim 1
Let u1,..., ut ∈ {0,1}m such that ur
1
,..., ur
t are linearly independent.
Then, for each i ∈ [t], there is a polynomial hi such that:
▶ deg(hi ) ≤ r,
▶ hi (uj ) = 1 if and only if i = j, and 0 otherwise.
Claim 2
If u /∈ {u1,..., ut }, then there is a polynomial f such that deg(f ) ≤ r + 1 and
f (u) = 1 , but f (ui ) = 0 for all i = 1,..., t.
Therefore, if ur
1 ,..., ur
t are linearly independent, then there exists a
polynomial g with deg(g) ≤ r satisfying
∑
ui ∈S
(f ·g)(ui ) = f (u) , for every polynomial f with deg(f ) ≤ r + 1,
if and only if u = ui for some i.
124. Decoding Algorithm
▶ Input: Received word w (= v + errS)
▶ Compute E(m,2r + 1)w to get the value of
∑
ui ∈S f (ui ) for every
polynomial f with deg(f ) ≤ 2r + 1.
125. Decoding Algorithm
▶ Input: Received word w (= v + errS)
▶ Compute E(m,2r + 1)w to get the value of
∑
ui ∈S f (ui ) for every
polynomial f with deg(f ) ≤ 2r + 1.
▶ For each u ∈ {0,1}m
, solve for a polynomial g with deg(g) ≤ r
satisfying
∑
ui ∈S
(f · g)(ui ) = f (u) , for every f satisfying deg(f ) ≤ r + 1.
If there is a solution, then add u to Corruptions.
126. Decoding Algorithm
▶ Input: Received word w (= v + errS)
▶ Compute E(m,2r + 1)w to get the value of
∑
ui ∈S f (ui ) for every
polynomial f with deg(f ) ≤ 2r + 1.
▶ For each u ∈ {0,1}m
, solve for a polynomial g with deg(g) ≤ r
satisfying
∑
ui ∈S
(f · g)(ui ) = f (u) , for every f satisfying deg(f ) ≤ r + 1.
If there is a solution, then add u to Corruptions.
▶ Flip the coordinates in Corruptions and interpolate.
129. ICYMI
Remark: If r falls in the green zone, then RM(m, m − r − 1) can correct ≈ m
≤r random erasures.
m/20 m
o( m/log m) o(m)O( m)
130. ICYMI
Remark: If r falls in the green zone, then RM(m, m − r − 1) can correct ≈ m
≤r random erasures.
m/20 m
o( m/log m) o(m)O( m)
Theorem: [S-Shpilka-Volk] Any pattern that is erasure-correctable in
RM(m, m − r − 1) is efficiently error-correctable in RM(m, m − 2r − 2).
131. ICYMI
Remark: If r falls in the green zone, then RM(m, m − r − 1) can correct ≈ m
≤r random erasures.
m/20 m
o( m/log m) o(m)O( m)
Theorem: [S-Shpilka-Volk] Any pattern that is erasure-correctable in
RM(m, m − r − 1) is efficiently error-correctable in RM(m, m − 2r − 2).
Corollary #1: (high-rate) Efficiently decodeable from (1 − o(1)) m
≤r
random
errors in RM(m, m − 2r) if r = o( m/log m).
(min distance of RM(m, m − 2r) is 22r
)
132. ICYMI
Remark: If r falls in the green zone, then RM(m, m − r − 1) can correct ≈ m
≤r random erasures.
m/20 m
o( m/log m) o(m)O( m)
Theorem: [S-Shpilka-Volk] Any pattern that is erasure-correctable in
RM(m, m − r − 1) is efficiently error-correctable in RM(m, m − 2r − 2).
Corollary #1: (high-rate) Efficiently decodeable from (1 − o(1)) m
≤r
random
errors in RM(m, m − 2r) if r = o( m/log m).
(min distance of RM(m, m − 2r) is 22r
)
Corollary #2: (low-rate) Efficiently decodeable from (
1
2
− o(1))2m
random
errors in RM(m,o( m)). (min distance of RM(m, m) is 2m− m
)
133. The obvious open question
[m]
≤r
{0,1}m
v
M
M(v)
Question: Let R = m
≤r . Suppose you pick (0.99)R columns at random.
Are they linearly independent with high probability?
134. The obvious open question
[m]
≤r
{0,1}m
v
M
M(v)
Question: Let R = m
≤r . Suppose you pick (0.99)R columns at random.
Are they linearly independent with high probability?
r :
m/20 m
o( m/log m)
[ASW-15]
o(m)
[ASW-15]
O( m)
[KMSU+KP-16]
135. The obvious open question
[m]
≤r
{0,1}m
v
M
M(v)
Question: Let R = m
≤r . Suppose you pick (0.99)R columns at random.
Are they linearly independent with high probability?
r :
m/20 m
o( m/log m)
[ASW-15]
o(m)
[ASW-15]
O( m)
[KMSU+KP-16]
OPEN OPEN
136. The obvious open question
[m]
≤r
{0,1}m
v
M
M(v)
Question: Let R = m
≤r . Suppose you pick (0.99)R columns at random.
Are they linearly independent with high probability?
r :
m/20 m
o( m/log m)
[ASW-15]
o(m)
[ASW-15]
O( m)
[KMSU+KP-16]
OPEN OPEN
end{document}