Table of Contents
Fetching ...

Binary Codes for Correcting Two Edits

Yubo Sun, Gennian Ge

TL;DR

A necessary and sufficient condition for a code to be two-edit correctable is provided, showing that a code is a two-edit correcting code if and only if it can correct two deletions, up to two substitutions, and one deletion and up to one substitution, separately.

Abstract

An edit refers to a single insertion, deletion, or substitution. This paper aims to construct binary codes that can correct two edits. To do this, a necessary and sufficient condition for a code to be two-edit correctable is provided, showing that a code is a two-edit correcting code if and only if it can correct two deletions, up to two substitutions, and one deletion and up to one substitution, separately. This criterion allows for the construction of two-edit correcting codes leveraging these three types of error correcting codes. In the field of constructing codes for correcting two deletions, we present a construction with $4\log n+O(\log\log n)$ redundant bits that can be viewed as a subcode proposed by Guruswami and Håstad, and provide an alternative proof. Moreover, our two-deletion correcting codes can also correct up to two substitutions after making a slight modification. In the field of constructing codes for correcting one deletion and up to one substitution, we present a construction with $4 \log n+O(\log\log n)$ redundant bits, which outperforms the best previously known results $6 \log n+O(1)$. Leveraging these codes, we obtain a construction of two-edit correcting codes with $6 \log n+O(\log\log n)$ redundant bits. This outperforms the best previously known result, which requires at least $8\log n$ redundant bits. Moreover, we also consider the list-decoding problem under the two-edit channel and construct a two-edit list-decodable code with a list size of two employing $4 \log n+O(\log\log n)$ redundant bits.

Binary Codes for Correcting Two Edits

TL;DR

A necessary and sufficient condition for a code to be two-edit correctable is provided, showing that a code is a two-edit correcting code if and only if it can correct two deletions, up to two substitutions, and one deletion and up to one substitution, separately.

Abstract

An edit refers to a single insertion, deletion, or substitution. This paper aims to construct binary codes that can correct two edits. To do this, a necessary and sufficient condition for a code to be two-edit correctable is provided, showing that a code is a two-edit correcting code if and only if it can correct two deletions, up to two substitutions, and one deletion and up to one substitution, separately. This criterion allows for the construction of two-edit correcting codes leveraging these three types of error correcting codes. In the field of constructing codes for correcting two deletions, we present a construction with redundant bits that can be viewed as a subcode proposed by Guruswami and Håstad, and provide an alternative proof. Moreover, our two-deletion correcting codes can also correct up to two substitutions after making a slight modification. In the field of constructing codes for correcting one deletion and up to one substitution, we present a construction with redundant bits, which outperforms the best previously known results . Leveraging these codes, we obtain a construction of two-edit correcting codes with redundant bits. This outperforms the best previously known result, which requires at least redundant bits. Moreover, we also consider the list-decoding problem under the two-edit channel and construct a two-edit list-decodable code with a list size of two employing redundant bits.
Paper Structure (39 sections, 30 theorems, 21 equations, 4 figures, 2 tables)

This paper contains 39 sections, 30 theorems, 21 equations, 4 figures, 2 tables.

Key Result

Lemma 1

Suppose $n \geq 10$ and $b \geq 5$, set $\ell= b^4 \log n$ and $\epsilon= \frac{1}{3b}$, there exists a strong-$(\ell,\epsilon)$-locally-balanced code of size at least $2^{n}(1-2n^{2-\frac{2}{9} b^2 \log e})$.

Figures (4)

  • Figure 1: Illustrations of $\boldsymbol{x}$ and $\boldsymbol{y}$ when $E(\boldsymbol{x},d_x-1)\cap E(\boldsymbol{y},d_y)\neq \emptyset$ or $\boldsymbol{x}_{[n]\setminus \{d_y\}}= \boldsymbol{y}_{[n] \setminus \{d_x\}}$, where $1 \leq d_x\leq d_y \leq n$.
  • Figure 2: Illustrations of $\boldsymbol{x}$ and $\boldsymbol{y}$ when $\boldsymbol{x}_{[n] \setminus \{g_1,h_1\}}= \boldsymbol{y}_{[n] \setminus \{g_2,h_2\}}$, where $g_1<h_1\leq g_2<h_2$. Each pair of bits connected by a solid line are of equal value.
  • Figure 3: Illustrations of $\psi(\boldsymbol{x})$ and $\psi(\boldsymbol{y})$ when $\boldsymbol{x}_{[n] \setminus \{g_1,h_1\}}= \boldsymbol{y}_{[n] \setminus \{g_2,h_2\}}$, where $g_1<h_1\leq g_2<h_2$. Each pair of bits connected by a solid line are of equal value, while those connected by a green undertone signify a connection resulted from deletions.
  • Figure 4: Illustrations of $\psi(\boldsymbol{x}(e_x))$ and $\psi(\boldsymbol{y}(e_y))$ when $\boldsymbol{x}(e_x)_{[n] \setminus \{d_x\}}= \boldsymbol{y}(e_y)_{[n] \setminus \{d_y\}}$, where $d_x<d_y$. Each pair of bits connected by a solid line are of equal value, while those connected by a green undertone signify a connection resulted from deletions.

Theorems & Definitions (59)

  • Lemma 1: Claim 4 of Gabrys-18-IT-D_T
  • Corollary 1
  • Lemma 2
  • Lemma 3: Section 3.3.4 of Lev-23-arXiv-CC
  • Lemma 4: Theorem 2 of Levenshtein-66-SPD-1D
  • Lemma 5: Lemma 1 of Levenshtein-66-SPD-1D
  • Definition 1
  • Definition 2
  • Lemma 6: Theorem 6 of Sun-23-IT-DR
  • Definition 3
  • ...and 49 more