Counting overlapping pairs of strings
<|reference_start|>Counting overlapping pairs of strings: A correlation is a binary vector that encodes all possible positions of overlaps of two words, where an overlap for an ordered pair of words (u,v) occurs if a suffix of word u matches a prefix of word v. As multiple pairs can have the same correlation, it is relevant to count how many pairs of words share the same correlation depending on the alphabet size and word length n. We exhibit recurrences to compute the number of such pairs -- which is termed population size -- for any correlation; for this, we exploit a relationship between overlaps of two words and self-overlap of one word. This theorem allows us to compute the number of pairs with a longest overlap of a given length and to show that the expected length of the longest border of two words asymptotically diverges, which solves two open questions raised by Gabric in 2022. Finally, we also provide bounds for the asymptotic of the population ratio of any correlation. Given the importance of word overlaps in areas like word combinatorics, bioinformatics, and digital communication, our results may ease analyses of algorithms for string processing, code design, or genome assembly.<|reference_end|>
@article{rivals2024counting,
    title={Counting overlapping pairs of strings},
    author={Eric Rivals and Pengfei Wang},
    journal={arXiv preprint arXiv:2405.09393},
    year={2024},
    number={HAL: lirmm-04576588v2},
    archivePrefix={arXiv},
    eprint={2405.09393},
    primaryClass={cs.DM cs.DS}
}