我的问题是否已经解决,所以我只需要阅读正确的参考资料?
抽象的语言族理论是相关的。例如,由有限状态换能器定义的态射导致锥族。埃伦伯格(Eilenberg)在1970年进行的简短ICM演讲很好地解释了此框架,另请参见1979年J. Hopcroft和J. Ullman撰写的《自动机理论,语言和计算简介》(第1版)中的第11章“语言族的封闭属性” 。 ,只有非确定性语言适合此框架1。最后,1985年J. Berstel和D. Perrin所著的《代码理论》一书帮助我提出了解决问题的合理方法。代码和自动机J. Berstel,D。Perrin和C. Reutenauer于2009年对本书进行了重大修订,涵盖面更广。
这种推理方式是否有可能“解决”我的问题?我的问题本身有意义吗,还是像……一样被误导了?
错误的假设是存在一种正确的类别来对语言之间的同构进行建模,以“使问题的概念正式化”。在形式语言的上下文中,有许多不同的类别可能会很有趣。
(Σ,L)ΣL⊂Σ∗Σ(Σ,L)(Σ′,L′)f:Σ∗→Σ′∗L=f−1(L′)f:Σ∗→Σ′∗L=f−1(L′)fgf(x)=g(x)x∈LR⊂Σ∗×Σ′∗L=R−1(L′)
- Σ∗Σ′∗ΣΣ′
- 确定性对数空间图灵机转换器定义的部分功能给出了非常自然的部分类别。它能够执行许多琐碎的语法转换(例如应用De Morgan定律将否定词移动到原子),包括功能有限状态换能器1定义的态射,并且还可以排序。仍然不会将两种完全不相关的语言识别为同构,因为将两个语素的成分等同于同一性语素是比仅在两个方向上都存在多一化简的更为强烈的要求。
- 由不确定的对数空间图灵机转换器定义的关系给出了一个有趣的关系类别。SAT在这一类中与HORNSAT同构,但是TAUTOLOGY或任何其他共NP完全问题是否与HORNSAT同构是一个悬而未决的问题。
LL′Σ={a,b}Σ′={c,d}abcd
上述非常基本的总类别可以解决此问题。
LΣ={U,C,A,G}L′Σ′={0,1}LU→00C→01A→10G→11LL′L=Σ∗fgf(x)=g(x)x∈L
LL′
- 由唯一的接受状态是初始状态的明确的有限状态传感器2实现的部分功能。此部分类别的同构是可识别的可变长度代码之间的双射(的子集)。
- 由确定性有限状态传感器实现的部分功能,其中唯一的接受状态是初始状态。此部分类别的同构是前缀代码之间的双射(的子集)。
- 前向和后向确定性传感器同时实现部分功能,其中唯一的接受状态是初始状态。此部分类别的同构是bifix码之间的双射(的子集)。
- 进一步限制部分功能,以使同构是块代码之间的双射(的子集),这也很有意义。
可以在复杂性理论中使用语言来形式化“问题”的概念。
甚至在我不了解范畴论之前,我就想知道是否存在“更忠实”的方式来形式化“问题”的概念。熟悉类别理论后,我有时会尝试提出可能的解决方案,但总是很快在第一个绊脚石上放弃(因为无论如何也没人在意)。我知道Yuri Gurevich已经解决了一些相关的问题,但是他的解决方案实际上是适用的,而我一直在寻求与实用性无关的漂亮抽象的东西。
在过去的三个星期中,我大部分的业余时间都花在了这个问题上,终于取得了一些进展。通常,时间是花在我想到的可能解决方案中的烦人问题上。进步感源于阅读(旧)书籍和文章,并学习许多有关换能器和有理集合的基本概念和事实。最终,我了解了前缀代码和bifix代码(在Berstel的书中以前称为biprefix代码)的概念,这使我能够提出上述合理的3类。
在没有看到一些较明显类别的问题的情况下,可能很难欣赏那些(与代码相关的)类别。一个普遍的问题是,在组合下的闭包可能使定义部分函数的严格限制类变得困难。另一个问题与以下事实有关:如果数字的数字以低位序顺序给出,则加一个(或乘以常数)是“易于计算的函数”,但如果数字的数字以高位递增,则不是这样。字节顺序。
O(n)O(1)
2
明确的有限状态传感器是不确定的有限状态传感器,每个输入最多具有一个接受路径。它实现了部分功能,因此也是功能有限状态传感器。可以确定给定的有限状态换能器是否明确。
R⊂Σ∗×Σ′∗L=R−1(L′)−R−1(Σ′∗−L′),并且相同来源和目标之间的任意两个词素被视为相等。