我正在寻找能够提供算法来解决这个问题的参考资料:
问题:给定有限字母Σ和有限语言L⊆Σ * ,确定L * 是否为自由幺半群。< / p>
等效地,问题是在给定一组有限的字符串的情况下确定这些字符串的每个串联是否可以使用相同的字符串进行唯一可分解。例如,字符串大小相同的任何语言都将满足此条件,语言L = {a,ba},但语言L = {ab,ba,aba}不满足条件,因为字符串{ {1}}可以分解为ababa
ab
或aba
aba
。
答案 0 :(得分:3)
此问题等效地表述为:何时 L 代码超过Σ?
确定这一点的标准算法是Sardinas-Patterson algorithm,发表于1953年。
在book review by Juhani Karhumäki(AMS公报,第17卷第1期,第161-167页,1987年)中对Berstel和Perren的代码理论进行了有趣的讨论。 (Pure and Applied Mathematics vol.117,Academic Press,NY,1985。)