June 03, 2026
In the sequence reconstruction problem, a codeword \(\boldsymbol{x}\) is transmitted through several identical channels where each channel produces a noisy read of \(\boldsymbol{x}\), and the problem is to analyze how to uniquely reconstruct \(\boldsymbol{x}\) based on these noisy reads. Levenshtein has studied the minimum number of reads which guarantees unique reconstruction of \(\boldsymbol{x}\), which is one sufficient condition for unique reconstruction. In this paper, we move on to a different perspective and propose a new framework for unique reconstruction. Our new sufficient condition for unique reconstruction takes both the number of reads and the distances among the reads into consideration. We offer both theoretical analysis and corresponding efficient reconstruction algorithms for our reconstruction framework.
Assume a codeword \(\boldsymbol{x}\) from a given code \(\mathcal{C}\) is transmitted via several identical channels, where each channel produces a noisy read of \(\boldsymbol{x}\). The sequence reconstruction problem, first proposed in 2001 by Levenshtein [2], asks for how to uniquely reconstruct \(\boldsymbol{x}\) in the worst case based on these multiple noisy reads. In particular, when the number of reads is only one, then unique reconstruction can be guaranteed if and only if \(\mathcal{C}\) is chosen as an classical error-correcting code for this channel. Recently, the sequence reconstruction problem gained renewed interest, mostly due to the development of DNA storage [3]–[10]. In current DNA storage techniques, each DNA string is amplified into a large number of copies via PCR, and then multiple noisy copies of the same string, after sequencing and clustering, could be read. Using these reads to reconstruct the original DNA string is exactly the sequence reconstruction problem.
In his seminal work [2], Levenshtein provided a proof of the fact that the minimum number of distinct reads which guarantees unique reconstruction is \(N+1\), where \(N\) is the maximum size of the intersection of any two error balls centered at two distinct codewords from \(\mathcal{C}\). Here, the error ball centered at a codeword \(\boldsymbol{x}\) refers to the set of all possible outputs of the channel when transmitting \(\boldsymbol{x}\). The value \(N\) is usually referred to as the unique reconstruction threshold. Levenshtein calculated this value for various channels with a single type of error, such as substitutions, transpositions, asymmetric errors, deletions, insertions, etc. [2]. Following Levenshtein, most works on sequence reconstruction are devoted to the combinatorial problem of calculating \(N\), for given channels and codes \(\mathcal{C}\), and then design corresponding efficient reconstruction algorithms when the number of reads exceeds the unique reconstruction threshold [11]–[21].
While studying the unique reconstruction threshold is of its own combinatorial interest, the aim of this paper is to seek new sufficient (and even necessary, if possible) conditions other than Levenshtein’s threshold, for unique reconstruction. There are at least three motivations. First, the threshold value \(N\) is usually at least a polynomial of the codeword length \(n\), and thus becomes impractically large as \(n\) grows. Second, Levenshtein’s threshold is indeed a worst-case analysis for the reconstruction problem (in the sense that we must collect enough reads for reconstruction), and it is natural to consider the following problem: When the number of reads is less than the threshold, is there any way to answer efficiently whether unique reconstruction is possible? And if so, what are the additional desired properties which could guarantee unique reconstruction? Finally, the number of reads for a given string is not a mechanism we can completely control in current DNA sequencing technology (It is possible to control how many reads in total are going to be sampled, but not how many reads we will collect for each strand [22]), and thus we should analyze whether unique reconstruction is possible when we read less than the threshold for some strands.
In this paper, we focus on the binary substitution channel and propose a new sufficient condition for unique reconstruction, which takes both the number of reads and the distances among the reads into consideration. Informally, our framework is based on the following observation: If a set of reads lie in the intersection of two error balls centered at two distinct codewords, then the distribution of these reads should be relatively concentrated. Our main contributions and some highlights are summarized as follows:
For two codewords \(\boldsymbol{x}\) and \(\boldsymbol{y}\) of length \(n\) with minimum distance \(d\), and the substitution channel with at most \(t\geq \lceil \frac{d}{2} \rceil\) errors, we propose the concept of \(D(n,m,t,d)\) to be the maximum value of the sum of the pairwise distances among \(m\) distinct sequences in \(B_t(\boldsymbol{x})\cap B_t(\boldsymbol{y})\). Detailed theoretical analysis on \(D(n,m,t,d)\) is given.
We propose a new sufficient condition for unique reconstruction: The summation of pairwise distances among a given set of \(m\) reads exceeds the value \(D(n,m,t,d)\). In other words, such a set of reads cannot lie in the intersection of two error balls centered at two distinct codewords, and thus unique reconstruction is theoretically guaranteed. Note that compared with Levenshtein’s reconstruction threshold, our condition is a function of the actual reads and could work even if the number of reads is way less than Levenshtein’s threshold.
We also provide reconstruction algorithms corresponding to our new condition. In the algorithms we discuss how to reconstruct the original sequence based on a set of reads triggering the condition (referred to as a triggering set), as well as how to find such a triggering set among a large set of reads. For the latter there are two interesting cases: either we may find a triggering subset among a large non-triggering set of reads, or we may transform a non-triggering set into a triggering multi-set.
It is worth mentioning some related works. One related parallel work [23] assumes that the noisy reads are received sequentially and the decoder applies the majority decoding algorithm, and then the expected number of reads until successful reconstruction is studied. Several papers have considered the list reconstruction problem [17], [24]–[26], in which the decoder only needs to generate a list with a predetermined size containing the correct transmitted codeword. In particular, in [25], [26] the authors also considered the distance between the reads, and analyzed how to use two distinct reads with large distance to obtain a (short) list of candidate codewords. Meanwhile, the sequence reconstruction problem has also been considered in slightly different settings. The trace reconstruction problem is a variant which considers probabilistic channels (where each bit is erroneous with a certain probability) instead of combinatorial channels (where there is an upper bound on the number of errors) [27]–[32]. Another related line of work studies reconstruction from multiple noisy views, in which the same underlying sequence is observed through several independent stochastic channels, and the goal is to characterize how these views jointly reduce uncertainty and improve recoverability (see [33]–[37]).
The rest of the paper is organized as follows. Section 2 introduces the relevant notations and the general framework of our new sufficient condition for unique reconstruction. In Section 3 we present the theoretical analysis for the parameters in our sufficient condition, and the corresponding reconstruction algorithm is presented in Section 4. Section 5 contains more discussions about the difficulty to characterize equivalent conditions for unique reconstruction. Finally Section 6 concludes the paper with a list of open problems.
For integers \(m < n\), let \([m, n] = \{m, m+1, \ldots, n\}\) and denote \([1, n]\) as \([n]\) for short. For any set \(A\), let \(|A|\) be the size of \(A\), and for any \(a\in [0, |A|]\), let \(\binom{A}{a}\) be the family of all subsets of \(A\) of size \(a\). We use \(\{\{\cdot\}\}\) to denote a multiset. Let \(\Sigma_2 = \{0, 1\}\) be the binary alphabet and \(\Sigma_2^n\) be the set of sequences of length \(n\) over \(\Sigma_2\). For two sequences \(\boldsymbol{x}\) and \(\boldsymbol{y}\), let \(\boldsymbol{x}\boldsymbol{y}\) be the concatenation of \(\boldsymbol{x}\) and \(\boldsymbol{y}\), and let \(\boldsymbol{x}^n\) be the concatenation of \(n\) copies of \(\boldsymbol{x}\) itself. Specifically, \(\boldsymbol{x}^0\) is the empty string \(\boldsymbol{\epsilon}\). For two sequences \(\boldsymbol{x}= (x_1, x_2, \ldots, x_n)\) and \(\boldsymbol{y}= (y_1, y_2, \ldots, y_n)\), let \(d_H(\boldsymbol{x}, \boldsymbol{y})\) be the Hamming distance between \(\boldsymbol{x}\) and \(\boldsymbol{y}\), i.e., \(d_H(\boldsymbol{x}, \boldsymbol{y}) = |\{i\in [n]:x_i\neq y_i\}|\). Let \(B_t(\boldsymbol{x})\) be the Hamming ball of radius \(t\) centered at \(\boldsymbol{x}\), i.e., \(B_t(\boldsymbol{x}) = \{\boldsymbol{y}\in\Sigma_2^n: d_H(\boldsymbol{x}, \boldsymbol{y})\leq t\}\). A code \(\mathcal{C}\) is a subset of \(\Sigma_2^n\), and the minimum Hamming distance of a code \(\mathcal{C}\) is the minimum Hamming distance between any two distinct codewords in \(\mathcal{C}\). For \(\boldsymbol{x}= (x_1, x_2, \ldots, x_n)\in\Sigma_2^n\) and \(S\subseteq[n]\), let \(\boldsymbol{x}_S\) be the projection of \(\boldsymbol{x}\) onto the coordinates \(S\).
The sequence reconstruction problem for substitution errors was first proposed by Levenshtein [2]. Let \(\mathcal{C}\) be a code in \(\Sigma_2^n\) with minimum Hamming distance \(d\). Assume that a codeword \(\boldsymbol{x}\in\mathcal{C}\) is transmitted through several substitution channels, where each channel can cause at most \(t\) substitution errors, i.e., the output set of the noisy reads is a subset of \(B_t(\boldsymbol{x})\). When \(t<\left\lceil \frac{d}{2} \right\rceil\), by the property of error-correcting codes one can decode \(\boldsymbol{x}\) from any single output in \(B_t(\boldsymbol{x})\). Thus, in the reconstruction problem, we always focus on the case \(t\geq \left\lceil \frac{d}{2} \right\rceil\). Furthermore, in Levenshtein’s reconstruction problem, it is assumed that the channels produce distinct outputs. In this paper, we adhere to these two assumptions unless otherwise stated. The goal is to reconstruct \(\boldsymbol{x}\) by multiple distinct noisy copies. In [2], it was shown that if the number of outputs is at least \(N(n, t, d) + 1\), where \[N\left(n, t, d\right) \triangleq \max_{\boldsymbol{x}\neq\boldsymbol{y}\in\Sigma_2^n, d_H\left(\boldsymbol{x}, \boldsymbol{y}\right) = d}\left\{|B_t\left(\boldsymbol{x}\right)\cap B_t\left(\boldsymbol{y}\right)|\right\},\] then unique reconstruction of the original sequence is guaranteed. It has been proved by Levenshtein in [2] that \[N\left(n, t, d\right)=\sum_{i=0}^{t-\left\lceil\frac{d}{2}\right\rceil}\binom{n-d}{i} \sum_{h=d-t+i}^{t-i}\binom{d}{h},\] and we refer to this value as the unique reconstruction threshold.
A common reconstruction algorithm in the sequence reconstruction problem for the substitution channel is the majority decoding algorithm, defined as follows.
Definition 1 (The majority decoding algorithm). Given a set of reads \(\{\boldsymbol{z}_1,\dots,\boldsymbol{z}_m\}\subseteq B_t(\boldsymbol{x})\), for each coordinate \(i\in[n]\), let \(n_{i,1}\) be the number of reads whose \(i\)-th coordinate equals 1, and let \(n_{i,0}\) be the number of reads whose \(i\)-th coordinate equals 0. If \(n_{i,1}>n_{i,0}\), then we decode \(x_i\) as 1. If \(n_{i,1}<n_{i,0}\), then we decode \(x_i\) as 0. If \(n_{i,1}=n_{i,0}\), then we decode \(x_i\) as 1 or 0 arbitrarily.
It can be easily checked that when \(\mathcal{C}\) is the whole space \(\Sigma_2^n\) (then \(d = 1\)), given a set of reads \(\{\boldsymbol{z}_1,\dots,\boldsymbol{z}_m\}\subseteq B_t(\boldsymbol{x})\) with \(m=N(n, t, 1) + 1\), the reconstruction of \(\boldsymbol{x}\) can be simply done by the majority decoding algorithm, since for each coordinate the majority decoding algorithm produces the correct value. The majority decoding algorithm and its variations have been widely used in the reconstruction of substitution errors [16], [24], [26].
Reading \(N(n, t, d) + 1\) distinct noisy copies is one sufficient condition for unique reconstruction in the worst case. However, the value \(N(n, t, d)\) becomes impractically large as \(n\) grows. When the number of reads is less than the unique reconstruction threshold, is it possible to characterize some other sufficient (and even necessary, if possible) conditions for unique reconstruction? Say we transmit a codeword \(\boldsymbol{x}\in \mathcal{C}\) and have a set of reads \(\{\boldsymbol{z}_1,\dots,\boldsymbol{z}_m\}\subseteq B_t(\boldsymbol{x})\). A straightforward way is to check whether \(\bigcap_{i = 1}^{m}B_t(\boldsymbol{z}_i)\cap \mathcal{C}\) contains exactly one codeword. However, this method is highly inefficient as the size of each Hamming ball is a polynomial of \(n\). It is desirable to have simpler conditions for unique reconstruction. To the best of our knowledge, this type of problem is rarely considered and seems rather non-trivial. In this paper, we initiate the research on this problem, by proposing a sufficient condition which takes both the number of reads and the distances among the reads into consideration. The key idea originates from the observation of the following extreme case, when three reads are already enough for unique reconstruction.
Lemma 1. For positive integers \(t\) and \(n\), let \(\boldsymbol{x}\) be a sequence in \(\Sigma_2^n\) and \(\{\boldsymbol{z}_1, \boldsymbol{z}_2, \boldsymbol{z}_3\}\subseteq B_t(\boldsymbol{x})\) be such that \(d_H(\boldsymbol{z}_1, \boldsymbol{z}_2) = d_H(\boldsymbol{z}_2, \boldsymbol{z}_3) = d_H(\boldsymbol{z}_3, \boldsymbol{z}_1) = 2t\). Then \(\boldsymbol{x}\) can be uniquely determined by the majority decoding algorithm.
Let \(S_{i}\) be the coordinates where \(\boldsymbol{z}_i\) and \(\boldsymbol{x}\) differ, for \(i\in[3]\). Since \(\{\boldsymbol{z}_1, \boldsymbol{z}_2, \boldsymbol{z}_3\}\subseteq B_t(\boldsymbol{x})\) and the Hamming distance between any two of them is \(2t\), then it holds that \(|S_i| = t\) for \(i\in[3]\) and the three sets must be pairwise disjoint. Therefore, on each coordinate, at least two out of \(\{\boldsymbol{z}_1, \boldsymbol{z}_2, \boldsymbol{z}_3\}\) agree with \(\boldsymbol{x}\). Thus, using the majority decoding algorithm on \(\{\boldsymbol{z}_1, \boldsymbol{z}_2, \boldsymbol{z}_3\}\) will result in \(\boldsymbol{x}\).
Although this special case may seem trivial, it can be easily shown that when \(t\) is a fixed constant, \(n\) is large enough, and the three reads are uniformly distributed in the ball \(B_t(\boldsymbol{x})\), the condition of Lemma 1 holds with high probability.
Lemma 2. Let \(\boldsymbol{x}\in\Sigma_2^n\) and let \(\{\boldsymbol{z}_1, \boldsymbol{z}_2, \boldsymbol{z}_3\}\) be a random set uniformly chosen from \(\binom{B_t(\boldsymbol{x})}{3}\), where \(t\) is a given constant. When \(n\) is large enough, we have that
\[\mathrm{Pr}\left[d_H\left(\boldsymbol{z}_1, \boldsymbol{z}_2\right)\!=\! d_H\left(\boldsymbol{z}_2, \boldsymbol{z}_3\right)\!=\!d_H\left(\boldsymbol{z}_3, \boldsymbol{z}_1\right)\!=\!2t\right] = 1-\Theta(n^{-1}).\]
The proof of this lemma, as well as some other probabilistic arguments of the paper, are left in the appendices. Inspired by Lemma 1, we propose the following problem.
Problem 1. Let \(\mathcal{C}\subseteq\Sigma_2^n\) be a code with minimum Hamming distance \(d\) and \(\boldsymbol{x}\in\mathcal{C}\) be a codeword. For any fixed \(m\) and \(\{ \boldsymbol{z}_1, \ldots, \boldsymbol{z}_m \} \subseteq B_t(\boldsymbol{x})\), where \(m\leq N(n,t,d)\) and \(t\geq \left\lceil \frac{d}{2} \right\rceil\), find a sufficient (and even necessary, if possible) condition for the unique reconstruction of \(\boldsymbol{x}\) by \(\{ \boldsymbol{z}_1, \ldots, \boldsymbol{z}_m \}\) with an efficient reconstruction algorithm.
The trivial condition that solves Problem 1 is that the set of words \(\{ \boldsymbol{z}_1, \ldots, \boldsymbol{z}_m \}\) belongs to the radius-\(t\) ball of exactly one codeword. However, complexity wise this is not a feasible solution. Hence, we seek for a sufficient (and even necessary, if possible) condition that will be complexity-wise efficient, and the first thought that comes into mind is a characterization of the pairwise distance among the reads. Here we propose a sufficient condition, which is based on the summation of the pairwise distance among the reads. The following definition plays a key role in our framework.
Definition 2. Given integers \(n,m,t,d\) where \(m\geq 2\), let \[D\left(n, m, t, d\right) \triangleq \max_{\substack{\boldsymbol{x}, \boldsymbol{y}\in\Sigma_2^n, d_H\left(\boldsymbol{x},\boldsymbol{y}\right)=d,\\ \{\boldsymbol{z}_i\}_{i = 1}^m\subseteq B_t\left(\boldsymbol{x}\right)\cap B_t\left(\boldsymbol{y}\right)}} \left\{\sum_{1\leq i < j\leq m}\!\!d_H\left(\boldsymbol{z}_i, \boldsymbol{z}_j\right)\right\}\] be the maximum value of the sum of the pairwise distance among \(m\) distinct sequences in \(B_t(\boldsymbol{x})\cap B_t(\boldsymbol{y})\), where \(\boldsymbol{x}\) and \(\boldsymbol{y}\) are any two sequences of distance \(d\).
With the help of the notation \(D(n, m, t, d)\), our reconstruction condition is of the following form.
Theorem 1. Let \(\mathcal{C}\subseteq\Sigma_2^n\) be a code with minimum Hamming distance \(d\) and \(\boldsymbol{x}\in\mathcal{C}\) be a codeword. For any fixed \(m\geq 2\), and \(m\) distinct sequences \(\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_m\}\subseteq B_t(\boldsymbol{x})\), if \[\label{eqn:summation} \sum_{1\leq i < j\leq m}d_H\left(\boldsymbol{z}_i, \boldsymbol{z}_j\right)\geq D\left(n, m, t, d'\right) + 1\qquad{(1)}\] for every \(d' = d(\boldsymbol{c}_1, \boldsymbol{c}_2)\), for some \(\boldsymbol{c}_1, \boldsymbol{c}_2\in\mathcal{C}\), then \(\boldsymbol{x}\) can be uniquely reconstructed by \(\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_m\}\).
Prove by contradiction. Suppose unique reconstruction is not possible, then there is another sequence \(\boldsymbol{y}\neq\boldsymbol{x}\) in \(\mathcal{C}\), with \(d_{H}(\boldsymbol{x}, \boldsymbol{y})\geq d\), such that \(\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_m\}\subseteq B_t(\boldsymbol{x}) \cap B_t(\boldsymbol{y})\). By the definition of \(D\left(n, m, t, d_{H}(\boldsymbol{x}, \boldsymbol{y})\right)\), we have \[\sum_{1\leq i < j\leq m}d_H\left(\boldsymbol{z}_i, \boldsymbol{z}_j\right)\leq D\left(n, m, t, d_{H}\left(\boldsymbol{x}, \boldsymbol{y}\right)\right),\] which contradicts the premise that \[\sum_{1\leq i < j\leq m}d_H\left(\boldsymbol{z}_i, \boldsymbol{z}_j\right)\geq D\left(n, m, t, d_{H}\left(\boldsymbol{x}, \boldsymbol{y}\right)\right)+1.\IEEEQEDhereeqn\]
Theorem 1 provides a sufficient condition to Problem 1 and indicates that once we have \(m\) distinct reads and the sum of their pairwise distance is strictly larger than \(D(n,m,t,d')\) for every \(d'\geq d\), then these reads cannot lie in the intersection of two error balls centered at two distinct codewords from a code with minimum Hamming distance \(d\). Therefore, unique reconstruction is guaranteed. Note that for now we need to check Inequality (?? ) for every \(d'\geq d\), since we are still unaware of the monotonicity of the values \(\{D(n,m,t,d')\}_{d'\geq d}\) yet. After the theoretical analysis of these values in the next section, for a certain range of parameters we can modify Theorem 1 and only need to check the inequality once, for either \(d\) or \(d+1\).
In this section, we analyze the value \(D(n, m, t, d)\). Throughout the rest of the paper, we set \(\boldsymbol{x}=(x_1,\dots,x_n)\) to be the transmitted codeword, \(\boldsymbol{y}=(y_1,\dots,y_n)\) to be the other codeword with \(d_H(\boldsymbol{x},\boldsymbol{y})=d\), and \(\{\boldsymbol{z}_1,\ldots,\boldsymbol{z}_m\}\subseteq B_t(x)\) to be the reads where \(\boldsymbol{z}_i=(z_{i,1},\ldots,z_{i,n})\) for \(i\in[m]\). Let \(S_i\) be the coordinates where \(\boldsymbol{z}_i\) and \(\boldsymbol{x}\) differ, i.e. \(S_i = \{k\in[n]: z_{i, k}\neq x_k\}\). For each coordinate \(k\in[n]\), let \(c_k\) be the number of sequences among \(\{\boldsymbol{z}_1,\dots,\boldsymbol{z}_m\}\) which are different from \(\boldsymbol{x}\) at the coordinate \(k\). The following Lemma 3, which essentially follows a double counting argument, plays a crucial role in the subsequent analysis.
Lemma 3. Following the previous notations, it holds that \[\sum_{i<j}d_H\left(\boldsymbol{z}_i, \boldsymbol{z}_j\right) = m\sum_{k\in \left[n\right]}c_k - \sum_{k\in \left[n\right]}c_k^2.\]
To calculate the summation \(\sum_{i<j}d_H(\boldsymbol{z}_i, \boldsymbol{z}_j)\), we analyze the contribution of each coordinate to this summation. For any coordinate \(k\in [n]\), since \(c_k\) sequences out of \(\{\boldsymbol{z}_1,\dots,\boldsymbol{z}_m\}\) differ from \(\boldsymbol{x}\) and the rest \(m-c_k\) sequences agree with \(\boldsymbol{x}\), then this coordinate contributes \(c_k(m-c_k)\) to the summation. Therefore, \[\sum_{i<j}d_H\left(\boldsymbol{z}_i, \boldsymbol{z}_j\right)=\sum_{k\in\left[n\right]} c_k\left(m-c_k\right)=m\sum_{k\in \left[n\right]}c_k - \sum_{k\in \left[n\right]}c_k^2. \IEEEQEDhereeqn\]
Lemma 4 is useful when analyzing the value \(D(n, m, t, d)\).
Lemma 4. Let \(F(c_1, c_2, \ldots, c_n) \triangleq m\sum_{k\in [n]}c_k - \sum_{k\in [n]}c_k^2\). If the summation \(\sum_{k\in [n]} c_k = \lambda\) is fixed, then the maximal value of \(F(c_1, \ldots, c_n)\) is obtained when \(c_1, \ldots, c_n\) are either \(\left\lceil\frac{\lambda}{n}\right\rceil\) or \(\left\lfloor\frac{\lambda}{n}\right\rfloor\). Furthermore, consider the maximum value as a function of \(\lambda\), then this function is increasing in \(\lambda\) when \(\lambda \leq \frac{mn}{2}\).
The lemma follows from a fundamental inequality and we present the proof for completeness. For some \(c_1, \ldots, c_n\) with fixed summation \(\sum_{k\in [n]} c_k = \lambda\), if there exist \({k_1}\) and \({k_2}\) such that \(c_{k_1} \geq c_{k_2} + 2\) (without loss of generality assume that \({k_1} < {k_2}\)). Let \(\Delta=F(c_1, \ldots, c_{k_1}, \ldots, c_{k_2}, \ldots, c_n)-F(c_1, \ldots, c_{k_1} - 1, \ldots, c_{k_2} + 1, \ldots, c_n)\), then it follows that \[\begin{align} \Delta = & mc_{k_1} + mc_{k_2} - c_{k_1}^2 - c_{k_2}^2 \\ &-m\left(c_{k_1} - 1\right) - m\left(c_{k_2} + 1\right) + \left(c_{k_1} - 1\right)^2 + \left(c_{k_2} + 1\right)^2\\ = & 2c_{k_2} - 2c_{k_1} + 2 < 0. \end{align}\] This implies that the maximal value of \(F(c_1, \ldots, c_n)\) is obtained when \(c_1, \ldots, c_n\) are almost equal, i.e., each entry is either \(\left\lceil\frac{\lambda}{n}\right\rceil\) or \(\left\lfloor\frac{\lambda}{n}\right\rfloor\). The last claim simply follows from the fact that \(mc_k-c_k^2\) is increasing for any \(c_k\leq \frac{m}{2}\).
With Lemmas 3 and 4, the value of \(D(n, m, t, d)\) can be exactly determined when \(n\geq m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)+d\) as follows.
Theorem 2. For any positive integers \(n, m, t, d\) with \(t\geq \left\lceil \frac{d}{2} \right\rceil\) and \(n\geq m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)+d\), we have \[D\left(n, m, t, d\right) = d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil + m\left(m-1\right)\left(t-\left\lceil\frac{d}{2}\right\rceil\right).\]
Without loss of generality, consider \(\boldsymbol{x}= 0^n\), \(\boldsymbol{y}= 1^d0^{n-d}\), and \(\{\boldsymbol{z}_1,\ldots,\boldsymbol{z}_m\}\subseteq B_t(\boldsymbol{x})\cap B_t(\boldsymbol{y})\). Then each \(S_i\) is indeed the support set of \(\boldsymbol{z}_i\). Let \(S'_i=S_i\cap[d]\) and \(S''_i=S_i\cap[d+1,n]\), for \(i\in[m]\). For \(i<j\), it holds that \[\begin{align} &d_H(\boldsymbol{z}_i,\boldsymbol{z}_j) \nonumber\\ = &|\{k\in[n]:z_{i, k}\neq z_{j, k}\}|\\ =&|\{k\in[d]:z_{i, k}\neq z_{j, k}\}|+|\{k\in[d+1,n]:z_{i, k}\neq z_{j, k}\}|\nonumber\\ =&|S'_i| + |S'_j| - 2|S'_i\cap S'_j|+|S''_i| + |S''_j| - 2|S''_i\cap S''_j| \\ \leq &|S'_i| + |S'_j| - 2|S'_i\cap S'_j|+|S''_i| + |S''_j| \nonumber \\ \leq &|S'_i| + |S'_j| - 2|S'_i\cap S'_j|+t\nonumber\\ &-\max\{|S'_i|, d - |S'_i|\}+t-\max\{|S'_j|, d - |S'_j|\}\nonumber\\ \leq &|S'_i| + |S'_j| - 2|S'_i\cap S'_j| + 2t-2\left\lceil\frac{d}{2}\right\rceil.\nonumber \end{align}\] Here Equality (2) follows from standard inclusion-exclusion principle. Now we explain Inequality (3). Since \(|S'_i|+|S''_i|=d(\boldsymbol{z}_i,\boldsymbol{x})\leq t\) and \(d-|S'_i|+|S''_i|=d(\boldsymbol{z}_i,\boldsymbol{y})\leq t\), then it holds that \(|S''_i|\leq t-\max\{|S'_i|, d - |S'_i|\}\). Similarly \(|S''_j|\leq t-\max\{|S'_j|, d - |S'_j|\}\) and then Inequality (3) follows.
Based on Lemma 3, it holds that
\[\begin{align} \sum_{i<j}d_H\left(\boldsymbol{z}_i,\boldsymbol{z}_j\right) &\leq \sum_{i<j}\left(|S'_i| + |S'_j| - 2|S'_i\cap S'_j| + 2t-2\left\lceil\frac{d}{2}\right\rceil\right)\\ &= m\sum_{k\in \left[d\right]}c_k - \sum_{k\in \left[d\right]}c_k^2 + \binom{m}{2}\left(2t-2\left\lceil\frac{d}{2}\right\rceil\right). \end{align}\]
As \(c_k\) is an integer in \([0, m]\) for each \(k\), it holds that \(\left(\left\lfloor\frac{m}{2}\right\rfloor - c_k\right)\left(c_k-\left\lceil\frac{m}{2}\right\rceil\right)\leq 0\). With the fact that
\[m\!\sum_{k\in \left[d\right]}c_k-\!\sum_{k\in \left[d\right]}c_k^2\!=\!\sum_{k\in \left[d\right]}\left(\left\lfloor\frac{m}{2}\right\rfloor\!-\!c_k\right)\!\left(c_k\!-\!\left\lceil\frac{m}{2}\right\rceil\right)\!+ d\left\lfloor\frac{m}{2}\right\rfloor\!\left\lceil\frac{m}{2}\right\rceil,\]
we have
\[\label{eqn:D} \sum_{i<j}d_H\left(\boldsymbol{z}_i,\boldsymbol{z}_j\right) \leq d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil + m\left(m-1\right)\left(t-\left\lceil\frac{d}{2}\right\rceil\right).\tag{1}\]
Next, we show that the upper bound can be obtained. For \(1\leq i\leq m\), let
\[\boldsymbol{z}_i= \begin{cases} 1^{\left\lceil\frac{d}{2}\right\rceil}0^{\left\lfloor\frac{d}{2}\right\rfloor}0^{\left(i-1\right)\left(t-\left\lceil\frac{d}{2}\right\rceil\right)}1^{t-\left\lceil\frac{d}{2}\right\rceil}0^{n-d-i\left(t-\left\lceil\frac{d}{2}\right\rceil\right)},&i\leq \left\lfloor\frac{m}{2}\right\rfloor,\\ 0^{\left\lceil\frac{d}{2}\right\rceil}1^{\left\lfloor\frac{d}{2}\right\rfloor}0^{\left(i-1\right)\left(t-\left\lceil\frac{d}{2}\right\rceil\right)}1^{t-\left\lceil\frac{d}{2}\right\rceil}0^{n-d-i\left(t-\left\lceil\frac{d}{2}\right\rceil\right)},&\text{otherwise}. \end{cases}\]
It is straightforward to check that \(d(\boldsymbol{x},\boldsymbol{z}_i)=t\) and \(d(\boldsymbol{y},\boldsymbol{z}_i)=t-\left\lceil\frac{d}{2}\right\rceil+\left\lfloor\frac{d}{2}\right\rfloor\leq t\) when \(1\leq i\leq \left\lfloor\frac{m}{2}\right\rfloor\), and similarly \(d(\boldsymbol{y},\boldsymbol{z}_i)=t\) and \(d(\boldsymbol{x},\boldsymbol{z}_i)=t-\left\lceil\frac{d}{2}\right\rceil+\left\lfloor\frac{d}{2}\right\rfloor\leq t\) when \(\left\lfloor\frac{m}{2}\right\rfloor < i \leq m\). Therefore, \(\{\boldsymbol{z}_1,\dots,\boldsymbol{z}_m\}\subseteq B_t(\boldsymbol{x})\cap B_t(\boldsymbol{y})\). Essentially, the key of this construction is to set \(c_k\in \left\{\left\lfloor \frac{m}{2} \right\rfloor, \left\lceil \frac{m}{2} \right\rceil\right\}\) for each \(k\in[d]\), and to keep \(\{S''_i:i\in[m]\}\) to be pairwise disjoint. Note that the condition \(n\geq m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)+d\) guarantees the disjointness of \(\{S''_i:i\in[m]\}\).
Now, to calculate the summation of their pairwise distance, it is more convenient to calculate by analyzing how much each coordinate contributes to the summation. For each \(k\in[d]\), almost half of the sequences have ‘1’ and the others have ‘0’, and thus this coordinate contributes \(\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil\) to the summation. Moreover, each coordinate \(k\in \bigcup_{1\leq i\leq m} S''_i\) contributes \(m-1\) to the summation, where the size of \(\bigcup_{1\leq i\leq m} S''_i\) is \(m\left(t - \left\lceil\frac{d}{2}\right\rceil\right)\). Thus we have \[\sum_{i<j}d_H\left(\boldsymbol{z}_i,\boldsymbol{z}_j\right)=d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil+m\left(m-1\right)\left(t - \left\lceil\frac{d}{2}\right\rceil\right),\] achieving the upper bound in Inequality (1 ). To sum up, \(D(n,m,t,d)=d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil+m(m-1)\left(t - \left\lceil\frac{d}{2}\right\rceil\right)\).
Example 1. Let \(m = 4\), \(t = 3\), and \(d = 2\). We consider the sequences \(\boldsymbol{x}= (0, 0, \ldots, 0)\in\Sigma_2^{10}\) and \(\boldsymbol{y}= (1, 1, 0, \ldots, 0)\in\Sigma_2^{10}\). Consider \(4\) reads \[\boldsymbol{z}_1 = \left(1, 0, 1, 1, 0, 0, 0, 0, 0, 0\right),\boldsymbol{z}_2 = \left(1, 0, 0, 0, 1, 1, 0, 0, 0, 0\right),\] \[\boldsymbol{z}_3 = \left(0, 1, 0, 0, 0, 0, 1, 1, 0, 0\right),\boldsymbol{z}_4 = \left(0, 1, 0, 0, 0, 0, 0, 0, 1, 1\right).\] It holds that \(\sum_{1\leq i< j\leq 4}d_H(\boldsymbol{z}_i, \boldsymbol{z}_j) = 32 = D(10, 4, 3, 2)\).
With Theorem 2, we are ready to determine the value \(\max_{d'\geq d}\{D(n, m, t, d')\}\) for the case \(t\geq \left\lceil \frac{d}{2} \right\rceil\) and \(n\geq m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)+d\).
Lemma 5. For any positive integers \(n, m, t, d\) with \(t\geq \left\lceil \frac{d}{2} \right\rceil\) and \(n\geq m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)+d\), it holds that
\(D(n, m, t, d)\geq D(n, m, t, d+2)\) where equality holds only when \(m=2\);
\(D(n, m, t, d)> D(n, m, t, d+1)\) when \(d\) is even;
\(D(n, m, t, d)< D(n, m, t, d+1)\) when \(d\) is odd.
By Theorem 2, when \(t\geq \left\lceil \frac{d}{2} \right\rceil\) and \(n\geq m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)+d\), it holds that \[\begin{align} D\left(n, m, t, d\right)= &d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil + m\left(m-1\right)\left(t-\left\lceil\frac{d}{2}\right\rceil\right),\\ D\left(n,\! m,\! t,\! d\!+\!2\right)= &\left(d\!+\!2\right)\!\left\lfloor\frac{m}{2}\right\rfloor\!\left\lceil\frac{m}{2}\right\rceil\!+\!m\left(m\!-\!1\right)\left(t\!-\!\left\lceil\frac{d \!+ \!2}{2}\right\rceil\right). \end{align}\]
Then it holds that \[\begin{align} &D\left(n, m, t, d\right) - D\left(n, m, t, d+2\right)\\ =&m^2-m - 2 \left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil \\ =&\left(\left\lfloor\frac{m}{2}\right\rfloor + \left\lceil\frac{m}{2}\right\rceil\right)^2-\left(\left\lfloor\frac{m}{2}\right\rfloor + \left\lceil\frac{m}{2}\right\rceil\right)- 2 \left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil\\ =&\left\lfloor\frac{m}{2}\right\rfloor^2 - \left\lfloor\frac{m}{2}\right\rfloor + \left\lceil\frac{m}{2}\right\rceil^2 - \left\lceil\frac{m}{2}\right\rceil. \end{align}\] This difference is non-negative since \(\left\lceil\frac{m}{2}\right\rceil\) and \(\left\lfloor\frac{m}{2}\right\rfloor\) are integers, and equality holds only when \(m=2\).
Similarly, we have \[\begin{align} &D\left(n, m, t, d\right) - D\left(n, m, t, d+1\right)\\ = &m\left(m-1\right)\left(\left\lceil\frac{d + 1}{2}\right\rceil - \left\lceil\frac{d}{2}\right\rceil\right) - \left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil. \end{align}\] Note that \(\left\lceil\frac{d + 1}{2}\right\rceil - \left\lceil\frac{d}{2}\right\rceil = 1\) when \(d\) is even and \(0\) otherwise. As \(m(m-1) > \left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil\), we have that \(D(n, m, t, d)> D(n, m, t, d+1)\) when \(d\) is even, and \(D(n, m, t, d)< D(n, m, t, d+1)\) when \(d\) is odd.
Now we are ready to revisit the general framework of our reconstruction condition, Theorem 1, into the following simpler form, which means that it suffices to check only one inequality to decide whether unique reconstruction is possible.
Theorem 3. Let \(\mathcal{C}\subseteq\Sigma_2^n\) be a code with minimum Hamming distance \(d\) and \(\boldsymbol{x}\in\mathcal{C}\) be a codeword. Let \(t\geq \left\lceil \frac{d}{2} \right\rceil\) and \(n\geq m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)+d\). For any fixed \(m\geq 2\), and \(m\) distinct sequences \(\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_m\}\subseteq B_t(\boldsymbol{x})\), if \[\sum_{i<j}d_H\left(\boldsymbol{z}_i,\boldsymbol{z}_j\right) \geq D\left(n, m, t, 2\left\lceil \frac{d}{2} \right\rceil\right) + 1,\] then \(\boldsymbol{x}\) can be uniquely reconstructed by \(\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_m\}\).
By Lemma 5, the maximum value among \(\{D(n,m,t,d'):d'\geq d\}\) is \(D\left(n, m, t, 2\left\lceil \frac{d}{2} \right\rceil\right)\). Therefore, as long as \(\sum_{i<j}d_H(\boldsymbol{z}_i,\boldsymbol{z}_j) \geq D\left(n, m, t, 2\left\lceil \frac{d}{2} \right\rceil\right) + 1\), then it holds that \(\sum_{i<j}d_H(\boldsymbol{z}_i,\boldsymbol{z}_j) \geq D(n, m, t, d') + 1\) for all \(d'\geq d\). Following Theorem 1, unique reconstruction is guaranteed.
Remark 1. Consider the case with \(\mathcal{C}=\Sigma^n\) (then \(d=1\)). For the substitution channel with \(t\geq 1\) errors, Leveshtein’s reconstruction threshold would require more than \(N\left(n, t, 1\right)=2\sum_{i=0}^{t-1}\binom{n-1}{i}\) distinct reads for unique reconstruction. In our framework, for any \(m\) reads where \(m\geq 3\) and \(n\geq m(t-1)+1\), if the \(m\) reads \(\boldsymbol{z}_1,\ldots, \boldsymbol{z}_m\) satisfy that \[\sum_{i < j}d_H(\boldsymbol{z}_i, \boldsymbol{z}_j) \geq 2\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil + m\left(m-1\right)\left(t - 1\right) + 1,\] then unique reconstruction is also guaranteed.
Similar as Lemma 2, in fact the unique reconstruction condition holds with high probability. The proof of the next lemma is also left in the appendix.
Lemma 6. Let \(\mathcal{C}\subseteq\Sigma_2^n\) be a code with minimum Hamming distance \(d\) and \(\boldsymbol{x}\in\mathcal{C}\) be a codeword. When \(m, t, d\) are given constants, \(n\) is large enough, and the \(m\) reads are uniformly chosen from \(\binom{B_t(\boldsymbol{x})}{m}\), with high probability we can trigger the unique reconstruction condition in Theorem 3 since:
\[\begin{align} &\mathrm{Pr}\left[\sum_{1\leq i<j\leq m}d_H\left(\boldsymbol{z}_i, \boldsymbol{z}_j\right)> D\left(n, m, t, 2\left\lceil \frac{d}{2} \right\rceil\right)\right] \\ \geq &\mathrm{Pr}\left[\sum_{1\leq i<j\leq m}d_H\left(\boldsymbol{z}_i, \boldsymbol{z}_j\right)=m\left(m-1\right)t\right] = 1-\Theta\left(n^{-1}\right). \end{align}\]
In the previous subsection, we determined the value of \(D(n, m, t, d)\) when \(n\geq m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)+d\), or equivalently, when \(m\leq \frac{n-d}{t-\left\lceil \frac{d}{2} \right\rceil}\). As \(m\) grows larger, the upper bound in Inequality (1 ) cannot be achieved anymore, since the sets \(\{S''_i:1\leq i\leq m\}\) cannot be pairwise disjoint. Therefore, the upper bound in Inequality (1 ) could be further reduced. In this subsection, we present a general upper bound of \(D(n, m, t, d)\) for arbitrary \(n\) and \(m\). While the upper bound follows a similar approach as the previous subsection, analyzing whether the upper bound can be achieved turns out to be more complicated.
Theorem 4. For any positive integers \(n,m,t,d\) with \(t\geq \left\lceil \frac{d}{2} \right\rceil\), it holds that \[\begin{align} &D\left(n, m, t, d\right) \leq d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil \\ &+\left(n-d\right)\left(\left\lfloor \frac{m\left(t-\left\lceil \frac{d}{2} \right\rceil\right)}{n-d} \right\rfloor^2+\left\lfloor \frac{m\left(t-\left\lceil \frac{d}{2} \right\rceil\right)}{n-d} \right\rfloor\right) \\ &+m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)\left(m-2\left\lfloor \frac{m\left(t-\left\lceil \frac{d}{2} \right\rceil\right)}{n-d} \right\rfloor-1\right). \end{align}\]
In particular, when \((n-d)\mid m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)\), it holds that
\[D\left(n, m, t, d\right) \leq d\!\left\lfloor\!\frac{m}{2}\!\right\rfloor\!\left\lceil\!\frac{m}{2}\!\right\rceil\!+\! m\left(t\!-\!\left\lceil\frac{d}{2}\right\rceil\right)\left(m\!-\!\frac{m\left(t\!-\!\left\lceil \frac{d}{2} \right\rceil\right)}{n-d}\right).\]
We follow the same notations as before. Without loss of generality consider \(\boldsymbol{x}= 0^n\), \(\boldsymbol{y}= 1^d0^{n-d}\), and \(\{\boldsymbol{z}_1,\boldsymbol{z}_2,\ldots,\boldsymbol{z}_m\}\subseteq B_t(\boldsymbol{x})\cap B_t(\boldsymbol{y})\). Then each \(S_i\) is the support set of \(\boldsymbol{z}_i\). Let \(S'_i=S_i\cap[d]\) and \(S''_i=S_i\cap[d+1,n]\), for \(i\in[m]\). Note that the difference with Theorem 2 is that \(\{S''_i:i\in [m]\}\) may not be disjoint. By Lemma 3 we have \[\begin{align} &\sum_{i<j}d_H\left(\boldsymbol{z}_i, \boldsymbol{z}_j\right) \\ = &\sum_{i<j}\left(\left|S'_i\right|\!+\!\left|S'_j\right|\!-\!2\left|S'_i\cap S'_j\right|\right) \!+ \!\sum_{i<j}\left(\left|S''_i\right|\!+\!\left|S''_j\right|\!-\!2\left|S''_i\cap S''_j\right|\right)\\ = &m\sum_{k\in \left[d\right]}c_k - \sum_{k\in \left[d\right]}c_k^2 + m\sum_{k\in \left[d+1,n\right]}c_k - \sum_{k\in \left[d+1,n\right]}c_k^2. \end{align}\]
On one hand, \(m\sum_{k\in [d]}c_k - \sum_{k\in [d]}c_k^2\) is upper bounded by \(d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil\), where the maximum value can be achieved if \(c_k\in\{\left\lfloor\frac{m}{2}\right\rfloor,\left\lceil\frac{m}{2}\right\rceil\}\) for every \(k\in[d]\).
On the other hand, since \(|S'_i|+|S''_i|=d(\boldsymbol{z}_i,\boldsymbol{x})\leq t\) and \(d-|S'_i|+|S''_i|=d(\boldsymbol{z}_i,\boldsymbol{y})\leq t\), then it holds that \(|S''_i|\leq t-\max\{|S'_i|, d - |S'_i|\} \leq t-\left\lceil \frac{d}{2} \right\rceil\), and thus \(\sum_{k\in[d+1,n]}c_k \leq m(t-\left\lceil \frac{d}{2} \right\rceil)\). Now let \(\lambda\triangleq \lfloor \frac{m(t-\left\lceil \frac{d}{2} \right\rceil)}{n-d}\rfloor\) and let \(m(t-\left\lceil \frac{d}{2} \right\rceil)= \lambda(n-d) + R\) with \(0\leq R< \lambda\). According to Lemma 4, \(m\sum_{k\in [d+1,n]}c_k - \sum_{k\in [d+1,n]}c_k^2\) will be maximized when exactly \(R\) values out of \(\{c_k: k\in[d+1,n]\}\) are \(\lambda+1\), and the rest \(n-d-R\) values are \(\lambda\). Then it holds that
\[\begin{align} &\sum_{i<j} d_H\left(\boldsymbol{z}_i,\boldsymbol{z}_j\right) \\ \leq &d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil\!+\! R\left(m\!-\!\lambda\!-\!1\right)\left(\lambda\!+\!1\right) \!+\!\left(n-\!d\!-\!R\right)\left(m\!-\!\lambda\right)\lambda \\ = &d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil + \left(n-d\right)\left(m-\lambda\right)\lambda + R\left(m-2\lambda-1\right) \\ = &d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil + \left(n-d\right)\left(m-\lambda\right)\lambda \\ &+\left(m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)-\lambda\left(n-d\right)\right)\left(m-2\lambda-1\right) \\ = &d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil\!+\! \left(n\!-\!d\right)\lambda\left(\lambda\!+\!1\right)\!+\! m\left(t\!-\!\left\lceil\frac{d}{2}\right\rceil\right)\left(m\!-\!2\lambda\!-\!1\right) \\ = & d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil \!+\!\left(n\!-\!d\right)\left(\left\lfloor \frac{m\left(t-\left\lceil \frac{d}{2} \right\rceil\right)}{n-d} \right\rfloor^2\!+\!\left\lfloor \frac{m\left(t-\left\lceil \frac{d}{2} \right\rceil\right)}{n-d} \right\rfloor\right) \\ &+m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)\left(m-2\left\lfloor \frac{m\left(t-\left\lceil \frac{d}{2} \right\rceil\right)}{n-d} \right\rfloor-1\right). \end{align}\]
In particular, when \((n-d)|m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)\), plugging \(\lambda=\frac{m(t-\left\lceil \frac{d}{2} \right\rceil)}{n-d}\) and \(R=0\) into above, it holds that \[\begin{align} &\sum_{i<j} d_H\left(\boldsymbol{z}_i,\boldsymbol{z}_j\right) \leq d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil + \left(n-d\right)\left(m-\lambda\right)\lambda\\ = & d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil + m\left(t\!-\!\left\lceil\frac{d}{2}\right\rceil\right)\left(m\!-\!\frac{m\left(t-\left\lceil \frac{d}{2} \right\rceil\right)}{n-d}\right). \end{align}\]
Establishing the tightness of the general upper bound in Theorem 4 requires us to, similarly as in the proof of Theorem 2, find an example consisting of \(m\) distinct reads, such that
For each \(k\in [d]\), \(c_k = \left\lceil\frac{m}{2}\right\rceil\) or \(c_k=\left\lfloor \frac{m}{2}\right\rfloor\).
For each \(k\in [d+1, n]\), \(c_k\) are almost equal and \(\sum_{k=d + 1}^{n} c_k = m\left(t-\left\lceil\frac{d}{2}\right\rceil\right).\)
This construction turns out to be nontrivial in general, where the distinctness of the reads is the main difficulty. Nevertheless, we can show the tightness under an additional divisibility condition \((t-\lceil\frac{d}{2}\rceil)\mid (n-d)\). We need the famous Baranyai’s Theorem [38] from combinatorial design theory. In design theory, a parallel class refers to a set of \(N/K\) \(K\)-subsets which form a partition of an \(N\)-set, when \(K\) divides \(N\). The Baranyai’s Theorem is as follows.
Theorem 5 (Baranyai’s Theorem [38]). If \(K\) divides \(N\), the set of all \(\binom{N}{K}\) \(K\)-subsets of an \(N\)-set may be partitioned into disjoint parallel classes \(\mathcal{A}_i\), \(i=1, 2,\ldots, \binom{N-1}{K-1}\).
By Baranyai’s Theorem we have the following result.
Theorem 6. For any positive integers \(n, m, t, d\) with \(t\geq \left\lceil \frac{d}{2} \right\rceil\), \(m\leq \binom{n-d}{t-\left\lceil\frac{d}{2}\right\rceil}\), and \((t-\left\lceil\frac{d}{2}\right\rceil)\mid (n-d)\), it holds that \[\begin{align} &D\left(n, m, t, d\right) = d\left\lfloor\frac{m}{2}\right\rfloor\left\lceil\frac{m}{2}\right\rceil \\ &+ \left(n-d\right)\left(\left\lfloor \frac{m\left(t-\left\lceil \frac{d}{2} \right\rceil\right)}{n-d} \right\rfloor^2+\left\lfloor \frac{m\left(t-\left\lceil \frac{d}{2} \right\rceil\right)}{n-d} \right\rfloor\right) \\ &+ m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)\left(m-2\left\lfloor \frac{m\left(t-\left\lceil \frac{d}{2} \right\rceil\right)}{n-d} \right\rfloor-1\right). \end{align}\]
Consider two sequences \(\boldsymbol{x}= 0^n\), \(\boldsymbol{y}= 1^d0^{n-d}\). Continuing with Theorem 4, it suffices to find \(m\) reads \(\{\boldsymbol{z}_1,\boldsymbol{z}_2,\ldots,\boldsymbol{z}_m\}\subseteq B_t(\boldsymbol{x})\cap B_t(\boldsymbol{y})\) such that the summation of their pairwise distance achieves the upper bound.
By Baranyai’s Theorem, since \((t-\left\lceil\frac{d}{2}\right\rceil)\mid (n-d)\), we can partition the set of all the \((t-\left\lceil\frac{d}{2}\right\rceil)\)-subsets of the set \([d+1,n]\) into disjoint parallel classes. Arbitrarily order the parallel classes and arbitrarily order the \(\frac{n-d}{t-\left\lceil \frac{d}{2} \right\rceil}\) subsets within each parallel class. Let \(A_{p,q}\) be the \(q\)-th subset in the \(p\)-th parallel class, where \(p\in [\binom{n-d}{t-\left\lceil\frac{d}{2}\right\rceil}(t-\left\lceil\frac{d}{2}\right\rceil)/(n-d)]\) and \(q\in[\frac{n-d}{t-\lceil \frac{d}{2} \rceil}]\).
Now we construct the support sets of the reads. For each read \(\boldsymbol{z}_i\), \(i\in[m]\), let \(i=(p_i-1)\frac{n-d}{t-\left\lceil \frac{d}{2} \right\rceil}+q_i\) and set its support set \(S_i\) as \[\begin{align} S_i=\begin{cases} \left[\left\lceil\frac{d}{2}\right\rceil\right] \cup A_{p_i,q_i},& \text{if } i\leq \left\lfloor\frac{m}{2}\right\rfloor,\\ \left[\left\lceil\frac{d}{2}\right\rceil+1, d\right] \cup A_{p_i,q_i}, & \text{otherwise}. \end{cases} \end{align}\]
It is possible to verify that
\(\boldsymbol{z}_i\in B_t(0^n)\cap B_t(1^d0^{n-d})\) for any \(i\in [m]\),
\(c_k = \left\lfloor\frac{m}{2}\right\rfloor\) for \(k\in \left[\left\lceil\frac{d}{2}\right\rceil\right]\) and \(c_k = \left\lceil\frac{m}{2}\right\rceil\) for \(k\in \left[\left\lceil\frac{d}{2}\right\rceil+1, d\right]\),
\(c_k = \frac{m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)}{n-d}\) for \(k\in [d + 1, n]\).
Furthermore, Baranyai’s Theorem guarantees that the values \(\{c_k:k\in[d+1,n]\}\) are almost equal, since each parallel class covers all coordinates exactly once. Thus, \(c_k \in \left\{\left\lfloor \frac{m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)}{n-d} \right\rfloor, \left\lceil \frac{m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)}{n-d} \right\rceil\right\}\) for \(k\in [d + 1, n]\).
Given these reads, it is routine to check that the summation of their pairwise distance achieves the upper bound in Theorem 4 and thus showing its tightness.
Example 2. Let \(m = 8\), \(t = 4\), and \(d = 2\). We consider the sequences \(\boldsymbol{x}= (0, 0, \ldots, 0)\in\Sigma_2^{11}\) and \(\boldsymbol{y}= (1, 1, 0, \ldots, 0)\in\Sigma_2^{11}\). Consider \(8\) reads \[\begin{align} \boldsymbol{z}_1 &= \left(1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0\right),\\ \boldsymbol{z}_2 &= \left(1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0\right),\\ \boldsymbol{z}_3 &= \left(1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1\right),\\ \boldsymbol{z}_4 &= \left(1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0\right),\\ \boldsymbol{z}_5 &= \left(0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0\right),\\ \boldsymbol{z}_6 &= \left(0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1\right),\\ \boldsymbol{z}_7 &= \left(0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1\right),\\ \boldsymbol{z}_8 &= \left(0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0\right). \end{align}\] It can be verified that \(\sum_{1\leq i< j\leq 4}d_H(\boldsymbol{z}_i, \boldsymbol{z}_j) = 158 = D(11, 8, 4, 2)\). Here the parallel classes we use arise from a \((9,3,1)\)-BIBD4 with underlying set \([3,11]\): the parallel class \(\{\{3,4,5\},\{6,7,8\},\{9,10,11\}\}\) corresponds to \(\{\boldsymbol{z}_1,\boldsymbol{z}_2,\boldsymbol{z}_3\}\), the parallel class \(\{\{3,6,9\},\{4,7,10\},\{5,8,11\}\}\) corresponds to \(\{\boldsymbol{z}_4,\boldsymbol{z}_5,\boldsymbol{z}_6\}\), and finally the first two sets in the parallel class \(\{\{3,7,11\},\{4,8,9\},\{5,6,10\}\}\) corresponds to \(\{\boldsymbol{z}_7,\boldsymbol{z}_8\}\).
In this section, we introduce the explicit reconstruction algorithms corresponding to our reconstruction condition. This section is further divided into three subsections. The first subsection introduces the reconstruction algorithm when a set of reads triggering our unique reconstruction condition, abbreviated as a triggering set, is given. The second subsection discusses how to find such a triggering set among a large number of reads. The third subsection considers the case when repeated reads are allowed and thus a triggering multi-set can also be used for reconstruction.
For a code \(\mathcal{C}\subseteq\Sigma_2^n\) with minimum Hamming distance \(d\), let \(\mathcal{D}_{\mathcal{C}}\) be the minimum distance decoder corresponding to \(\mathcal{C}\), i.e., for any \(\boldsymbol{x}\in \mathcal{C}\) and \(\boldsymbol{y}\in B_{\left\lfloor\frac{d-1}{2}\right\rfloor}(\boldsymbol{x})\), \(\mathcal{D}_{\mathcal{C}}(\boldsymbol{y}) = \boldsymbol{x}\). Algorithm 1 works when we have a set of reads which have triggered the unique reconstruction condition presented in Theorem 3.
Algorithm 1 first applies a majority voting method, with a pre-set parameter \(\tau\), to determine each coordinate as \(0\), \(1\), or an undetermined value denoted by a question-mark. Here, a coordinate will be determined as a question-mark if the number of appearances of 0 and 1 at this coordinate among the reads do not differ too much, with respect to the parameter \(\tau\). After Step \(20\), a sequence \(\boldsymbol{z}\in\{0,1,?\}^n\) is generated. Then a brute-force search is run over all possible values on the undetermined coordinates of \(\boldsymbol{z}\), and the decoder of \(\mathcal{C}\) is applied to get many candidates. For each candidate \(\widehat{\boldsymbol{x}}\), in Step \(24\) Algorithm 1 checks if all the reads belong to the error ball centered at \(\widehat{\boldsymbol{x}}\). When the unique reconstruction condition is satisfied, we can prove that by selecting the appropriate parameter \(\tau\), exactly one candidate \(\widehat{\boldsymbol{x}}\) reveals and it is exactly the desired \(\boldsymbol{x}\). It should be noted that the majority voting method with a pre-set parameter \(\tau\) is not new. It first appeared in [24] and later in other papers about sequence reconstruction such as [16].
Lemma 7. Given \(n, m, t, d\) with \(t\geq \lceil \frac{d}{2} \rceil\), \(n\geq m\left(t\!-\!\left\lceil\frac{d}{2}\right\rceil\right)\!+\!d\), and a code \(\mathcal{C}\) with minimum Hamming distance \(d\), let \[\begin{align} \tau = &\tau_{n, m, t, d} \\ = &\sqrt{\frac{4}{\left\lceil\frac{d}{2}\right\rceil}\left(m\left(m\!-\!1\right)t\!-\!D\left(n, m, t, 2\left\lceil\frac{d}{2}\right\rceil\right)\right)\! +\! 1}\!-\!m\!+\!1. \end{align}\] Then, for any input \(\left\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_{m}\right\} \subseteq B_{t}(\boldsymbol{x})\) such that \(\sum_{i<j}d_H(\boldsymbol{z}_i, \boldsymbol{z}_j) \geq D(n, m, t,2\left\lceil\frac{d}{2}\right\rceil) + 1\), at most \(\lfloor \frac{d-1}{2}\rfloor\) errors exist in the determined coordinates of \(\boldsymbol{z}\).
Without loss of generality, let \(\boldsymbol{x}=0^n \in \mathcal{C}\) be the transmitted codeword. Algorithm 1 generates \(\boldsymbol{z}\in\{0,1,?\}^n\) and let \(E_{\boldsymbol{z}} = \{k: z_k = 1\}\) be the erroneous coordinates.
Now we prove by contradiction. Suppose there are at least \(\left\lceil\frac{d}{2}\right\rceil\) errors in \(\boldsymbol{z}\), i.e., \(e\triangleq|E_{\boldsymbol{z}}|\geq \left\lceil\frac{d}{2}\right\rceil\). Recall that \(c_k\) is the number of sequences among \(\{\boldsymbol{z}_1,\dots,\boldsymbol{z}_m\}\) which are different from \(\boldsymbol{x}\) at the coordinate \(k\). According to the majority decoding method of the algorithm, for any \(k\in E_{\boldsymbol{z}}\), we have \(c_k\geq \frac{m + \tau_{n, m, t, d}}{2}\). Thus, \[\label{Eqn:5} \sum_{k\notin E_{\boldsymbol{z}}}c_k = \sum_{k\in\left[n\right]}c_k - \sum_{k\in E_{\boldsymbol{z}}}c_k\leq mt - \frac{m + \tau_{n, m, t, d}}{2}e.\tag{2}\]
Then the summation of the pairwise distance among the reads satisfy \[\begin{align} &\sum_{i<j}d_H(\boldsymbol{z}_i, \boldsymbol{z}_j) = m\sum_{k\in [n]}c_k - \sum_{k\in [n]} c_k^2 \nonumber \\ = &\left(m\sum_{k\in E_{\boldsymbol{z}}}c_k - \sum_{k\in E_{\boldsymbol{z}}} c_k^2\right) + \left(m\sum_{k\notin E_{\boldsymbol{z}}}c_k - \sum_{k\notin E_{\boldsymbol{z}}} c_k^2\right) \nonumber \\ = &-\sum_{k\in E_{\boldsymbol{z}}}\left(c_k-\frac{m}{2}\right)^2 + \frac{m^2}{4}e + m\sum_{k\notin E_{\boldsymbol{z}}}c_k - \sum_{k\notin E_{\boldsymbol{z}}} c_k^2 \nonumber \\ \leq &-\sum_{k\in E_{\boldsymbol{z}}}\left(c_k-\frac{m}{2}\right)^2 + \frac{m^2}{4}e + \left(m - 1\right)\sum_{k\notin E_{\boldsymbol{z}}}c_k \nonumber \\ \leq &\frac{m^2 - \tau_{n, m, t, d}^2}{4}e + \left(m-1\right)\left(mt - \frac{m + \tau_{n, m, t, d}}{2}e\right) \label{Eqn:6} \\ =&m\left(m-1\right)t - \frac{\left(m+\tau_{n, m, t, d}\right)\left(m+\tau_{n, m, t, d}-2\right)}{4}e \nonumber \\ \leq &m\left(m-1\right)t - \frac{\left(m+\tau_{n, m, t, d}-1\right)^2 - 1}{4}\left\lceil\frac{d}{2}\right\rceil \nonumber \\ = &D\left(n,m, t, 2\left\lceil\frac{d}{2}\right\rceil\right), \nonumber \end{align}\tag{3}\] where Inequality (3 ) arises from plugging in \(c_k\geq \frac{m + \tau_{n, m, t, d}}{2}\) and Inequality (2 ), and the last step follows from plugging in the parameter \(\tau\). We arrive at a contradiction to the premise that the set of reads is a triggering set.
Remark 2. When \(m\) is large enough, it follows that \[\begin{align} &\tau_{n, m, t, d} \\ = &\sqrt{\frac{4}{\left\lceil\frac{d}{2}\right\rceil}\left(m\left(m-1\right)t-D\left(n, m, t, 2\left\lceil\frac{d}{2}\right\rceil\right)\right) + 1}-m+1\\ =&\sqrt{\frac{4}{\left\lceil\frac{d}{2}\right\rceil}\left(m\left(m-1\right)\left\lceil\frac{d}{2}\right\rceil-2\left\lceil\frac{d}{2}\right\rceil\left\lceil\frac{m}{2}\right\rceil\left\lfloor\frac{m}{2}\right\rfloor\right) + 1}-m+1\\ =&\sqrt{\frac{4}{\left\lceil\frac{d}{2}\right\rceil}\left\lceil\frac{d}{2}\right\rceil\left(m\left(m-1\right)-2\left\lceil\frac{m}{2}\right\rceil\left\lfloor\frac{m}{2}\right\rfloor\right) + 1}-m+1\\ =&\sqrt{2m^2 + o\left(m^2\right)}-m+1\\ =&\left(\sqrt{2} - 1\right)m+o\left(m\right). \end{align}\]
Since there is a brute-force search module in the algorithm, its complexity highly depends on the size of \(F\), which is upper bounded as follows.
Lemma 8. The size of \(F\) is at most \(\frac{2mt}{m-\tau_{n, m, t, d}}\).
For each coordinate \(k\in [n]\), \(k\in F\) means there are more than \(\frac{m-\tau_{n, m, t, d}}{2}\) sequences which are different from \(\boldsymbol{x}\) at coordinate \(k\). As there are at most \(mt\) substitution errors in total, we have \(|F|\leq \frac{2mt}{m-\tau_{n, m, t, d}}\).
With the two lemmas above, the following theorem holds for our reconstruction algorithm.
Theorem 7. Let \(n, m, t, d\) be positive integers with \(t\geq \left\lceil \frac{d}{2} \right\rceil\) and \(n\!\geq\! m\left(t\!-\!\left\lceil\frac{d}{2}\right\rceil\right)\!+\!d\). Let \(\mathcal{C}\) be a code with minimum Hamming distance \(d\). For \(\boldsymbol{x}\in \mathcal{C}\) and \(m\) reads \(\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_m\} \subseteq B_t(\boldsymbol{x})\) such that \(\sum_{i < j}d(\boldsymbol{z}_i, \boldsymbol{z}_j) \geq D(n, m, t, 2\left\lceil\frac{d}{2}\right\rceil) + 1\), the output of Algorithm 1 \(\widehat{\boldsymbol{x}}\) is exactly the codeword \(\boldsymbol{x}\). Furthermore, when \(t, d\) are constants and \(n\) is sufficiently large, the time complexity of the algorithm is \(\Theta(mn+T_{\mathcal{C}})\), where \(T_{\mathcal{C}}\) is the time complexity of the decoder \(\mathcal{D}_{\mathcal{C}}\).
According to Lemma 7, Algorithm 1 produces a sequence \(\boldsymbol{z}\), and the number of errors in the determined coordinates of \(\boldsymbol{z}\) compared with \(\boldsymbol{x}\) is at most \(\frac{d - 1}{2}\). Therefore, during the brute-force search, we have \(\boldsymbol{u} \in U\) which agrees with \(\boldsymbol{x}\) on all the undetermined coordinates of \(\boldsymbol{z}\) and thus \(d_H(\boldsymbol{x},\boldsymbol{u})\leq \frac{d - 1}{2}\). The decoder of the code with Hamming distance \(d\) will produce \(\hat{\boldsymbol{x}}=\mathcal{D}_\mathcal{C}(\boldsymbol{u})\), which is exactly \(\boldsymbol{x}\). Moreover, since the unique reconstruction condition is triggered, then Algorithm 1 screens out the candidates which do not pass the check in Step \(24\), and only produces a single output \(\boldsymbol{x}\).
It is evident that the complexity of the majority voting module is \(\Theta(mn)\). According to Remark 2, we have \(\tau_{n,m,t,d} = (\sqrt{2}-1)m + o(m)\). By Lemma 8, the size of the set \(F\) is bounded by \(|F|\leq \frac{2mt}{m-\tau_{n, m, t, d}}\). Given that \(\tau_{n,m,t,d}\approx (\sqrt{2}-1)m\) and \(t\) is fixed, \(|F|\) remains bounded by a constant. Consequently, the sizes of both \(F\) and \(U\) are constant. To iterate through the sequences in \(U\), one can construct an initial sequence and subsequently toggle the values at positions specified by \(F\). Since \(|F|\) and \(|U|\) are constants, the time complexity for constructing \(U\) is also \(O(1)\). For each \(u \in U\), the algorithm invokes the decoder \(\mathcal{D}_{\mathcal{C}}\) once and computes its Hamming distance relative to all \(m\) reads. Therefore, the overall time complexity of the algorithm is \(\Theta(mn + T_{\mathcal{C}})\).
Remark 3. Note that our reconstruction algorithm is valid only if \(n\geq m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)+d\). Thus \(m\) is at most a linear function of \(n\) and the time complexity is then \(\Theta(n^2+T_{\mathcal{C}})\).
Example 3. Let \(n = 15, m = 6, t = 3\), and \(d = 5\). In this case \(D(n, m, t, 2\left\lceil\frac{d}{2}\right\rceil) = D(15,6,3,6) = 54\) and \(\tau_{n, m, t, d} = \tau_{15,6,3,5} = 2\). Consider the code \(\mathrm{BCH}(15, 7)\) with minimum Hamming distance \(d = 5\), with parity-check matrix matrix \[{H} = \begin{bmatrix} 1 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 & 1 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 1 & 1 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 1 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ \end{bmatrix}.\]
Consider the codeword \[\boldsymbol{x}=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)\] and six reads \[\begin{align} \boldsymbol{z}_1 &= \left(1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0\right),\\ \boldsymbol{z}_2 &= \left(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0\right),\\ \boldsymbol{z}_3 &= \left(0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0\right),\\ \boldsymbol{z}_4 &= \left(0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0\right),\\ \boldsymbol{z}_5 &= \left(0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0\right),\\ \boldsymbol{z}_6 &= \left(1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0\right), \end{align}\] in \(B_t(\boldsymbol{x})\), It follows that \(\sum_{i < j}d_H(\boldsymbol{z}_i, \boldsymbol{z}_j) = 66 > D(15,6,3,6)\). Applying Algorithm 1 to the reads \(\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_6\}\). Since \(\tau = 2\), during the majority-vote we leave a coordinate as question-mark when the difference of the appearances of the two symbols is less than 2. Thus we produce \(\boldsymbol{z}= (?, 0, 0, 0, 0, 0, 0, ?, 1, 0, 0, 0, 0, 0, 0)\) and then we move on to the brute-force module with four sequences in \(U\).
For \(\boldsymbol{u} = (1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0)\), it holds that \(H\boldsymbol{u} = (0, 0, 1, 0, 1, 0, 0, 0)\), which implies that the error-pattern with Hamming wight at most \(\frac{d - 1}{2}=2\) is \(\boldsymbol{e} = (0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0)\) (One can check that \(H\boldsymbol{u} = H\boldsymbol{e}\)). In this case, we have a candidate \(\hat{\boldsymbol{x}} = (1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0)\). However, this candidate cannot pass the check since the last five reads are not in \(B_t(\hat{\boldsymbol{x}})\). Hence \(\hat{\boldsymbol{x}}\) is rejected.
For the other sequences, the decoder of \(\mathrm{BCH}(15, 7)\) produces \(\hat{\boldsymbol{x}} = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0).\)
Finally the algorithm output \(\hat{\boldsymbol{x}} = \boldsymbol{x}\) as desired.
Furthermore, if the reads have better properties, in the sense that \(\sum_{i<j}d_H(\boldsymbol{z}_i, \boldsymbol{z}_j)\) is even larger, then we may discard the parameter \(\tau\) and simply run a majority-vote (in the event of a tie on any coordinate, set it as \(0\) or \(1\) arbitrarily) to get a sequence \(\boldsymbol{z}\in\{0,1\}^n\). Apply the decoder \(\mathcal{D}_\mathcal{C}\) on \(\boldsymbol{z}\) will directly lead to the desired \(\boldsymbol{x}\). This process is formalized in the next theorem.
Theorem 8. For any positive integers \(n, m, t, d\) with \(t\geq \left\lceil \frac{d}{2} \right\rceil\), \(n\geq m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)+d\), and a code \(\mathcal{C}\) with minimum Hamming distance \(d\), consider \(m\) reads \(\{\boldsymbol{z}_1,\boldsymbol{z}_2,\ldots,\boldsymbol{z}_m\}\subseteq B_t(\boldsymbol{x})\) for a codeword \(\boldsymbol{x}\) with \[\sum_{i<j}d_H\left(\boldsymbol{z}_i,\boldsymbol{z}_j\right) > m\left(m-1\right)t - \left\lceil\frac{m}{2}\right\rceil\left(\left\lceil\frac{m}{2}\right\rceil - 1\right)\left\lceil\frac{d}{2}\right\rceil.\] Then, the majority-vote generates a sequence \(\boldsymbol{z}\) which lies in the ball \(B_{\lfloor\frac{d - 1}{2}\rfloor}(\boldsymbol{x})\), and thus \(\mathcal{D}_{\mathcal{C}}(\boldsymbol{z})=\boldsymbol{x}\).
Without loss of generality, let \(\boldsymbol{x}=0^n \in \mathcal{C}\) be the codeword. If \(\boldsymbol{z}\notin B_{\lfloor\frac{d - 1}{2}\rfloor}(\boldsymbol{x})\), then there exists a set of coordinates \(I\subseteq[n]\), such that \(|I|\geq \left\lceil\frac{d}{2}\right\rceil\) and \(z_{k} \neq x_k\) for any \(k \in I\). According to the majority-vote method, it holds that \(c_k \geq \left\lceil\frac{m}{2}\right\rceil\) for any \(k\in I\), which implies that \(\sum_{k\notin I}c_k\leq mt - \left\lceil\frac{m}{2}\right\rceil |I|\). It follows that \[\begin{align} &\sum_{i<j}d_H\left(\boldsymbol{z}_i, \boldsymbol{z}_j\right)\\ = &m\sum_k c_k - \sum_k c_k^2\\ = &m\sum_{k\in I} c_k - \sum_{k\in I} c_k^2 + m\sum_{k\notin I} c_k - \sum_{k\notin I} c_k^2\\ = &-\sum_{k\in I}\left(c_k - \frac{m}{2}\right)^2 + \frac{m^2}{4}|I| + m\sum_{k\notin I} c_k - \sum_{k\notin I} c_k^2\\ \leq &-|I|\left(\left\lceil\frac{m}{2}\right\rceil - \frac{m}{2}\right)^2 + \frac{m^2}{4}|I| + \left(m-1\right)\sum_{k\notin I} c_k \\ \leq & -|I|\left(\left\lceil\frac{m}{2}\right\rceil - \frac{m}{2}\right)^2 + \frac{m^2}{4}|I| + \left(m-1\right)\left(mt - \left\lceil\frac{m}{2}\right\rceil |I|\right)\\ = &\left\lceil\frac{m}{2}\right\rceil\left\lfloor\frac{m}{2}\right\rfloor |I| + \left(m-1\right)\left(mt - \left\lceil\frac{m}{2}\right\rceil |I|\right)\\ = &m\left(m-1\right)t - \left\lceil\frac{m}{2}\right\rceil\left(\left\lceil\frac{m}{2}\right\rceil - 1\right) |I|\\ \leq &m\left(m-1\right)t - \left\lceil\frac{m}{2}\right\rceil\left(\left\lceil\frac{m}{2}\right\rceil - 1\right)\left\lceil\frac{d}{2}\right\rceil, \end{align}\] which contradicts to the premise of the lemma.
Example 4. Let \(n = 15, m = 6, t = 3\), and \(d = 5\), which implies that \[m\left(m-1\right)t - \left\lceil\frac{m}{2}\right\rceil\left(\left\lceil\frac{m}{2}\right\rceil - 1\right)\left\lceil\frac{d}{2}\right\rceil = 72.\]
Continuing Example 3, consider the codeword \(\boldsymbol{x}=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)\), and six reads \[\begin{align} \boldsymbol{z}_1 &= \left(1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0\right),\\ \boldsymbol{z}_2 &= \left(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0\right),\\ \boldsymbol{z}_3 &= \left(0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0\right),\\ \boldsymbol{z}_4 &= \left(0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0\right),\\ \boldsymbol{z}_5 &= \left(0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0\right),\\ \boldsymbol{z}_6 &= \left(0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0\right), \end{align}\] in \(B_t(\boldsymbol{x})\). It follows that \(\sum_{i < j}d_H(\boldsymbol{z}_i, \boldsymbol{z}_j) = 74 > 72\). Applying Algorithm 1 to the reads \(\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_6\}\) with \(\tau = 0\), we produce \(\boldsymbol{z}= (0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0)\) and decode \(\boldsymbol{x}= (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)\) as desired.
In the previous subsection we assume that a triggering set is given. When we obtain a set of \(M\) reads \(\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_M\} \subseteq B_t(\boldsymbol{x})\), how do we find such a triggering set among these reads? One may suggest to simply check the summation of the pairwise distance of all the \(M\) reads. However, this is not always the best strategy. We offer an example as follows.
Example 5. Let \(n = 15, m = 8, t = 4\), and \(d = 5\). In this case \(D(n, m, t, 2\left\lceil\frac{d}{2}\right\rceil) = D(15,8,4,6) = 152\) and \(\tau_{n, m, t, d} = \tau_{15,8,4,5} = \sqrt{97}-7 \approx 2.85\). Consider the code \(\mathcal{C}\) in Example 3, the codeword \(\boldsymbol{x}=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)\), and eight reads \[\begin{align} \boldsymbol{z}_1 &= \left(1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\right),\\ \boldsymbol{z}_2 &= \left(1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0\right),\\ \boldsymbol{z}_3 &= \left(0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0\right),\\ \boldsymbol{z}_4 &= \left(0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0\right),\\ \boldsymbol{z}_5 &= \left(1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0\right),\\ \boldsymbol{z}_6 &= \left(1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0\right),\\ \boldsymbol{z}_7 &= \left(1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0\right),\\ \boldsymbol{z}_8 &= \left(1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0\right), \end{align}\] in \(B_t(\boldsymbol{x})\), It follows that \(\sum_{i < j}d_H(\boldsymbol{z}_i, \boldsymbol{z}_j) = 126 \leq D(15,8,4,6)\), and thus the eight reads together do not form a triggering set. In fact, if we do apply Algorithm 1 to the reads \(\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_8\}\) with respect to the parameter \(\tau\approx 2.85\), then we will produce \(\boldsymbol{z}= (1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0)\) by the majority vote and decode \(\hat{\boldsymbol{x}} = (1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0)\). It will then be screened out since the first read does not belongs to \(B_t(\hat{\boldsymbol{x}})\). Note that the correct sequence \(\boldsymbol{x}\) does not appear as a candidate. The algorithm outputs nothing and thus fails.
On the other hand, the first four reads already constitute a triggering set since \(\sum_{1\leq i < j \leq 4} d_H(\boldsymbol{z}_i, \boldsymbol{z}_j) = 42\) is larger than \(D(15, 4, 4, 6) = 36\). Applying Algorithm 1 on the first four reads will output the correct \(\boldsymbol{x}\) as desired.
Remark 4. Example 5 shows that it is possible that while the entire set of \(M\) reads is not* a triggering set, a subset of these reads might be.*
Motivated by this example, in this subsection we discuss how to find a subset of \(m\) reads among the \(M\) available reads which can be used to uniquely reconstruct \(\boldsymbol{x}\). We describe the general problem in a weighted graph model as follows.
The weighted clique problem: Consider a complete graph \(K_M\) where each edge is assigned a nonnegative weight. Given \(D\) and \(m\), with \(m\leq M\), find a clique of size \(m\) in which the summation of all edge-weights is larger than \(D\).
The Hamming weighted clique problem: Consider a set of \(M\) sequences from \(\Sigma_2^n\) and let them be the vertex set of a complete graph \(K_M\). Assign each edge \(\{\boldsymbol{x},\boldsymbol{y}\}\) with weight \(d_H(\boldsymbol{x},\boldsymbol{y})\). Given \(m\leq M\), find a clique of size \(m\) in which the summation of all edge-weights is larger than \(D(n,m,t,d)\).
By the following simple reduction to the Clique problem of graphs, it can be shown that the weighted clique problem is an NP-hard problem.
Lemma 9. Consider a complete graph \(K_M\) where each edge \(\{\boldsymbol{x}, \boldsymbol{y}\}\) has weight \(\omega(\boldsymbol{x}, \boldsymbol{y})\). For any input \(m\) and \(D\), it is NP-hard to determine whether there is a clique of size \(m\) in which the summation of all edge-weights is larger than \(D\).
The decision version of the Clique problem, which is well-known to be NP-hard, is of the following form: Given integers \(m\leq M\) and an arbitrary undirected graph \(G\) with \(M\) vertices, does \(G\) contain a clique of size \(m\)?
Given an instance of the Clique decision problem, we can construct an instance of the weighted clique problem as follows. Build a complete graph \(K_M\) with the same vertex set as \(G\), and assign the weight of each edge as: \[\omega\left(i,j\right) = \begin{cases} 1, & \text{if } \{i,j\} \in E_G, \\ 0, & \text{otherwise}. \end{cases}\]
Now, consider the problem of finding a clique of size \(m\) in \(K_M\), in which the summation of all edge-weights is larger than \(D\triangleq \binom{m}{2} - 1\). Note that the weight sum for any \(m\)-clique in \(K_M\) is at most \(\binom{m}{2}\), where equality holds if and only if all \(\binom{m}{2}\) edges have weight 1, or equivalently, the corresponding vertices in \(G\) form a clique. Therefore, \(G\) has a clique of size \(m\) if and only if there is an \(m\)-clique in \(K_M\) with total edge-weights \(\binom{m}{2}\). This reduction runs in polynomial time and reduces the Clique decision problem to the weighted clique problem. Hence, the weighted clique problem is NP-hard.
Remark 5. While the reduction establishes NP-hardness for the weighted clique problem, we are yet not sure if there is a similar reduction from the Clique problem to the Hamming weighted clique problem, which is indeed what is needed to find a triggering set. Compared with the weighted clique problem, in the Hamming weighted clique problem the weighted complete graph induced by binary sequences impose additional geometric and combinatorial constraints. In particular, the following constraints hold.
The edge weights, interpreted as Hamming distances, must be positive integers.
The edge weights must satisfy the distance triangle inequality. For any three vertices \(\boldsymbol{x},\boldsymbol{y},\boldsymbol{z}\), it must hold that \(d_H(\boldsymbol{x},\boldsymbol{y}) + d_H(\boldsymbol{x},\boldsymbol{z}) \geq d_H(\boldsymbol{y}, \boldsymbol{z})\).
The sum of edge weights in any odd-sized clique must be even, since each coordinate will contribute an even value to the summation.
Each vertex is incident with at most \(\binom{n}{d}\) edges with weight \(d\), for any \(1\leq d \leq n\).
Could these constraints dramatically change the difficulty of the problem? We feel negative and still conjecture that the Hamming weighted clique problem is also NP-hard. However we fail to find a proof by reduction yet. We leave this problem for future research.
Given the analysis above, to find a triggering set among a large set of reads is a nontrivial task. We close this subsection by introducing a pruning strategy to find triggering sets.
Lemma 10. For any \(\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_M\}\) such that \(\sum_{1\leq i<j\leq M}d_H(\boldsymbol{z}_i, \boldsymbol{z}_j) > D(n,M, t, 2\left\lceil\frac{d}{2}\right\rceil)\), and for any \(m\in [M]\), define \(\mathrm{Sum}(m)\triangleq \sum_{1\leq i<j\leq M, i,j\neq m} d_H(\boldsymbol{z}_i, \boldsymbol{z}_j)\). Then there exists some \(m\) such that \[\mathrm{Sum}\left(m\right) > \frac{\left(M-2\right)D\left(n,M, t, 2\left\lceil\frac{d}{2}\right\rceil\right)}{M}.\]
In the summation \(\sum_{m\in[M]} \mathrm{Sum}(m)\), for each pair of reads their distance \(d_H(\boldsymbol{z}_i, \boldsymbol{z}_j)\) is calculated exactly \(M-2\) times. Thus \[\begin{align} \sum_{m\in\left[M\right]} \mathrm{Sum}\left(m\right) = &\left(M-2\right) \sum_{1\leq i<j\leq M}d_H\left(\boldsymbol{z}_i, \boldsymbol{z}_j\right) \\ > &\left(M-2\right) D\left(n,M, t, 2\left\lceil\frac{d}{2}\right\rceil\right), \end{align}\] and thus by the pigeonhole principle there must exist some \(m\) such that \(\mathrm{Sum}(m) > \frac{(M-2)D(n,M, t, 2\left\lceil\frac{d}{2}\right\rceil)}{M}\).
Following the similar idea, it is routine to show that for any \(m\) sequences with the summation of their pairwise distance being at least \(\frac{m(m-1)}{M(M-1)}D(n,M, t, 2\left\lceil\frac{d}{2}\right\rceil)\), there exists a subset of \(m-1\) sequences with the summation of their pairwise distance being at least \(\frac{(m-1)(m-2)}{M(M-1)}D(n,M, t, 2\left\lceil\frac{d}{2}\right\rceil)\). By Lemma 10, given a set of \(M\) reads, we proceed as follows.
If \(\sum_{1\leq i < j\leq M} d_H(\mathbf{z}_i, \mathbf{z}_j) > D\left(n, M, t, 2\left\lceil \tfrac{d}{2} \right\rceil\right)\), Algorithm 1 is applied to reconstruct \(\boldsymbol{x}\). Otherwise, \(M\) is decremented by one and the procedure continues to the subsequent steps to seek for a triggering subset.
Let \(S_3 = \varnothing\). Check all triples of reads \(\{\boldsymbol{z}_i,\boldsymbol{z}_j,z_k\}\). If the summation of their pairwise distance is strictly larger than \(D(n,3,t,2\left\lceil\frac{d}{2}\right\rceil)\), then a triggering set of size 3 has been found. Otherwise, if the summation of their pairwise distance is strictly larger than \(\frac{6 D\left(n,M, t, 2\left\lceil\frac{d}{2}\right\rceil\right)}{M(M-1)}\), then let \(S_3=S_3\cup \{\{i,j,k\}\}\).
Recursively perform the following steps. For every \(4\leq m\leq M\), set \(S_m=\varnothing\). For all sets \(A\in S_{m-1}\) and \(i\notin A\), consider the union \(A\cup\{i\}\). If the summation of the pairwise distance among the reads indexed by \(A\cup\{i\}\) is strictly larger than \(D(n,m,t,2\left\lceil\frac{d}{2}\right\rceil)\), then a triggering set of size \(m\) has been found. Otherwise, if the summation of their pairwise distance is strictly larger than \(\frac{m\left(m - 1\right)D\left(n,M, t, 2\left\lceil\frac{d}{2}\right\rceil\right)}{M(M-1)}\), then let \(S_m=S_m\cup \{A\cup \{i\}\}\).
While many branches have been pruned during the search for triggering sets, Lemma 10 assures that if there is indeed a triggering set \(A\) of size \(m\), then for any \(3\leq m' <m\), there is a at least one subset of \(A\) in \(S_{m'}\). Thus, the search process will output the triggering set as desired. Moreover, if there is no such triggering set, then at some step the set \(S_{m'}\) becomes empty and the search process stops. Once a triggering set is found, Algorithm 1 in the previous subsection will be applied for unique reconstruction.
Example 6. Let \(n = 12\), \(M = 6\), \(t = 4\) and \(d = 6\), it follows that \(D(n, m = 3, t, 2\lceil\frac{d}{2}\rceil) = 18\), \(D(n, m = 4, t, 2\lceil\frac{d}{2}\rceil) = 36\), \(D(n, m = 5, t, 2\lceil\frac{d}{2}\rceil) = 56\), and \(D(n, m = 6, t, 2\lceil\frac{d}{2}\rceil) = 84\). Without loss of generality, we assume that \(\boldsymbol{x}= (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)\in\mathcal{C}\) is transmitted. Consider the following six reads in \(B_t(\boldsymbol{x})\): \[\begin{align} \boldsymbol{z}_1 &= \left(1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0\right),\\ \boldsymbol{z}_2 &= \left(1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0\right),\\ \boldsymbol{z}_3 &= \left(0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0\right)\\ \boldsymbol{z}_4 &= \left(0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0\right),\\ \boldsymbol{z}_5 &= \left(0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0\right),\\ \boldsymbol{z}_6 &= \left(1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0\right). \end{align}\] Since \(\sum_{i < j} d_H(\boldsymbol{z}_i, \boldsymbol{z}_j) = 78\), Algorithm 1 cannot be applied directly to the set \(\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_6\}\). Setting \(M = 5\), we compute \[\begin{align} \frac{3(3 - 1) D\!\left(n, M, t, 2\left\lceil \frac{d}{2} \right\rceil\right)}{M(M-1)} &= 16.8,\\ \frac{4(4 - 1) D\!\left(n, M, t, 2\left\lceil \frac{d}{2} \right\rceil\right)}{M(M-1)} &= 33.6. \end{align}\]
We begin with \(m = 3\) and examine all \(3\)-element subsets of the reads. No triple of reads has total pairwise Hamming distance exceeding \(18\) (thus no triggering sets of size \(3\) exist), but those with total pairwise distance greater than \(16.8\) are retained (since each of them could be a subset of a triggering set of size \(4\) or \(5\)), yielding \[\begin{align} S_3 = \{ &\{\boldsymbol{z}_1, \boldsymbol{z}_2, \boldsymbol{z}_3\}, \{\boldsymbol{z}_1, \boldsymbol{z}_2, \boldsymbol{z}_4\}, \{\boldsymbol{z}_1, \boldsymbol{z}_2, \boldsymbol{z}_5\}, \{\boldsymbol{z}_1, \boldsymbol{z}_3, \boldsymbol{z}_4\},\\ &\{\boldsymbol{z}_1, \boldsymbol{z}_3, \boldsymbol{z}_5\}, \{\boldsymbol{z}_2, \boldsymbol{z}_3, \boldsymbol{z}_4\}, \{\boldsymbol{z}_2, \boldsymbol{z}_3, \boldsymbol{z}_5\}\}. \end{align}\]
Next, we consider \(m = 4\). By construction, it suffices to examine only those \(4\)-subsets that contain at least one member of \(S_3\). No \(4\)-subset has total pairwise distance exceeding \(36\), but those with total pairwise distance greater than \(33.6\) are kept, resulting in \[S_4 = \left\{ \{\boldsymbol{z}_1, \boldsymbol{z}_2, \boldsymbol{z}_3, \boldsymbol{z}_4\},\;\{\boldsymbol{z}_1, \boldsymbol{z}_2, \boldsymbol{z}_3, \boldsymbol{z}_5\}\right\}.\]
Finally, for \(m = 5\), we restrict attention to \(5\)-subsets containing a member of \(S_4\). The total pairwise Hamming distance of \(\{\boldsymbol{z}_1, \boldsymbol{z}_2, \boldsymbol{z}_3, \boldsymbol{z}_4, \boldsymbol{z}_5\}\) is \(58 > 56\), satisfying the required threshold. After finding this triggering set, Algorithm 1 can be applied to this set.
In Levenshtein’s seminal work [2], it is assumed that the reads from all channels are distinct. This assumption makes sense for the study of the unique reconstruction threshold. Up to this point in the paper we have also adhered to this assumption. However, looking back on all the proofs in the previous sections, we do not need this assumption at all! In other words, our general framework and algorithms also work when we are given a set of reads with repetitions. In fact, by allowing repeated reads, the only thing that could be affected (in a good way) is the upper bound in Theorem 4, in the sense that the upper bound can be easier to achieve.
What is more unexpected is that we can artificially make repeated reads, to change a non-triggering set of reads into a triggering multi-set. Here is an example.
Example 7. Let \(n = 9\), \(t = 2\), and \(d = 2\). Consider a code \(\mathcal{C}\) with minimum Hamming distance \(d\). In this case, for \(m\in\{6,7\}\) we have \(D(9, 6, 2, 2) = 48\) and \(D(9, 7, 2, 2) = 66\). Without loss of generality, we assume that \(\boldsymbol{x}= (0, 0, 0, 0, 0, 0, 0, 0, 0)\in\mathcal{C}\) is transmitted. Consider the following six reads in \(B_t(\boldsymbol{x})\): \[\begin{align} \boldsymbol{z}_1 &= \left(1, 1, 0, 0, 0, 0, 0, 0, 0\right), \boldsymbol{z}_2 = \left(0, 0, 1, 1, 0, 0, 0, 0, 0\right),\\ \boldsymbol{z}_3 &= \left(0, 0, 0, 0, 0, 0, 0, 1, 1\right), \boldsymbol{z}_4 = \left(0, 0, 1, 0, 0, 1, 0, 0, 0\right),\\ \boldsymbol{z}_5 &= \left(0, 0, 1, 0, 0, 0, 1, 0, 0\right), \boldsymbol{z}_6 = \left(0, 0, 1, 0, 1, 0, 0, 0, 0\right). \end{align}\] Note that \(\sum_{1\leq i < j\leq 6}d_H(\boldsymbol{z}_i, \boldsymbol{z}_j) = 48 = D(9, 6, 2, 2)\) and thus the six reads do not form a triggering set. However, by repeating \(\boldsymbol{z}_1\) one more time (and thus there are 7 reads), it holds that \[2\sum_{2\leq j\leq 6}d_H\left(\boldsymbol{z}_1, \boldsymbol{z}_j\right) + \sum_{2\leq i < j\leq 6}d_H\left(\boldsymbol{z}_i, \boldsymbol{z}_j\right) = 68 > D\left(9, 7, 2, 2\right).\] Thus we can apply Algorithm 1 to the multiset \(\{\{\boldsymbol{z}_1, \boldsymbol{z}_1, \boldsymbol{z}_2, \ldots, \boldsymbol{z}_6\}\}\) to reconstruct \(\boldsymbol{x}\).
As the example suggests, in our unique reconstruction framework, repeated reads are allowed and we can even artificially make repeated reads to trigger unique reconstruction conditions. Our general framework can be adapted to the following version.
Theorem 9. Let \(\mathcal{C}\subseteq\Sigma_2^n\) be a code with minimum Hamming distance \(d\) and \(\boldsymbol{x}\in\mathcal{C}\) be a codeword. For any fixed \(m\geq2\), and \(m\) distinct reads \(\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_m\}\subseteq B_t(\boldsymbol{x})\), if there exist positive integers \(\ell_1,\dots,\ell_m\) such that \[\sum_{1\leq i < j \leq m} \ell_i\ell_jd_H\left(\boldsymbol{z}_i,\boldsymbol{z}_j\right) \geq D\left(n,\sum_{1\leq i \leq m} \ell_i,t,2\left\lceil\frac{d}{2}\right\rceil\right)+1,\] then \(\boldsymbol{x}\) can be uniquely reconstructed.
It can be observed that the proofs of Theorem 3 and Algorithm 1 do not require the reads to be distinct. Consequently, Algorithm 1 can also reconstruct the codeword from reads with repetitions, provided that the total pairwise distance among the reads exceeds the threshold specified in Theorem 3. Consider the reads \(\{\boldsymbol{z}_1, \ldots, \boldsymbol{z}_m\}\) as a multiset \[\{\{\underbrace{\boldsymbol{z}_1, \ldots , \boldsymbol{z}_1}_{\ell_1}, \underbrace{\boldsymbol{z}_2, \ldots , \boldsymbol{z}_2}_{\ell_2}, \ldots, \underbrace{\boldsymbol{z}_m, \ldots , \boldsymbol{z}_m}_{\ell_m}\}\}.\]
The total summation of the pairwise distance is now \[\sum_{1\leq i < j \leq m} \ell_i\ell_jd_H\left(\boldsymbol{z}_i,\boldsymbol{z}_j\right) \geq D\left(n,\sum_{1\leq i \leq m} \ell_i,t,2\left\lceil\frac{d}{2}\right\rceil\right)+1,\] and thus it is a triggering multiset and we can apply Algorithm 1 to reconstruct \(\boldsymbol{x}\).
Look back on Example 7. While we have interpreted it as an example that repeated reads could constitute a triggering multi-set, one may have observed that another explanation is that the first three reads already constitute a triggering set of size three. Given a set of \(M\) distinct reads which is not a triggering set itself, either we may try to find a smaller triggering set as in Subsection 4.2, or we may try to artificially repeat some of the reads to find a triggering multi-set. It is not obvious which way performs better, and we conjecture that if one way works then the other way will also work.
Levenshtein’s reconstruction threshold and our framework in this paper are two sufficient conditions for unique reconstruction. It is natural to ask if we can characterize a both sufficient and necessary condition, i.e., an equivalent condition, for unique reconstruction.
Consider the case when \(\mathcal{C}=\Sigma_2^n\). Suppose there are only two reads \(\{\boldsymbol{z}_1,\boldsymbol{z}_2\}\subseteq B_t(\boldsymbol{x})\). One can find many candidates \(\boldsymbol{y}\) as follows. For all the coordinates that \(\boldsymbol{z}_1\) and \(\boldsymbol{z}_2\) agree, let \(\boldsymbol{y}\) also have the same symbol. For all the coordinates that \(\boldsymbol{z}_1\) and \(\boldsymbol{z}_2\) differ, let \(\boldsymbol{y}\) have the same symbols as \(\boldsymbol{z}_1\) on a random subset of half of the coordinates and let \(\boldsymbol{y}\) have the same symbols as \(\boldsymbol{z}_2\) on the other half. Then it is routine to check that \(\{\boldsymbol{z}_1,\boldsymbol{z}_2\}\subseteq B_t(\boldsymbol{y})\). Therefore, with only two reads \(\{\boldsymbol{z}_1,\boldsymbol{z}_2\}\), one can never guarantee unique reconstruction.
For \(m=3\) and \(\mathcal{C}=\Sigma_2^n\), recall that we have discussed this case earlier in Lemma 1 as a toy example. Next we present an equivalent condition for unique reconstruction for \(m=3\) and \(\mathcal{C}=\Sigma_2^n\).
Theorem 10. For any \(\boldsymbol{x}\in\Sigma_2^n\) and \(\{\boldsymbol{z}_1,\boldsymbol{z}_2,\boldsymbol{z}_3\}\subseteq B_t(\boldsymbol{x})\), \(\boldsymbol{x}\) can be uniquely reconstructed from \(\{\boldsymbol{z}_1,\boldsymbol{z}_2,\boldsymbol{z}_3\}\) if and only if the multiset of the pairwise distance among the three reads is \(\{\{2t,2t,2t\}\}\) or \(\{\{2t,2t-1,2t-1\}\}\).
Without loss of generality let \(\boldsymbol{x}=0^n\). Let \(S_1,S_2,S_3\) be the support sets of the three reads \(\boldsymbol{z}_1,\boldsymbol{z}_2,\boldsymbol{z}_3\).
First, suppose two of the support sets have non-empty intersection, say \(S_1\) and \(S_2\). In this case, we can pick any coordinate \(i\in S_1\cap S_2\) and \(j\in S_3\). Let \(\boldsymbol{y}\) be the sequence with support set \(\{i,j\}\). Then it holds that \(\{\boldsymbol{z}_1,\boldsymbol{z}_2,\boldsymbol{z}_3\}\subseteq B_t(\boldsymbol{y})\) and thus unique reconstruction is not possible.
Therefore, to guarantee unique reconstruction, the three support sets must be pairwise disjoint. Next, suppose that one of the support sets, say \(S_3\), is of size \(|S_3|\leq t-2\). In this case, we can pick any coordinate \(i\in S_1\) and \(j\in S_2\). Let \(\boldsymbol{y}\) be the sequence with support set \(\{i,j\}\). Again it holds that \(\{\boldsymbol{z}_1,\boldsymbol{z}_2,\boldsymbol{z}_3\}\subseteq B_t(\boldsymbol{y})\) and thus unique reconstruction is not possible. Thus each support set is of size at least \(t-1\).
Finally, suppose that two of the support sets, say \(S_2\) and \(S_3\), have size exactly \(t-1\). In this case, pick any coordinate \(i\in S_1\). Let \(\boldsymbol{y}\) be the sequence with support set \(\{i\}\). Again it holds that \(\{\boldsymbol{z}_1,\boldsymbol{z}_2,\boldsymbol{z}_3\}\subseteq B_t(\boldsymbol{y})\) and thus unique reconstruction is not possible.
To sum up, unique reconstruction is impossible unless \(S_1,S_2,S_3\) are disjoint and the sizes of these three sets are either \(\{\{t,t,t\}\}\) or \(\{\{t,t,t-1\}\}\). From the perspective of a decoder, it means that the multiset of the pairwise distance among the three reads is \(\{\{2t,2t,2t\}\}\) or \(\{\{2t,2t-1,2t-1\}\}\). For these two cases a decoder can simply use a majority-vote for unique reconstruction.
Remark 6. Consider \(\boldsymbol{x}=0^n\) and three reads \(\{\boldsymbol{z}_1,\boldsymbol{z}_2,\boldsymbol{z}_3\}\subseteq B_t(\boldsymbol{x})\) with support sets \(S_1,S_2,S_3\). Let all three sets have size exactly \(t\). Suppose \(|S_1\cap S_2|=1\) and \(S_3\) is disjoint from the other two. The pairwise distance of three reads are \(\{\{2t,2t,2t-2\}\}\) and the summation is \(6t-2\). In the proof of Theorem 10, we have mentioned that this case cannot guarantee unique reconstruction due to the non-empty intersection of \(S_1\) and \(S_2\). However, the uniquely reconstructible case with pairwise distance \(\{\{2t,2t-1,2t-1\}\}\) also has summation \(6t-2\). This phenomenon indicates that we cannot simply have a unique reconstruction condition in the form of “the summation of the pairwise distance of the reads exceeds a certain threshold".
What about the next case \(m=4\) for \(\mathcal{C}=\Sigma_2^n\)? We have the following facts:
Fact 1: Our reconstruction condition in Theorem 3 states that for four reads, a sufficient condition for unique reconstruction is that the summation of their pairwise distance is at least \(D(n,4,t,2)+1=12t-3\).
Fact 2: When the summation is \(12t-4\), we can construct a case which does not guarantee unique reconstruction. Consider \(\boldsymbol{x}=0^n\) and four reads \(\{\boldsymbol{z}_1,\boldsymbol{z}_2,\boldsymbol{z}_3,\boldsymbol{z}_4\}\subseteq B_t(\boldsymbol{x})\) with support sets \(S_1,S_2,S_3,S_4\), all of size exactly \(t\). Let \(|S_1\cap S_2|=1\), \(|S_3\cap S_4|=1\), and \(S_1\cup S_2\) be disjoint from \(S_3\cup S_4\). In this case the summation of the pairwise distance is \(12t-4\). Pick the coordinate \(i\in S_1\cap S_2\) and \(j\in S_3\cap S_4\), and let \(\boldsymbol{y}\) be the sequence with support set \(\{i,j\}\). Then it holds that \(\{\boldsymbol{z}_1,\boldsymbol{z}_2,\boldsymbol{z}_3,\boldsymbol{z}_4\}\subseteq B_t(\boldsymbol{y})\) and thus unique reconstruction is not possible.
Fact 3: A uniquely reconstructible case could have a distance summation as small as \(10t\). \(S_1,S_2,S_3\) are of size \(t\) and mutually disjoint (and thus these three reads already guarantees unique reconstruction), and \(S_4\) has a \(t/3\)-intersection with all the other three.
Considering these facts, it seems very difficult to characterize the equivalent condition for unique reconstruction, even for the case \(m=4\). In particular, when the summation of pairwise distance among the four reads is in the range \([10t,12t-4]\), determining whether unique reconstruction is possible may require a complicated case-by-case analysis.
In this paper, we prose a new framework for unique sequence reconstruction for the substitution channel. Our new sufficient condition takes both the number of reads and the summation of pairwise distance among the reads into consideration. We discuss how to find a set of reads from all available reads which can trigger our sufficient condition, and offer an efficient corresponding reconstruction algorithm when a triggering set is given. The following problems are considered for future research:
Determine the exact value of \(D(n,m,t,d)\) when \(n\) is less than \(m\left(t-\left\lceil\frac{d}{2}\right\rceil\right)+d\).
Find a more efficient way to identify a triggering set from a large set of reads.
Analyze more sufficient conditions for unique reconstruction. In particular, analyze equivalent conditions for unique reconstruction starting from the case \(m=4\) and \(\mathcal{C}=\Sigma_2^n\).
Analyze sufficient conditions for unique reconstruction in other channels such as deletion and insertion channels.
In the appendices we present the proofs of the probabilistic arguments throughout the paper.
Without loss of generality, let \(\boldsymbol{x}= 0^n\) and \(S_i\) be the support of \(\boldsymbol{z}_i\). Note that \(\boldsymbol{z}_i\in B_t(\boldsymbol{x})\), \[d_H(\boldsymbol{z}_1, \boldsymbol{z}_2) = d_H(\boldsymbol{z}_2, \boldsymbol{z}_3) = d_H(\boldsymbol{z}_3, \boldsymbol{z}_1) = 2t\] if and only if \(|S_1|=|S_2|=|S_3|=t\) and \(S_1, S_2, S_3\) are pairwise disjoint.
Now we consider the possible choices of \(\{\boldsymbol{z}_1, \boldsymbol{z}_2, \boldsymbol{z}_3\}\) such that \(d_H(\boldsymbol{z}_1, \boldsymbol{z}_2) = d_H(\boldsymbol{z}_2, \boldsymbol{z}_3) = d_H(\boldsymbol{z}_3, \boldsymbol{z}_1) = 2t\). It can be seen that the choices of \(S_1\) is \(\binom{n}{t}\). As \(S_2\cap S_1 = \varnothing\), the choices of \(S_2\) is \(\binom{n - t}{t}\). Similarly, the choices of \(S_3\) is \(\binom{n - 2t}{t}\). As the order of \(\boldsymbol{z}_1, \boldsymbol{z}_2\), and \(\boldsymbol{z}_3\) does not influence the set \(\{\boldsymbol{z}_1, \boldsymbol{z}_2, \boldsymbol{z}_3\}\), the total choices of set \(\{\boldsymbol{z}_1, \boldsymbol{z}_2, \boldsymbol{z}_3\}\) such that \(d_H(\boldsymbol{z}_1, \boldsymbol{z}_2) = d_H(\boldsymbol{z}_2, \boldsymbol{z}_3) = d_H(\boldsymbol{z}_3, \boldsymbol{z}_1) = 2t\) is \(\frac{\binom{n}{t}\binom{n-t}{t}\binom{n-2t}{t}}{3!}\). As \(|B_t(\boldsymbol{x})| = \sum_{i = 0}^t\binom{n}{i}\), it follows that \[\begin{align} \mathrm{Pr}\left[d_H\left(\boldsymbol{z}_1, \!\boldsymbol{z}_2\right)\! =\! d_H\!\left(\boldsymbol{z}_2,\! \boldsymbol{z}_3\right)\! =\! d_H\left(\boldsymbol{z}_3, \!\boldsymbol{z}_1\right) \!=\! 2t\right] \!= \!\frac{\binom{n}{t}\!\binom{n-t}{t}\!\binom{n-2t}{t}}{3! \binom{\sum_{i = 0}^t\binom{n}{i}}{3}}. \end{align}\]
Now we estimate the probability. It can be seen that \[\begin{align} \binom{n}{t} &= \frac{n(n - 1)\ldots(n - t + 1)}{t!} \\ &= \frac{n^t - \sum_{i=0}^{t - 1}in^{t - 1} + \Theta(n^{t - 2})}{t!} \\ &= \frac{n^t - \frac{t(t - 1)}{2}n^{t - 1} + \Theta(n^{t - 2})}{t!} \\ &= \frac{n^t}{t!} - \frac{\left(t-1\right)n^{t-1}}{2\left(t-1\right)!}+\Theta\left(n^{t-2}\right). \end{align}\]
Similarly, we have: \[\begin{align} \binom{n-t}{t} &= \frac{n^t}{t!} - \frac{\left(3t-1\right)n^{t-1}}{2\left(t-1\right)!}+\Theta\left(n^{t-2}\right),\\ \binom{n-2t}{t} &= \frac{n^t}{t!} - \frac{\left(5t-1\right)n^{t-1}}{2\left(t-1\right)!}+\Theta\left(n^{t-2}\right), \end{align}\] and \[\sum_{i = 0}^t\binom{n}{i} = \frac{n^t}{t!} - \frac{\left(t-3\right)n^{t-1}}{2\left(t-1\right)!}+\Theta\left(n^{t-2}\right).\]
Therefore, it follows that \[\begin{align} &\binom{n}{t}\binom{n-t}{t}\binom{n-2t}{t} \\= &\left(\frac{n^t}{t!} - \frac{\left(t-1\right)n^{t-1}}{2\left(t-1\right)!}+\Theta\left(n^{t-2}\right)\right)\\ &\cdot\left(\frac{n^t}{t!} - \frac{\left(3t-1\right)n^{t-1}}{2\left(t-1\right)!}+\Theta\left(n^{t-2}\right)\right)\\ &\cdot\left(\frac{n^t}{t!} - \frac{\left(5t-1\right)n^{t-1}}{2\left(t-1\right)!}+\Theta\left(n^{t-2}\right)\right)\\ =&\frac{n^{3t}}{\left(t!\right)^3} - \frac{\left(9t-3\right)n^{3t-1}}{2\left(t!\right)^2\left(t-1\right)!} + \Theta\left(n^{3t-2}\right), \end{align}\] and \[\begin{align} 3!\binom{\sum_{i = 0}^t\binom{n}{i}}{3} &= 3!\binom{\frac{n^t}{t!} - \frac{\left(t-3\right)n^{t-1}}{2\left(t-1\right)!}+\Theta\left(n^{t-2}\right)}{3} \\ &= \left(\frac{n^t}{t!} - \frac{\left(t-3\right)n^{t-1}}{2\left(t-1\right)!}+\Theta\left(n^{t-2}\right)\right)^3 \\ &= \frac{n^{3t}}{\left(t!\right)^3} - \frac{3\left(t-3\right)n^{3t-1}}{2\left(t!\right)^2\left(t-1\right)!} + \Theta\left(n^{3t-2}\right). \end{align}\]
In total, it holds that \[\begin{align} &\mathrm{Pr}\left[d_H\left(\boldsymbol{z}_1, \boldsymbol{z}_2\right) = d_H\left(\boldsymbol{z}_2, \boldsymbol{z}_3\right) = d_H\left(\boldsymbol{z}_3, \boldsymbol{z}_1\right) = 2t\right]\\ =&\frac{\frac{n^{3t}}{\left(t!\right)^3} - \frac{\left(9t-3\right)n^{3t-1}}{2\left(t!\right)^2\left(t-1\right)!} + \Theta\left(n^{3t-2}\right)}{\frac{n^{3t}}{\left(t!\right)^3} - \frac{3\left(t-3\right)n^{3t-1}}{2\left(t!\right)^2\left(t-1\right)!} + \Theta\left(n^{3t-2}\right)}\\ =&1-\frac{\frac{\left(6t+6\right)n^{3t-1}}{2\left(t!\right)^2\left(t-1\right)!} + \Theta\left(n^{3t-2}\right)}{\frac{n^{3t}}{\left(t!\right)^3} - \frac{3\left(t-3\right)n^{3t-1}}{2\left(t!\right)^2\left(t-1\right)!} + \Theta\left(n^{3t-2}\right)}\\ =& 1-\frac{6t\left(t+1\right)+o\left(1\right)}{2n-3t\left(t-3\right)+o\left(1\right)}, \end{align}\] and thus the probability to trigger the the unique reconstruction condition of Lemma 1 is \(1 -\Theta(n^{-1})\).
It is easy to verify that \(D(n, m, t, 2\left\lceil \frac{d}{2} \right\rceil) + 1\leq m(m - 1)t\). Without loss of generality, we assume that \(\boldsymbol{x}= (0, 0, \ldots, 0)\). It can be calculated that \[\begin{align} &\mathrm{Pr}\left[\sum_{i<j}d_H\left(\boldsymbol{z}_i, \boldsymbol{z}_j\right) = m\left(m-1\right)t\right] \\ = &\frac{\frac{1}{m!}\prod_{i = 0}^{m - 1}\binom{n - it}{t}}{\binom{\binom{n}{t}}{m}} \\ \geq & \frac{\frac{1}{m!}\prod_{i = 0}^{m - 1}\binom{n - it}{t}}{\frac{1}{m!}\binom{n}{t}^m}\\ = & \frac{\prod_{i = 0}^{m - 1}\binom{n - it}{t}}{\binom{n}{t}^m}\\ \geq & \prod_{i = 0}^{m - 1}\prod_{j = 0}^{t - 1}\frac{n - it - j}{n}\\ = & \frac{n^{m} - \frac{mt(mt-1)}{2}n^{m-1} + o(n^{m - 1})}{n^m}\\ = & 1 - \Theta\left(n^{-1}\right). \end{align}\] where the first inequality follows from \(\frac{n^t}{t!}\geq \binom{n}{t}\).
Chen Wang received the B.A. and M.S. degrees in Mathematics from the University of Science and Technology of China, Hefei, Anhui, China, in 2019 and 2021, respectively, and the Ph.D. degree from Shandong University, Qingdao, Shandong, China, in 2025. He is currently with the Department of Computer Science, Technion — Israel Institute of Technology. His research interests include combinatorics, DNA storage, and private information retrieval.
Eitan Yaakobi (S’07–M’12–SM’17) is a Professor at the Computer Science Department at the Technion — Israel Institute of Technology. He also holds a courtesy appointment in the Technion’s Electrical and Computer Engineering (ECE) Department. He received the B.A. degrees in computer science and mathematics, and the M.Sc. degree in computer science from the Technion — Israel Institute of Technology, Haifa, Israel, in 2005 and 2007, respectively, and the Ph.D. degree in electrical engineering from the University of California, San Diego, in 2011. Between 2011-2013, he was a postdoctoral researcher in the department of Electrical Engineering at the California Institute of Technology and at the Center for Memory and Recording Research at the University of California, San Diego. His research interests include information and coding theory with applications to non-volatile memories, associative memories, DNA storage, data storage and retrieval, and private information retrieval. He received the Marconi Society Young Scholar in 2009 and the Intel Ph.D. Fellowship in 2010-2011. Between 2020 and 2023, he served as an Associate Editor for Coding and Decoding for the IEEE Transactions on Information Theory and since October 2024 he serves as an Associate Editor for the IEEE Transactions on Molecular, Biological, and Multi-Scale Communications. Since 2016, he is affiliated with the Center for Memory and Recording Research at the University of California, San Diego, and between 2018–2022, he was affiliated with the Institute of Advanced Studies, Technical University of Munich, where he held a four-year Hans Fischer Fellowship, funded by the German Excellence Initiative and the EU 7th Framework Program. Between August 2023 and January 2024, he was a Visiting Associate Professor at the School of Physical and Mathematical Sciences at Nanyang Technological University. Since 2024 he is a member of the Israel Young Academy. He is a recipient of several grants, including the ERC Consolidator Grant and the EIC Pathfinder Challenge.
Yiwei Zhang received the B.A. and Ph.D. degrees in mathematics from Zhejiang University, Hangzhou, Zhejiang, China, in 2011 and 2016, respectively. From 2016 to 2017, he was a Post-Doctoral Researcher with the School of Mathematical Sciences, Capital Normal University, Beijing, China. From 2017 to 2019, he was a Post-Doctoral Researcher with the Department of Computer Science, Technion-Israel Institute of Technology, Haifa, Israel. He is currently a Professor with the School of Cyber Science and Technology, Shandong University, Qingdao, Shandong, China. He is also with State Key Laboratory of Cryptography and Digital Economy Security, the Key Laboratory of Cryptologic Technology and Information Security, Ministry of Education, Shandong University. His current research interests include coding theory and information security.
Chen Wang and Yiwei Zhang were supported in part by National Key Research and Development Program of China under Grant Nos. 2022YFA1004900 and 2021YFA1001000, in part by National Natural Science Foundation of China under Grant No. 12231014, and in part by Taishan Scholars Program. The research of Chen Wang was also supported in part at the Technion by a fellowship from the Lady Davis Foundation. The work of Eitan Yaakobi was Funded by the European Union (ERC, DNAStorage, 101045114 and EIC, DiDAX 101115134). Views and opinions expressed are however those of the authors only and do not necessarily reflect those of the European Union or the European Research Council Executive Agency. Neither the European Union nor the granting authority can be held responsible for them. Part of this paper [1] has been presented in ITW2024. Corresponding author: Yiwei Zhang.↩︎
Chen Wang and Yiwei Zhang are with State Key Laboratory of Cryptography and Digital Economy Security, Key Laboratory of Cryptologic Technology and Information Security of Ministry of Education, School of Cyber Science and Technology, Shandong University, Qingdao, Shandong, 266237, China (e-mail: cwang2021@mail.sdu.edu.cn, ywzhang@sdu.edu.cn).↩︎
Eitan Yaakobi is with the Department of Computer Science, Technion — Israel Institute of Technology, Haifa 3200003, Israel (e-mail: yaakobi@cs.technion.ac.il)↩︎
BIBD is short for balanced incomplete block designs. A \((v,k,\lambda)\)-BIBD is a family of \(k\)-subsets (called blocks) of a \(v\)-set, such that every two elements appear together in exactly \(\lambda\) blocks.↩︎