Tight Bounds for Stream Decodable Error-Correcting Codes
Abstract
In order to communicate a message over a noisy channel, a sender (Alice) uses an error-correcting code to encode her message, a bitstring , into a codeword. The receiver (Bob) decodes correctly whenever there is at most a small constant fraction of adversarial errors in the transmitted codeword. We investigate the setting where Bob is restricted to be a low-space streaming algorithm. Specifically, Bob receives the message as a stream and must process it and write in order to a write-only tape while using low (say polylogarithmic) space. Note that such a primitive then allows the execution of any downstream streaming computation on .
We show three basic results about this setting, which are informally as follows:
-
(i)
There is a stream decodable code of near-quadratic length, resilient to error-fractions approaching the optimal bound of .
-
(ii)
There is no stream decodable code of sub-quadratic length, even to correct any small constant fraction of errors.
-
(iii)
If Bob need only compute a private linear function of the bits of , instead of writing them all to the output tape, there is a stream decodable code of near-linear length.
Our constructions use locally decodable codes with additional functionality in the decoding, and (for the result on linear functions) repeated tensoring. Our lower bound, which rather surprisingly demonstrates a strong information-theoretic limitation originating from a computational restriction, proceeds via careful control of the message indices that may be output during successive blocks of the stream, a task complicated by the arbitrary state of the decoder during the algorithm.
Keywords and phrases:
Coding theory, Streaming computation, Locally decodable code, Lower BoundsCopyright and License:
2012 ACM Subject Classification:
Theory of computation Error-correcting codesFunding:
Research supported in part by NSF GRFP Fellowships (for M.G and M.S), a Simons Investigator award (for V.G), and NSF grans CCF-2210823 and CCF-2211972.Editors:
Srikanth SrinivasanSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Consider the following task: a sender wishes to communicate a message to a receiver that it receives and processes bit-by-bit. This scenario arises, for instance, in automatic control applications, where a device receives an incoming stream of instructions that it executes in sequence. Concretely, consider a small satellite receiving instructions from a large control center on the ground. The control center wants to send the satellite instructions in a way that satisfies two properties:
-
Error resilience. The satellite should execute the correct set of instructions even if a constant fraction of the transmission is corrupted.
-
Low-memory decoding. The satellite should be able to process the instructions in order while only using limited space (significantly less than the total length of the instructions).
Sending the list of instructions directly, although easy to process and execute one-by-one, offers no resilience against errors. On the other hand, encoding into with a standard error-correcting code [29, 17] is resilient to error, but requires the receiver to store the whole stream to decode, and thus use too much space. An intermediate approach would be to encode the individual instructions each by error-correcting codes as . However, this does not withstand a constant overall fraction of corruption: the adversary can corrupt entirely, using only a fraction of corruption, and thus never allow the satellite to recover . We remark that is reminiscent of the issue faced by the naive approach, that encodes each round separately, in protecting interactive communication against errors [26]. What we would like is a code that encodes the message globally but can be decoded in low space as the encoded message arrives.
Stream-decodable codes.
This motivates the notion of a stream-decodable error-correcting code. In this model, we require that the receiver can output the entire message when any small fraction of the message is adversarially corrupted while using low space (for example, space) to process the transmission bit-by-bit. More formally, a stream decodable code has the following two components:
-
An encoding function .
-
A randomized decoding algorithm that uses space ( is much smaller than : for instance, ). For all , and for any within Hamming distance of , it should hold that outputs with high probability.
It is not clear that such codes should exist at all for any , even for small error rates and an arbitrary communication blow-up . In particular, a standard error-correcting code could require storing the full encoding at once to process, and so it requires .
Our first result constructs stream-decodable codes that achieve the following parameters (see Theorem 1 for a precise statement).
-
Error resilience of for any , matching the best possible error resilience of standard error-correcting codes.
-
Near-quadratic blow-up in communication: (here is small – typically , but when , then ). This is a larger blow-up in communication than incurred by standard error-correcting codes.
The construction itself is quite simple: it encodes the message by a locally decodable code of near-linear length, and repeats the encoding times. The more interesting part is the corresponding decoding algorithm for Bob. To this end, we work with stronger local decoding guarantees, specifically having access to soft information for unique decoding, and local list decoding with advice from close to errors.
A matching lower bound.
Our next result demonstrates, surprisingly, that the communication blowup of our codes is essentially optimal: any stream-decodable code requires transmission length , in contrast to the standard error-correction model. (See Theorem 2 for the precise statetemt.) This result is surprising and notable because it obtains a strong lower bound on an information-theoretic quantity (the codeword blow-up) leveraging the computational restriction of space-boundedness. The lower bound is established by carefully controlling the set of message indices that the decoder can output when processing successive blocks of sub-linear size of the stream. It is also interesting to contrast this with the earlier mentioned setting of interactive communication, which despite the challenge of encoding the global conversation that is only available in local fragments, admits non-trivial schemes with a constant factor communication blow-up, from Schulman’s seminal work [26] and many follow-ups (surveyed in [10]).
Comparison to [12].
Our work can be viewed as a strengthening of and resolution to most of the open problems in [12]. The problem is framed slightly differently in their work: in [12], instead of outputting , the decoder is only required to output a single bit . Here, the function represents the output of an arbitrary streaming algorithm performed on , so it must be possible to compute in space in a streaming manner. The function is unknown to Alice (or else she could simply send the value to Bob) but known to the adversary causing the errors. One could imagine, for example, that is an arbitrary linear function of , or one’s physical location after executing some (possibly non-commutative) sequence of movements .
For this problem, [12] provide a scheme requiring slightly larger than encoding length. Specifically, if , their code requires space. Our notion of a stream-decodable code is necessarily stronger: that is, if the decoder can write to an output tape in that order, they can also compute the output of any streaming algorithm in low space. In this sense, we provide a generic “front-end” error-correction scheme that enables executing any streaming task in a noise-resilient manner. Further, our construction improves upon the encoding length of the one in [12], providing a nearly quadratic-length code for their problem.
Gupta and Zhang [12] also specifically investigate the scenario where Alice knows beforehand that Bob’s function is a linear function of . For this restricted class of functions, they demonstrate a scheme that uses slightly larger than encoding length.
Near-linear length code for stream computation of linear functions.
Our final result, stated precisely as Theorem 3, is a new scheme for stream-decoding linear functions. Specifically, we improve upon Gupta and Zhang’s result, demonstrating a scheme that requires only near-linear communication in for computing linear functions. This is achieved using a tensor product of locally decodable codes for the encoding, and a careful recursive decoding approach to recover the desired linear function of the message.
1.1 The model definition
Before we provide the technical statements of our three main results, let us formally define the model of stream decodable codes. A -stream coding scheme with probability of success consists of the following:
-
An explicit family of encoding algorithms with encoding time .
-
An explicit family of randomized decoding algorithms that read the input in a stream and are permitted memory and time. The output is written to a one-way (left-to-right) write-only tape that writes only left-to-right. Whenever the Hamming distance , correctly outputs with probability .
More generally, a -stream coding scheme for a family of functions consists of the following similar components, with the same time and space guarantees as above:
-
An explicit family of encoding algorithms .
-
For each , an explicit family of randomized decoding algorithms that read the input in a stream and outputs to one-way write-only tape. Whenever the Hamming distance , the decoder outputs with probability .
We emphasize that the encoding has no knowledge of , only of the family , while the decoding algorithm must succeed for all .
1.2 Our results
In this section, we formally state our results. In this section, when we use the phrase “absolute constant” to describe any parameter, we mean that any asymptotic notation henceforth may have constants depending on that absolute constant.
The first result is a stream decodable error-correcting code incurring approximately quadratic blow-up in communication.
Theorem 1.
Fix any absolute constant . Then, for some large enough and , the following hold.
-
If for some absolute constant , then there is a -stream coding scheme.
-
For any function , there is a -stream coding scheme. (Here, the implicit constants in the may depend on those in the .)
Both schemes succeed with probability .
The second result establishes that Theorem 1 is essentially optimal. That is, any encoding of a message that permits a low-space streaming algorithm to decode requires length. We view this as one of the major surprises and contributions of this work.
Theorem 2.
Fix an absolute constant and let the space for the decoding algorithm be . Suppose there is a -coding scheme for streams that succeeds with probability at least . Then, .
The final result states that the encoding length can be made almost linear for stream coding schemes that compute a linear function . Here, the decoder need only output a private linear function of the input bits rather than the entire input. When for sufficiently small , this can even be made exactly linear, which is optimal.
Theorem 3.
Fix any absolute constant . Then, for some large enough and , the following hold.
-
If for some absolute constant , then there is a -stream coding scheme for the family of linear functions.
-
If for some absolute constant , then there is a -coding scheme for the family of linear functions.
Both schemes succeed with probability .
1.3 Discussion and further directions
Tightening lower order terms
Both Theorem 1 and Theorem 3 construct codes that are not optimal in lower-order terms. It may be possible to construct stream coding schemes of exactly length and stream coding schemes for linear functions of length . This is an interesting direction for future work.
Specifically, in the case of linear functions, it may be possible to construct constant rate codes. Interestingly, we can pose this question for an even more restrictive class of functions than linear functions: the class of index functions. These are the functions for all . We do not even know if constant rate stream coding schemes exist here, when is sufficiently small, say .
One simple strategy is to encode with a locally decodable code requiring queries to recover an index. The decoder can then ignore all the indices except the it needs to recover the target index, and in space, recover any individual index of the message. Indeed, for our constructions in both Theorem 1 and Theorem 3, this procedure is an important primitive. Unfortunately, the best locally decodable codes for polylogarithmic locality have super-linear encoding length [32], and so are not constant rate.
However, this is not necessarily the only way. Barring a constant rate construction of -query locally decodable codes, can we construct constant rate stream decoding schemes? We remark that if one removes the streaming requirement and only requires that the decoder be low space with arbitrary queries, constant rate codes are known [30, 13].
Improvements to the lower bound
We will discuss a few potential strengthenings to Theorem 2.
The work of [12] initially proposes the model of stream coding schemes where the decoder need only output , for an arbitrary choice of Boolean function that can be computed by receiving in a stream in space. The simplest way to accomplish this task is to compute in order and perform the streaming computation of as each bit is discovered. Our lower bound shows that this method requires encoding length , but there could be a different way. Nonetheless, we conjecture that there is a Boolean function computable by a -space streaming algorithms for which the lower bound of encoding length holds. Candidates for such a function might be some form of group product over non-abelian groups.
Secondly, our lower bound in Theorem 2 only disproves stream coding schemes where the decoder outputs with probability . However, random guessing only outputs correctly with probability . We conjecture that a stream coding scheme requires space to output even if we only require the success probability to be .
1.4 Related Work
Aside from the connection to [12], we discuss the relation of our work different models of error-correcting codes and to streaming algorithms.
Efficiency of error-correction algorithms.
Our work explores the model of stream decodable error-correcting codes where the decoder must be low-space and read the codeword bits in a single pass. Without the latter restriction, it is known how to construct asymptotically good codes for which a logspace decoder can correct a constant fraction of errors, and in fact one can also have a logspace encoder [30, 13]. Note that the decoder is not restricted to a single pass on the codeword. Since one typically receives a communicated codeword as a stream, a natural question is whether such results extends to low space decoding in a stream. This is our focus, and we show that for error-correction in this setting, one cannot have codes of constant rate, and in fact a near quadratic blow-up in message length becomes necessary.
Codes against streaming channels.
Streaming in the context of error-correction has previously been considered for channels which are low-space (say logarithmic in the code length) and cause errors in an online fashion as they read the input codeword in a single pass. This was part of a more general line of work on coding against computationally bounded channels whose systematic study was initiated in [15]. List-decodable codes with optimal rate against such channels were constructed in [27] for all error fractions , and their decoding time improved in [20]. More recently and surprisingly, even unique-decodable codes with optimal rate (for at most fractions of errors caused by a streaming channel) were constructed in [28].
There is also beautiful work on causal channels, which must read the codeword in one pass, but there is no space restriction [5]. In contrast, our work is in the model where the receiver, as opposed to the channel, is the computationally restricted party.
Additionally, the authors of [8] consider a related version of the problem we consider, where the encoder also receives the message as a stream rather than all at once, but the encoder and decoder are permitted shared randomness. In this setting, they show that it is possible to achieve a constant-rate encoding with any constant fraction of errors less than 1 (over large alphabets).
Locally decodable codes.
One specific type of error-correcting codes related to our result is that of locally decodable codes. Locally decodable codes [33] can be viewed as a low-time and low-space version of error-correcting codes, where the goal is to learn a single bit of the original message. In constrast, for us, the decoder must be able to piece the entire stream with the relaxation that the decoder accesses the entire encoding via a stream rather than via query access. Locally decodable codes have been constructed in a variety of different parameter regimes, including constant query [7, 6] and rates approaching [19]. In our work, we will use Reed-Muller codes [24, 25] that achieve query complexity and slightly super-linear block length.
As discussed in Section 1.3, our work also connects to locally decodable codes as a relaxation of the query model. Specifically, -query locally decodable codes are space stream coding schemes for the family of linear functions (as long as the locally decodable code permits decoding space). Thus, our model can be viewed as a simpler setting than local decoding in which to construct high rate codes. In particular, the existence of constant rate stream decodable codes for index functions may be easier to resolve than constant rate polylogarithmic-query locally decodable codes.
Streaming Algorithms.
The algorithms in this work are streaming algorithms for processing noisy encoded communication.
Streaming algorithms are a prolific field of research with algorithms for a multitude of problems, including approximate counting [23] on approximate counting, heavy hitters [3], approximation [1, 22, 18], and identifying a nonzero entry in a vector (for turnstile algorithms) [22]. Many works, for example [9, 4, 21, 2], also consider the problem of processing noisy data using streaming algorithms. [9] shows a memory lower bound for learning a parity function with noisy samples of random linear equations.
However, the typical streaming setting is quite different from our setting. The algorithms mentioned above are used to process adversarial or “random” data. Our algorithms on the other hand process carefully formatted streams in the presence of communication noise, rather than sample or data noise. Our streaming algorithms are for processing formatted communication rather than processing data.
2 Preliminaries
Notation
-
The function is in base unless otherwise specified.
-
The set denotes the integers .
-
Given a tuple and element , the expression denotes concatenated to .
-
The phrase “with high probability in ” means with probability at least .
-
We use to denote the Hamming distance between two strings , and to denote the relative distance between them (i.e. ). Any element of is considered distance from .
-
For clarity, we will often omit floor and ceiling signs where they would technically be necessary.
Lemma 4 (Tail bound for -wise independent random variables).
Let be an even integer. Suppose are -wise independent random variables taking values in . Let and . Then
2.1 Error-correcting codes
We begin with some results about error-correcting codes. We first state a theorem detailing the existence of distance codes that are efficiently encodable and efficiently decodable. It is standard, and based on GMD decoding of concatenated codes with an outer code approaching the Singleton bound (like Reed-Solomon or algebraic-geometric codes), and a small inner code of relative distance close to (see for instance [14, Chap.14]).
Theorem 5.
For every and every finite field , there exists an explicit systematic linear error-correcting code with relative distance at least and , and a -time and space decoding algorithm , such that for any and satisfying , it holds that .
Our constructions will use Reed-Muller codes (based on evaluations of multivariate polynomials) concatenated with the codes from Theorem 5. In order to locally decode these codes, we will correct them along lines for which we would need to run list decoding algorithms for concatenated codes with outer Reed-Solomon codes. The following list decoding result for such codes is standard, and based on list-decoding the inner codes by brute force and list-recovering the outer Reed-Solomon codes; see for example [16]. (Better parameters are possible, but having rate and output list size suffices for our purposes.)
Theorem 6.
Let . Let be a concatenated code with outer Reed-Solomon code over of rate and an inner code of relative distance at least . Then can be list-decoded in time from a fraction of errors with an output list size of .
3 Locally decodable/correctable codes
In this section, we introduce the locally decodable/correctable codes that will form the backbone of the constructions in our paper. There are two theorems we require, one for Section 4 and one for Section 6. Each of our codes will require a feature besides just correctness of local decoding/correcting when the distance to a codeword is small. Both proofs are omitted for this conference version.
Our first code for binary alphabets has two additional requirements. It requires that the decoder output a probability of each output and rather than only one of them (smoothness). This requirement is similar to list decoding with confidences from [12], and we adapt their proof below. Secondly, it has a local decoding with advice guarantee. To establish this notion, we use ideas similar to [31] and the locally list-decodable codes of [11].
Our second code requires only a smoothness guarantee for local decoding. However, it is in the regime with large alphabet and non-constant , and the code is required to be linear.
Theorem 7 (Binary locally decodable code).
Fix an arbitary . Let . There is a code that satisfies the following properties:
-
Length: The length .
-
Distance: For any , it holds that .
-
Smooth local decoding/correcting: There exists a randomized algorithm that on input (resp. input ) non-adaptively queries bits of the encoding and runs in time and space and achieves the following guarantee. For any word , with high probability in , the algorithm outputs probabilities for that satisfy and (resp. ).
-
Local decoding with advice: There exists a randomized algorithm that on input queries bits of the encoding (non-adaptively) and runs in time and space, and a distribution on (independent of ) for some (that is, subsets of indices of size ), which does the following. For any word satisfying , it outputs with high probability in when additionally given for .
The proof can be found in the full version of the paper on arXiv.
We next turn to the proof of the large alphabet version of Theorem 7. Here, we will only need the smooth local decoding guarantee.
Theorem 8 (Large alphabet locally decodable code).
Let and let be a field of the form where , and let . There is a linear code that satisfies the following properties:
-
Length: The length satsifies .
-
Distance: For any , it holds that .
-
Large alphabet smooth local decoding/correcting: There exists a randomized algorithm that on input (resp. input ) queries bits (non-adaptively) of the encoding and runs in time and space and does the following. For any word , it outputs a list of probabilities for , satisfying that , at most one has , and (resp. ) with high probability in . Here, the Hamming distance between and is . Moreover, the decoding algorithm queries any specific index with probability at most .
The proof can be found in the full version of the paper on arXiv.
4 Stream decodable codes of near quadratic length
In this section we prove Theorem 1, which is a construction of a stream-decodable code that achieves nearly quadratic length in polylogarithmic space. We restate it here:
Theorem 1. [Restated, see original statement.]
Fix any absolute constant . Then, for some large enough and , the following hold.
-
If for some absolute constant , then there is a -stream coding scheme.
-
For any function , there is a -stream coding scheme. (Here, the implicit constants in the may depend on those in the .)
Both schemes succeed with probability .
For convenience, we will scale by a factor of 10, so that the adversary introduces at most errors into the stream (rather than ). Also, we will present an algorithm whose space is rather than just , since we can simply scale to account for this. We will assume throughout this section that is sufficiently large.
The encoding algorithm will be very simple. First, we let . Then, we take a code as in Theorem 7 with parameters , and let have length . Then, we simply define as follows:
Definition 9.
Define , where denotes the string repeated times, and .
Note that we will then have , so the adversary will be permitted at most errors.)
We now describe how the decoding algorithm will work, as given formally in Algorithm 1. Let be chosen as in the “local decoding with advice” property in Theorem 7, and let . Pick indices , where are chosen according to the distribution in Theorem 7 and are chosen uniformly randomly.
Informally, these bits will be used to create a “checksum” for . More explicitly, we will use the first part of the stream to determine what are with high probability. Then, for the remaining (corrupted) copies of , we will first check whether they have at most errors by comparing their bits at . Then, if they do, we will use the local decoding with advice property in Theorem 7 to recover bits of .
More specifically, for each index , we will keep track of quantities , which are the total confidence that is 0 or 1, respecitively. When receiving the stream, we will perform smooth local decoding (as described in Theorem 7) on each (corrupted) copy of , to obtain confidences for each index (in parallel for each ). For each , we then increment , respectively, by the obtained . We show the following claim:
Claim 10.
With high probability, the following holds for all and at every step of the algorithm: Let . Suppose that, after reading corrupted copies of , we have . Then, the number of errors in the first copies of is at least .
The proof can be found in the full version of the paper on arXiv.
5 Stream decodable codes require quadratic length
We now prove our lower bound, Theorem 2 (restated below), demonstrating that the construction in Section 4 is essentially tight. That is, any error-correcting code that can be decoded with failure probability at most by a stream permitting space must have encoding length at least .
Theorem 2. [Restated, see original statement.]
Fix an absolute constant and let the space for the decoding algorithm be . Suppose there is a -coding scheme for streams that succeeds with probability at least . Then, .
Proof.
Suppose otherwise; that is, suppose that there is a -coding scheme for streams, where , is a fixed constant, and (and is sufficiently large). Also, we may assume that (otherwise the statement is obvious).
We will then demonstrate how to construct an adversarial input for this coding scheme, so that fails with probability at least . First, note that we can assume that does not output anything when it receives a 0 bit (except at the end of the stream): instead, we may have keep track of the length of the current run of 0s (using only memory), and process all the 0s when it encounters the next 1. In particular, we will have the adversary replace several parts of the input with all 0s, and thus we can assume that the algorithm does not output anything at these parts (except perhaps the last block).
For an input string , the encoding then has length . We split up into contiguous “blocks” which each consist of bits; denote these blocks (we will sometimes abbreviate by just ). We will consider what the algorithm may output during each block, assuming that the block is uncorrupted. Essentially, we will show that there is a fixed set of roughly indices such that essentially only outputs indices from this set while it is processing block .
To this end, we will let denote the contents of the memory of right before receiving block . Note that is random and may depend on the randomness of , as well as on the bits that the adversary has changed in previous blocks. We will mostly restrict our attention to values of that do not cause the algorithm to fail with significant probability. Specifically, we say that is good with respect to , or just good (for particular values of and ), if the probability that outputs an incorrect bit during block with starting memory is at most . (This probability is taken over only the randomness of the algorithm , since the contents of block are a deterministic function of .)
Now, suppose that the decoder currently has memory state and is about to receive block (whose contents are ). While it processes , it will output various bits of ; that is, there are various pairs for which will output that . (We assume, as we may, that keeps track of which index it is on, so we can determine from the memory contents of .) When it does so, we say that outputs the pair . Then, let be the set of all which outputs with probability at least when it receives with initial memory contents . (Again, this probability is only over the randomness of .) Note that if is good (with respect to ), then must match (that is, for all ). Note that is a deterministic function of .
We are now ready to prove the following lemma.
Lemma 11.
There exists such that the following holds for all : There is a set of size at most such that for all good , we have .
Proof.
Let each be good (with respect to a particular choice of and ), where . Consider the following union:
Essentially, if we can show, for a particular , that this union is always small, we will then be able to show that cannot take too large a range of values as (good) varies, because the union of any such instances will have small size. To this end, we first show the following claim.
Claim 12.
There exists such that, for every , the union always has size at most (no matter the choice of good ’s).
Proof.
First observe that since each must match , this means that must also match (recall that this means that for every , we have ). However, is a deterministic function of , which consists of bits. Therefore, there are only at most possible values that can take for any particular . Thus, in total (over all ) there are at most possible values for .
However, each possible value of that has size at least can only match a proportion of . Therefore, there exists some which does not match any possible of size at least , thus proving the claim.
Now fix such that Claim 12 holds, and let be arbitrary. We will now finish the proof of Lemma 11 by constructing . Let be the family that consists of for all good . Claim 12 means that the union of any sets in has size at most . We wish to find which contains all but at most elements of each .
Now, construct in steps as follows: at each step, find which has more than elements which are not in , and add all its elements to . This process terminates when there is no such remaining. Obviously this set satisfies for all , so it remains only to check that . Indeed, suppose that ; consider the first step in which its size reached or exceeded . Note that at each step the size of increases by more than , so in total the number of steps for to reach is at most . But then is the union of at most sets in and has size at least , contradicting Claim 12. Thus, has the desired properties, completing the proof of Lemma 11.
With this lemma proven, we return to the proof of Theorem 2. We will now demonstrate a strategy for the adversary such that, with probability at least , the decoding algorithm fails to output . Fix the input and sets such that Lemma 11 is satisfied.
Now, the adversary picks a uniformly random index . Then, for each such that contains at least indices in , the adversary replaces the whole block with zeros (unless it is the last block). We will first show that must fail on this input with probability at least . Let us suppose otherwise.
As before, let be the (random) memory state of before processing . Note that with probability at least , all the are good (since in the cases where they are not, fails with probability at least ). If they are all good, then by the definition of and a union bound (over the block number and the indices ), with probability at least , at every block , the indices output during block are all in . In this case, observe that during block , may never output the index (or any greater index). Indeed, if this were not the case, during some block would have to output everything in , but then we would have , contradicting Lemma 11.
Thus, right before the last block, the algorithm cannot have output any index past . Then, in the last block, the algorithm outputs at most by Lemma 11. Therefore, overall, with probability at least , the algorithm outputs at most indices, and thus does not output all of .
Therefore we have shown that, under this strategy for the adversary, the algorithm must fail on with probability at least . It remains only to show that the adversary deletes (i.e., replaces with ’s) at most an fraction of blocks. Indeed, it is enough to show that at most an fraction of blocks are deleted in expectation, since the adversary can pick such that the fewest blocks are deleted. Fix a block . The probability that gets deleted is equal to the probability that has at least indices in the interval . For any fixed , there are at most choices of such that lands in this interval, so the probability that it does is at most (since is chosen uniformly at random from choices). Thus the expected number of indices in in the interval is . By Markov’s inequality, the probability that this is at least is at most . Therefore, the probability that is replaced with ’s is at most for each block . The expected number of blocks replaced by ’s is therefore at most .
Putting everything together, the adversary has a strategy which deletes at most an fraction of blocks (and thus at most an fraction of the bits) which causes to fail with probability at least . This completes the proof of Theorem 2.
6 Stream decodable codes for linear functions of near linear length
Our final result is a noise-resilient encoding of essentially linear length that admits efficient stream decoding of arbitrary linear functions. The family of linear functions is defined as the functions for which there exists such that .
Theorem 3. [Restated, see original statement.]
Fix any absolute constant . Then, for some large enough and , the following hold.
-
If for some absolute constant , then there is a -stream coding scheme for the family of linear functions.
-
If for some absolute constant , then there is a -coding scheme for the family of linear functions.
Both schemes succeed with probability .
Parameters and notation
Throughout this section, fix (we will hide dependence on in big notation), if it exists, and the space function . Let represent the length of Alice’s message. We assume that . Set the following parameters:
Let be where so that the condition of Theorem 8 is satisfied for and .
Let with be a linear locally decodable code satisfying the guarantees of Theorem 8 for . The locality is . This is satisfied whenever because
since is sufficiently large compared to . We will set subject to this constraint later. Also note that which is a fact we will use later and must be satisfied.
This gives us a value of , satisfied if . We will actually set later, subject to this constraint. We can make larger as needed by a variety of methods, such as padding the input or duplicating each bit of the code.
We assume for simplicity that and are integers. It will be useful to index Alice’s (the sender’s) input by a tuple in rather than an integer in . Whenever we say an event occurs with high probability, we mean with high probability in unless specified otherwise. We refer the reader to Section 2 to review notation used in this section.
6.1 Statement of encoding scheme
The encoding that Alice (the encoder) sends in the stream is a tensor code. To this end, we begin by defining a tensor power of a linear code . We remark that tensor products of distinct linear codes can also be defined, but we will only need to take a tensor power of one code.
Definition 13 ().
Let be a linear error correcting code on strings of length on some alphabet . Since the code is linear, is an matrix. Then the -th tensor power of this encoding matrix is the encoding function . We note that for any code , it holds that is the identity function.
Next, we will state the encoding that Alice (the encoder) sends in the stream.
Definition 14 ().
Let be a distance linear code guaranteed by Theorem 5. It’s length is .
Definition 15 ().
Alice’s encoding is is defined as follows. Viewing as an element of (which we may since is of the form , she computes (where the message and codeword bits are both taken in lexicographic order) and concatenates this with .
We note that Alice’s encoding is length , and her encoding takes time at most . We’ll later choose our parameters to satisfy the conditions of Theorem 3.
6.2 Statement of decoding scheme
Let Bob’s private vector be , (here the ordering is lexicographic). The function Bob is trying to compute is . For , the vector is defined to be an dimensional vector that denotes restricted to indices where the first entries of the tuple are . Throughout, we will view and as elements of rather than and note that it suffices to compute in . The same notation applies for or any other string canonically indexed by tuples.
Before we state our main algorithm, we efficiently construct lists satisfying certain properties that Bob can find in space and time. These lists will be the indices of LDC that we query for each , and it will be important that they overlap as little as possible.
Lemma 16.
Given a locally decodable code satisfying with queries satisfying the requirements of Theorem 8 for , there is a (randomized) algorithm (permitted probability of failure) that generates lists in time and space such that the following holds. The smooth local decoding algorithm for each index queries only the indices , and for each , with high probability in , satisfies the smoothness guarantees in Theorem 8 for all . Moreover, no appears in more than lists.
The proof can be found in the full version of the paper on arXiv.
We are now ready to state the main algorithm.
The proof of Theorem 3 can be found in the full version of the paper on arXiv.
References
- [1] Noga Alon, Yossi Matias, and Mario Szegedy. The space complexity of approximating the frequency moments. In Proceedings of the twenty-eighth annual ACM symposium on Theory of computing, pages 20–29, 1996. doi:10.1145/237814.237823. 6
- [2] Omri Ben-Eliezer, Rajesh Jayaram, David P Woodruff, and Eylon Yogev. A framework for adversarially robust streaming algorithms. ACM Journal of the ACM (JACM), 69(2):1–33, 2022. doi:10.1145/3498334. 7
- [3] Moses Charikar, Kevin Chen, and Martin Farach-Colton. Finding frequent items in data streams. In International Colloquium on Automata, Languages, and Programming, pages 693–703. Springer, 2002. doi:10.1007/3-540-45465-9_59. 6
- [4] Jiecao Chen and Qin Zhang. Bias-aware sketches. arXiv preprint arXiv:1610.07718, 2016. arXiv:1610.07718. 7
- [5] Zitan Chen, Sidharth Jaggi, and Michael Langberg. A characterization of the capacity of online (causal) binary channels. In Proceedings of the 47th Annual ACM on Symposium on Theory of Computing, pages 287–296, 2015. doi:10.1145/2746539.2746591. 6
- [6] Zeev Dvir, Parikshit Gopalan, and Sergey Yekhanin. Matching vector codes. SIAM Journal on Computing, 40(4):1154–1178, 2011. doi:10.1137/100804322. 6
- [7] Klim Efremenko. 3-query locally decodable codes of subexponential length. In Proceedings of the forty-first annual ACM symposium on Theory of computing, pages 39–44, 2009. doi:10.1145/1536414.1536422. 6
- [8] Matthew Franklin, Ran Gelles, Rafail Ostrovsky, and Leonard J. Schulman. Optimal coding for streaming authentication and interactive communication. IEEE Transactions on Information Theory, 61(1):133–145, 2015. doi:10.1109/TIT.2014.2367094. 6
- [9] Sumegha Garg, Pravesh K Kothari, Pengda Liu, and Ran Raz. Memory-sample lower bounds for learning parity with noise. arXiv preprint arXiv:2107.02320, 2021. arXiv:2107.02320. 7
- [10] Ran Gelles. Coding for interactive communication: A survey. Found. Trends Theor. Comput. Sci., 13(1-2):1–157, 2017. doi:10.1561/0400000079. 3
- [11] Shafi Goldwasser, Dan Gutfreund, Alexander Healy, Tali Kaufman, and Guy N Rothblum. Verifying and decoding in constant depth. In Proceedings of the thirty-ninth annual ACM symposium on Theory of computing, pages 440–449, 2007. doi:10.1145/1250790.1250855. 8
- [12] Meghal Gupta and Rachel Yun Zhang. A noise resilient transformation for streaming algorithms. arXiv preprint arXiv:2307.07087, 2023. doi:10.48550/arXiv.2307.07087. 3, 5, 8
- [13] Venkatesan Guruswami and Valentine Kabanets. Hardness amplification via space-efficient direct products. Computational Complexity, 17(4):475–500, 2008. doi:10.1007/S00037-008-0253-1. 5, 6
- [14] Venkatesan Guruswami, Atri Rudra, and Madhu Sudan. Essential coding theory. Draft available at http://cse. buffalo. edu/faculty/atri/courses/coding-theory/book, 2019. 7
- [15] Venkatesan Guruswami and Adam Smith. Optimal rate code constructions for computationally simple channels. Journal of the ACM (JACM), 63(4):1–37, 2016. doi:10.1145/2936015. 6
- [16] Venkatesan Guruswami and Madhu Sudan. List decoding algorithms for certain concatenated codes. In Proceedings of the Thirty-Second Annual ACM Symposium on Theory of Computing, STOC ’00, pages 181–190, New York, NY, USA, 2000. Association for Computing Machinery. doi:10.1145/335305.335327. 7
- [17] R. W. Hamming. Error detecting and error correcting codes. The Bell System Technical Journal, 29(2):147–160, 1950. doi:10.1002/j.1538-7305.1950.tb00463.x. 2
- [18] Piotr Indyk and David Woodruff. Optimal approximations of the frequency moments of data streams. In Proceedings of the thirty-seventh annual ACM symposium on Theory of computing, pages 202–208, 2005. doi:10.1145/1060590.1060621. 6
- [19] Swastik Kopparty, Shubhangi Saraf, and Sergey Yekhanin. High-rate codes with sublinear-time decoding. J. ACM, 61(5), September 2014. doi:10.1145/2629416. 6
- [20] Swastik Kopparty, Ronen Shaltiel, and Jad Silbak. Quasilinear time list-decodable codes for space bounded channels. In 60th Annual Symposium on Foundations of Computer Science (FOCS), 2019. 6
- [21] Chaoyi Ma, Haibo Wang, Olufemi Odegbile, and Shigang Chen. Noise measurement and removal for data streaming algorithms with network applications. In 2021 IFIP Networking Conference (IFIP Networking), pages 1–9. IEEE, 2021. doi:10.23919/IFIPNETWORKING52078.2021.9472845. 7
- [22] Morteza Monemizadeh and David P Woodruff. 1-pass relative-error lp-sampling with applications. In Proceedings of the twenty-first annual ACM-SIAM symposium on Discrete Algorithms, pages 1143–1160. SIAM, 2010. doi:10.1137/1.9781611973075.92. 6, 7
- [23] Robert Morris. Counting large numbers of events in small registers. Communications of the ACM, 21(10):840–842, 1978. doi:10.1145/359619.359627. 6
- [24] David E Muller. Application of boolean algebra to switching circuit design and to error detection. Transactions of the IRE professional group on electronic computers, 3(3):6–12, 1954. doi:10.1109/IREPGELC.1954.6499441. 6
- [25] Irving S Reed. A class of multiple-error-correcting codes and the decoding scheme. IEEE Transactions on Information Theory, 4(4):38–49, 1954. doi:10.1109/TIT.1954.1057465. 6
- [26] Leonard J. Schulman. Coding for interactive communication. IEEE Trans. Inf. Theory, 42(6):1745–1756, 1996. doi:10.1109/18.556671. 2, 3
- [27] Ronen Shaltiel and Jad Silbak. Explicit list-decodable codes with optimal rate for computationally bounded channels. computational complexity, 30:1–70, 2021. 6
- [28] Ronen Shaltiel and Jad Silbak. Explicit uniquely decodable codes for space bounded channels that achieve list-decoding capacity. In Proceedings of the 53rd Annual ACM SIGACT Symposium on Theory of Computing, pages 1516–1526, 2021. doi:10.1145/3406325.3451048. 6
- [29] C. E. Shannon. A mathematical theory of communication. The Bell System Technical Journal, 27(3):379–423, 1948. doi:10.1002/j.1538-7305.1948.tb01338.x. 2
- [30] Daniel A. Spielman. Linear-time encodable and decodable error-correcting codes. IEEE Trans. Inf. Theory, 42(6):1723–1731, 1996. doi:10.1109/18.556668. 5, 6
- [31] Madhu Sudan, Luca Trevisan, and Salil Vadhan. Pseudorandom generators without the xor lemma. In Proceedings of the thirty-first annual ACM symposium on Theory of computing, pages 537–546, 1999. 8
- [32] Sergey Yekhanin. Locally decodable codes. Foundations and Trends in Theoretical Computer Science, 6(3):139–255, 2012. doi:10.1561/0400000030. 5
- [33] Sergey Yekhanin et al. Locally decodable codes. Foundations and Trends® in Theoretical Computer Science, 6(3):139–255, 2012. doi:10.1561/0400000030. 6
