In this work, we introduce a framework to study the effect of random operations on the combinatorial list decodability of a code. The operations we consider correspond to row and column operations on the matrix obtained from the code by stacking the codewords together as columns. This captures many natural transformations on codes, such as puncturing, folding, and taking subcodes; we show that many such operations can improve the list-decoding properties of a code. There are two main points to this. First, our goal is to advance our (combinatorial) understanding of list-decodability, by understanding what structure (or lack thereof) is necessary to obtain it. Second, we use our more general results to obtain a few interesting corollaries for list decoding:
(*) We show the existence of binary codes that are combinatorially list-decodable from 2 1 − fraction of errors with optimal rate ( 2 ) that can be encoded in *linear* time. (*) We show that any code with (1) relative distance, when randomly folded, is combinatorially list-decodable 1 − fraction of errors with high probability. This formalizes the intuition for why the folding operation has been successful in obtaining codes with optimal list decoding parameters; previously, all arguments used algebraic methods and worked only with specific codes. (*) We show that any code which is list-decodable with suboptimal list sizes has many subcodes which have near-optimal list sizes, while retaining the error correcting capabilities of the original code. This generalizes recent results where subspace evasive sets have been used to reduce list sizes of codes that achieve list decoding capacity.
The first two results follow from the techniques of Wootters (STOC 2013) and Rudra and Wootters (STOC 2014); one of the main technical contributions of this paper is to demonstrate the generality of the techniques in those earlier works. The last result follows from a simple direct argument.