Non-overlapping codes are block codes that have arisen in diverse contexts of computer science and biology. Applications typically require finding non-overlapping codes with large cardinalities, but the maximum size of non-overlapping codes has been determined only for cases where the codeword length divides the size of the alphabet, and for codes with codewords of length two or three. For all other alphabet sizes and codeword lengths no computationally feasible way to identify non-overlapping codes that attain the maximum size has been found to date. Herein we characterize maximal non-overlapping codes. We formulate the maximum non-overlapping code problem as an integer optimization problem and determine necessary conditions for optimality of a non-overlapping code. Moreover, we solve several instances of the optimization problem to show that the hitherto known constructions do not generate the optimal codes for many alphabet sizes and codeword lengths. We also evaluate the number of distinct maximum non-overlapping codes.
翻译:无重叠码是出现在计算机科学和生物学不同背景中的分组码。应用通常需要寻找具有大基数的无重叠码,但无重叠码的最大大小仅在码字长度整除字母表大小以及码字长度为二或三的情况下被确定。对于所有其他字母表大小和码字长度,目前尚未找到在计算上可行的方法来识别达到最大大小的无重叠码。本文中,我们刻画了最大无重叠码。我们将最大无重叠码问题表述为整数优化问题,并确定了无重叠码最优性的必要条件。此外,我们求解了优化问题的几个实例,表明迄今为止已知的构造对于许多字母表大小和码字长度并不能生成最优码。我们还评估了不同最大无重叠码的数量。