Binary Codes for Correcting Two Edits
<|reference_start|>Binary Codes for Correcting Two Edits: 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{\aa}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.<|reference_end|>
@article{sun2024binary,
    title={Binary Codes for Correcting Two Edits},
    author={Yubo Sun and Gennian Ge},
    journal={arXiv preprint arXiv:2403.11766},
    year={2024},
    archivePrefix={arXiv},
    eprint={2403.11766},
    primaryClass={cs.IT math.IT}
}