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 modify the construction presented by Guruswami and H{\aa}stad and give 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+o(1)) \log n$ redundant bits, which outperforms the best previously known results $(6+o(1)) \log n$. Leveraging these codes, we obtain a construction of two-edit correcting codes with $(6+o(1)) \log n$ redundant bits, which outperforms the best previously known results $(8+o(1)) \log n$. 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+o(1)) \log n$ redundant bits.
翻译:编辑操作指单次插入、删除或替换。本文旨在构造能纠正两个编辑操作的二进制码。为此,我们给出了码可纠正两个编辑操作的充要条件,证明一个码是双编辑纠错码当且仅当它能分别纠正两个删除操作、最多两个替换操作、以及一个删除操作和最多一个替换操作。该准则允许利用这三类纠错码构造双编辑纠错码。在纠正两个删除操作的码构造领域,我们改进了Guruswami和Håstad提出的构造方案并给出了另一种证明方法。此外,我们的双删除纠错码经过轻微修改后还能纠正最多两个替换操作。在纠正一个删除操作和最多一个替换操作的码构造领域,我们提出了具有(4+o(1)) log n冗余比特的构造方案,优于此前最优的(6+o(1)) log n结果。利用这些码,我们获得了具有(6+o(1)) log n冗余比特的双编辑纠错码构造,优于此前最优的(8+o(1)) log n结果。同时,我们还考虑了双编辑信道下的列表译码问题,并构造了具有(4+o(1)) log n冗余比特、列表大小为2的双编辑列表可译码。