Linear-Time Erasure List-Decoding of Expander Codes Noga Ron-Zewi (University of Haifa) Mary Wootters (Stanford) Gilles Zémor (Université de Bordeaux) ISIT 2020
Linear-Time 3 Erasure List-Decoding of 1 Expander Codes 2 1. Erasure List-Decoding • Decoding ECCs from so many erasures that there’s not a unique solution. 2. Expander Codes • Codes based on expander graphs, known for linear-time unique decoding algorithms. 3. Linear-Time • Main contribution: a linear-time algorithm for erasure list-decoding expander codes. • One motivation: linear-time list-decoding algorithms from errors .
Erasure List-Decoding 1
Uniquely decoding linear codes from erasures • A linear code 𝐷 ⊆ 𝐺 ! is a linear subspace. • The (relative) distance 𝜀 of 𝐷 is the minimum relative Hamming distance between 𝑑 " ≠ 𝑑 # ∈ 𝐷 . - ? = - ? Message 𝑦 ∈ 𝐺 ! - ? Generator Matrix 𝐻 ∈ 𝐺 "×! = ? Solve for 𝑦 ! ? ? Adversarial Erasure Channel Fewer than 𝜀𝑂 erasures ⇒ Codeword 𝑑 ∈ 𝐷 There is a unique x that could lead to this corrupted codeword. Alice Bob
List decoding linear codes from erasures • The (relative) generalized r’th distance of 𝐷 is Solve for an r-dimensional 𝜀 $ = 1 subspace of solutions. 𝑂 ⋅ min 𝑗 ∈ [𝑂]: ∃𝑤 ∈ 𝑊 ∶ 𝑤 % ≠ 0 r-dimensional subspaces 𝑊 - ? = - ? Message 𝑦 ∈ 𝐺 ! - ? Generator Matrix - ? 𝐻 ∈ 𝐺 $×! = ? ? ? Adversarial Erasure Channel ? Fewer than 𝜀 % 𝑂 erasures Codeword 𝑑 ∈ 𝐷 ⇒ [Guruswami 2003] There is a r-dimensional subspace of x’s that could lead Alice Bob to this corrupted codeword.
Goals in Erasure-List Decoding • List size isn’t too big (equivalently, 𝜀 $ is small). • Bob can find the list quickly (ideally in time 𝑃(𝑂) ) • Before this work, no known algorithms to do this for any code.
Expander Codes 2
Expander Codes: definition-by-picture The labels on these edges form 0 a codeword in 𝐷 & d 1 + linear code 𝐷 & ⊆ 𝐺 ' 0 0 0 ⇒ expander code 𝐷 = 𝐷(𝐻, 𝐷 & ) ⊆ 𝐺 (' 1 1 0 Also these 0 • Codewords in 𝐷 are given by labelings of the edges of 𝐻 . (So the length is 𝑂 = 𝑜𝑒 ). 1 • Constraints are given by the vertices: adjacent edges must form a codeword of 𝐷 * n n d-regular bipartite expander graph 𝐻
Expander Codes • Introduced by [Sipser, Spielman 1996]. • See also [Zémor 2001] for the formulation we use here. • If 𝐷 & has dimension 𝑙 > 𝑒/2 , then 𝐷 has dimension 𝑜 2𝑙 − 𝑒 . ) 𝜇 is the • If 𝐷 & has distance 𝜀 , then 𝐷 has distance at least 𝜀 𝜀 − ' . expansion of 𝐻 . Think 𝜇 ≈ 𝑒. • 𝐷 can be uniquely decoded in linear time. • More precisely, 𝐷 can be decoded from up to a 1 − 𝜗 𝜀 𝜀 − + , fraction of erasures in time 𝑃 𝑂 ⋅ , ! for some constant c. -
A linear-time algorithm 3 for list-decoding expander codes from erasures
Theorem • Fix parameters 𝑠 , 𝜗 > 0 . • Let 𝐷 & have distance 𝜀, r’th generalized distance 𝜀 $ . • Let 𝐻 be a 𝑒 -regular bipartite expander with expansion 𝜇 . * ! + ! ) • Suppose that ' ≤ # "#$ . • Then the expander code 𝐷 = 𝐷 𝐷 & , 𝐻 can be list-decoded , # " ' from up to 1 − 𝜗 𝜀𝜀 $ 𝑂 erasures in time O 𝑂 ⋅ *+ # !"#% and returns a list of dimension at most * $ + $ .
Theorem • Fix parameters 𝑠 , 𝜗 > 0 . • Let 𝐷 & have distance 𝜀, r’th generalized distance 𝜀 $ . • Let 𝐻 be a 𝑒 -regular bipartite expander with expansion 𝜇 . * ! + ! ) • Suppose that ' ≤ # "#$ . • Then the expander code 𝐷 = 𝐷 𝐷 & , 𝐻 can be list-decoded , # " ' from up to 1 − 𝜗 𝜀𝜀 $ 𝑂 erasures in time O 𝑂 ⋅ *+ # !"#% and returns a list of dimension at most * $ + $ . aka, linear in 𝑂 Ideally this would be 𝜀 ! 𝐷 𝑂. Ideally, this would be r. For 𝑠 = 2, 𝜀 " 𝐷 ≈ 𝜀𝜀 " under appropriate conditions. If 𝜀 ! 𝐷 = 𝜀𝜀 ! , then our algorithm For larger 𝑠, getting a handle on 𝜀 ! (𝐷) seems tricky. returns a list of dimension r.
Algorithm idea (inspired by [Hemenway-W. 2015]) 1. List-decode 𝐷 * at every vertex where 0 there are fewer than 𝜀 2 𝑒 erasures. ? ? 1 ? ? r-dimensional subspace: 1 𝑒 𝐵 + 𝑐 ? ? 𝑠
Observation Suppose these two rows are the same. r-dimensional subspace: + 𝑒 𝑐 𝐵 𝑠 Then a symbol on one of these edges determines a symbol on the other.
Algorithm idea (inspired by [Hemenway-W. 2015]) 1. List-decode 𝐷 * at every vertex where there are fewer than 𝜀 2 𝑒 erasures. 2. Use the observation to define equivalence classes on the edges. Determining the symbol on any edge in the equivalence • class determines them all. Because of expander-ness, a few large equivalence • classes cover most of the graph. 3. Slow thing to do: exhaust over all assignments for all classes. This is technically linear-time in 𝑂 , but it runs in time • doubly-exponential in 𝑠 . L
Algorithm idea (inspired by [Hemenway-W. 2015]) 1. List-decode 𝐷 * at every vertex where there are fewer than 𝜀 2 𝑒 erasures. 2. Use the observation to define equivalence classes on the edges. Determining the symbol on any edge in the equivalence • class determines them all. Because of expander-ness, a few large equivalence • classes cover most of the graph. 3. Set up and solve a linear system to find labels for each equivalence class that satisfy all the constraints. This is fast because (a) there are not too many • equivalence classes and (b) the constraints are sparse. 4. Unique decode to fix the few remaining erasures.
Theorem • Fix parameters 𝑠 , 𝜗 > 0 . • Let 𝐷 & have distance 𝜀, r’th generalized distance 𝜀 $ . • Let 𝐻 be a 𝑒 -regular bipartite expander with expansion 𝜇 . * ! + ! ) • Suppose that ' ≤ # "#$ . • Then the expander code 𝐷 = 𝐷 𝐷 & , 𝐻 can be list-decoded , # " ' from up to 1 − 𝜗 𝜀𝜀 $ 𝑂 erasures in time O 𝑂 ⋅ *+ # !"#% and returns a list of dimension at most * $ + $ . aka, linear in 𝑂 Ideally this would be 𝜀 ! 𝐷 𝑂. Ideally, this would be r. For 𝑠 = 2, 𝜀 " 𝐷 ≈ 𝜀𝜀 " under appropriate conditions. If 𝜀 ! 𝐷 = 𝜀𝜀 ! , then our algorithm For larger 𝑠, getting a handle on 𝜀 ! (𝐷) seems tricky. returns a list of dimension r.
Open questions • What is 𝜀 $ (𝐷) for expander codes? Can we decode in linear-time up to that? • Linear-time list-decoding algorithms from errors? Other questions? • Please ask me at marykw@stanford.edu!
Recommend
More recommend