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)$.
翻译:在纠错码的设定中,Alice希望通过一种对错误具有鲁棒性的编码$\text{enc}(x)$将消息$x \in \{0,1\}^n$发送给Bob。在本研究中,我们探讨Bob作为低空间解码器的场景。更准确地说,他逐比特接收Alice的编码$\text{enc}(x)$,并期望在低空间条件下计算某个函数$f(x)$。通用的纠错码无法实现这一目标,因为解码是一个全局性很强的过程,至少需要线性空间。局部可解码码部分解决了这一问题,它们允许Bob在低空间条件下获知$x$的某个给定比特,但无法计算任意函数$f$。我们的主要成果是提出了一种编码与解码方案,使得即使在输入流中存在恒定比例的损坏时,Bob仍能在低空间条件下计算任意此类函数$f$。具体而言,我们描述了一种长度为$\text{poly}(n)$的编码函数$\text{enc}(x)$,使得对于任何在输入$x$时以空间$s$计算$f(x)$的解码器(流算法)$A$,都存在一个显式构造的解码器$B$,只要输入流$\text{enc}(x)$中(对抗性)错误的比例不超过$\frac14 - \varepsilon$,该解码器就能以$s \cdot \text{polylog}(n)$的空间复杂度计算$f(x)$。