Algorithms for Galois Words: Detection, Factorization, and Rotation
<|reference_start|>Algorithms for Galois Words: Detection, Factorization, and Rotation: Lyndon words are extensively studied in combinatorics on words -- they play a crucial role on upper bounding the number of runs a word can have [Bannai+, SIAM J. Comput.'17]. We can determine Lyndon words, factorize a word into Lyndon words in lexicographically non-increasing order, and find the Lyndon rotation of a word, all in linear time within constant additional working space. A recent research interest emerged from the question of what happens when we change the lexicographic order, which is at the heart of the definition of Lyndon words. In particular, the alternating order, where the order of all odd positions becomes reversed, has been recently proposed. While a Lyndon word is, among all its cyclic rotations, the smallest one with respect to the lexicographic order, a Galois word exhibits the same property by exchanging the lexicographic order with the alternating order. Unfortunately, this exchange has a large impact on the properties Galois words exhibit, which makes it a nontrivial task to translate results from Lyndon words to Galois words. Up until now, it has only been conjectured that linear-time algorithms with constant additional working space in the spirit of Duval's algorithm are possible for computing the Galois factorization or the Galois rotation.   Here, we affirm this conjecture as follows. Given a word $T$ of length $n$, we can determine whether $T$ is a Galois word, in $O(n)$ time with constant additional working space. Within the same complexities, we can also determine the Galois rotation of $T$, and compute the Galois factorization of $T$ online. The last result settles Open Problem~1 in [Dolce et al., TCS 2019] for Galois words.<|reference_end|>
@article{hendrian2024algorithms,
    title={Algorithms for Galois Words: Detection, Factorization, and Rotation},
    author={Diptarama Hendrian, Dominik K"oppl, Ryo Yoshinaka, Ayumi Shinohara},
    journal={arXiv preprint arXiv:2403.02636},
    year={2024},
    doi={10.4230/LIPIcs.CPM.2024.1},
    archivePrefix={arXiv},
    eprint={2403.02636},
    primaryClass={cs.DS}
}