Error Correction for Message Streams
Meghal Gupta, Rachel Yun Zhang
TL;DR
The paper addresses computing functions from a binary message stream under adversarial noise while using sublinear space. It introduces a noise-resilient encoding enc that expands the stream to m bits and a decoder that converts any deterministic low-space streaming algorithm into a robust, low-space counterpart on the encoded stream, tolerating up to a (1/4 − ε) fraction of errors. The construction leverages locally decodable codes with confidence measures and a recursive decomposition that aggregates decoding attempts while keeping memory usage polylogarithmic in n; for linear functions the encoding length reduces to near-quadratic, and for general functions to near-quadratic or near-linear in refined variants. The approach yields practical guarantees: high-probability correctness, explicit encoding, and sublinear space overhead, offering a framework bridging streaming algorithms, error-correcting codes, and interactive coding concepts. The results have significance for robust streaming in resource-constrained devices and noisy communication settings, with potential improvements and refinements explored in subsequent work.
Abstract
In the setting of error correcting codes, Alice wants to send a message $x \in \{0,1\}^n$ to Bob via an encoding $\text{enc}(x)$ that is resilient to error. In this work, we investigate the scenario where Bob is a low space decoder. More precisely, he receives Alice's encoding $\text{enc}(x)$ bit-by-bit and desires to compute some function $f(x)$ in low space. A generic error-correcting code does not accomplish this because decoding is a very global process and requires at least linear space. Locally decodable codes partially solve this problem as they allow Bob to learn a given bit of $x$ in low space, but not compute a generic function $f$. Our main result is an encoding and decoding procedure where Bob is still able to compute any such function $f$ in low space when a constant fraction of the stream is corrupted. More precisely, we describe an encoding function $\text{enc}(x)$ of length $\text{poly}(n)$ so that for any decoder (streaming algorithm) $A$ that on input $x$ computes $f(x)$ in space $s$, there is an explicit decoder $B$ that computes $f(x)$ in space $s \cdot \text{polylog}(n)$ as long as there were not more than $\frac14 - \varepsilon$ fraction of (adversarial) errors in the input stream $\text{enc}(x)$.
