We describe a practical algorithm for computing normal forms for semigroups and monoids with finite presentations satisfying so-called small overlap conditions. Small overlap conditions are natural conditions on the relations in a presentation, which were introduced by J. H. Remmers and subsequently studied extensively by M. Kambites. Presentations satisfying these conditions are ubiquitous; Kambites showed that a randomly chosen finite presentation satisfies the $C(4)$ condition with probability tending to 1 as the sum of the lengths of relation words tends to infinity. Kambites also showed that several key problems for finitely presented semigroups and monoids are tractable in $C(4)$ monoids: the word problem is solvable in $O(\min\{|u|, |v|\})$ time in the size of the input words $u$ and $v$; the uniform word problem for $\langle A|R\rangle$ is solvable in $O(N ^ 2 \min\{|u|, |v|\})$ where $N$ is the sum of the lengths of the words in $R$; and a normal form for any given word $u$ can be found in $O(|u|)$ time. Although Kambites' algorithm for solving the word problem in $C(4)$ monoids is highly practical, it appears that the coefficients in the linear time algorithm for computing normal forms are too large in practice. In this paper, we present an algorithm for computing normal forms in $C(4)$ monoids that has time complexity $O(|u| ^ 2)$ for input word $u$, but where the coefficients are sufficiently small to allow for practical computation. Additionally, we show that the uniform word problem for small overlap monoids can be solved in $O(N \min\{|u|, |v|\})$ time.
翻译:我们描述了一种实用算法,用于计算满足所谓小重叠条件的有限表示半群和幺半群的规范形。小重叠条件是J. H. Remmers引入的关于表示中关系的自然条件,随后由M. Kambites进行了广泛研究。满足这些条件的表示普遍存在;Kambites证明,当关系词长度之和趋于无穷时,随机选取的有限表示以趋于1的概率满足$C(4)$条件。Kambites还指出,有限表示半群和幺半群的若干关键问题在$C(4)$幺半群中是可解的:词问题在输入词$u$和$v$的大小上可在$O(\min\{|u|, |v|\})$时间内求解;$\langle A|R\rangle$的一致词问题可在$O(N ^ 2 \min\{|u|, |v|\})$时间内求解,其中$N$是$R$中词的长度之和;任意给定词$u$的规范形可在$O(|u|)$时间内找到。尽管Kambites求解$C(4)$幺半群中词问题的算法非常实用,但计算规范形的线性时间算法中的系数在实践中似乎过大。本文提出一种在$C(4)$幺半群中计算规范形的算法,其输入词$u$的时间复杂度为$O(|u| ^ 2)$,但系数足够小,可实现实际计算。此外,我们证明小重叠幺半群的一致词问题可在$O(N \min\{|u|, |v|\})$时间内求解。