形式语言之间适当的同构是什么?


9

一个正式的语言 过字母表的一个子集,即,一组在该字母的单词。如果对应的集合作为子集在扩展上相等,则两种形式语言和相等。可以在复杂性理论中使用语言来形式化“问题”的概念。有人可能会抱怨说,“一般”的延伸平等是无法决定的,但我认为这会被误导。Σ Σ *大号大号'大号大号LΣΣLLLL

自一段时间以来,我一直在思考以下问题:两种语言和对于字母和(其中,,和大号' Σ = { 一个b } Σ ' = { Ç d } 一个b ç d LLΣ={a,b}Σ={c,d}abcd是不同的字母),即使它们“完全”描述相同的“问题”,也永远不可能相等。但是,如果它们确实“完全”描述相同的“问题”,则它们应该是同构的。我想知道适合同构理论的同构可能概念。我最初以为像有限状态机这样的计算能力较弱的“转换器”可以用来定义允许的同构,但是对于等效逻辑公式之间的琐碎句法翻译,这似乎已经崩溃了。(例如,请参阅此表,其中包含线性逻辑中对 的语法定义A。)

今天,我有以下想法:与某个“决策问题”相对应的语言定义通常包含两个部分:(1)将允许的问题实例编码为有限的符号字符串,以及(2)对“属于该语言的“已接受”问题实例。如果检查给定的有限符号串是否是允许的问题实例的编码,则在计算上要比有限状态机强,那么该强机也应用于定义允许的同构。

问题:这种推理方式是否有可能“解决”我的问题?我的问题是否已经解决,所以我只需要阅读正确的参考资料?我的问题本身是否有意义,还是像抱怨扩展性的不确定性一样被误导了?


编辑(尚未给出答案)我注意到“(1)将允许的问题实例编码为有限的符号字符串”已经包含了标准化输入的(隐藏)假设。如果没有这种假设,则两个不同的有限字符串可能对应于同一问题实例。代替检查给定的有限字符串是否有效,该检查可能会产生规范化的输入(并将无效的字符串映射到特殊的字符串)。

该设置的优点在于,进行检查/归一化的机器已经配备了将有限字符串转换为其他有限字符串的装置。用于此任务的允许的机器(复杂度等级)可以是问题定义的一部分,(同构)同态将使用同一台机器(复杂度等级)。(根据拉斐尔的评论提出的“多时多一减法”的建议,的确是出现问题的一种可能性。)P

缺点是这种规范方式可能仅适用于确定性机器。非确定性机器可能需要更灵活的方式来指定/确定两个输入字符串是否对应于同一问题实例。


1
所有无限语言(超过有限字母)都是同构的(因为它们是可数的)。您需要完善所需的内容。另外,您说什么来衡量两个问题“相同”?可以说,多次多减法为您提供了所需的映射,但是这些映射将“不同”(但同样困难)的问题映射到了彼此。
拉斐尔

@Raphael对于您的评论“您需要完善您想要的内容”,我有些困惑。这个问题正是关于我可能“想要”使用哪个同构概念。有时很难知道您真正想要什么!在讨论有关“精确地”描述相同“问题”的语言的问题中,我基本上只是想到一种情况,用标识和用标识会使和相等。继续采用这种推理方法,最初使我将有限状态机视为“转换器”,但最终并不能解决我的问题。c b d L L 'acbdLL
Thomas Klimpel

@Raphael我想对于大多数问题,对于我所想到的同构,多时间多一归约在计算上过于强大。我不希望同构为我计算解决方案,也不希望将图论问题简化为逻辑可满足性问题。我只想确定同一问题实例的两种略有不同但本质上等效的编码。我没问题,如果同构的这种观念也应该能够确定某些(理论的)编码理论问题和某些(理论的)逻辑满足性问题。
Thomas Klimpel

粗略地讲,与此相关联的减少的复杂性被用于此目的。一个强降低较少小于P时间是例如日志空间的减少,的时间,等等O(nc)
VZN

Answers:


6

我的问题是否已经解决,所以我只需要阅读正确的参考资料?

抽象的语言族理论是相关的。例如,由有限状态换能器定义的态射导致族。埃伦伯格(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=f1(L)f:ΣΣL=f1(L)fgf(x)=g(x)xLRΣ×ΣL=R1(L)

  • ΣΣΣΣ
  • 确定性对数空间图灵机转换器定义的部分功能给出了非常自然的部分类别。它能够执行许多琐碎的语法转换(例如应用De Morgan定律将否定词移动到原子),包括功能有限状态换能器1定义的态射,并且还可以排序。仍然不会将两种完全不相关的语言识别为同构,因为将两个语素的成分等同于同一性语素是比仅在两个方向上都存在多一化简的更为强烈的要求。
  • 由不确定的对数空间图灵机转换器定义的关系给出了一个有趣的关系类别。SAT在这一类中与HORNSAT同构,但是TAUTOLOGY或任何其他共NP完全问题是否与HORNSAT同构是一个悬而未决的问题。

LLΣ={a,b}Σ={c,d}abcd

上述非常基​​本的类别可以解决此问题。

LΣ={U,C,A,G}LΣ={0,1}LU00C01A10G11LLL=Σfgf(x)=g(x)xL

LL

  • 由唯一的接受状态是初始状态的明确的有限状态传感器2实现的部分功能。此部分类别的同构是可识别的可变长度代码之间的双射(的子集)。
  • 由确定性有限状态传感器实现的部分功能,其中唯一的接受状态是初始状态。此部分类别的同构是前缀代码之间的双射(的子集)。
  • 前向和后向确定性传感器同时实现部分功能,其中唯一的接受状态是初始状态。此部分类别的同构是bifix码之间的双射(的子集)。
  • 进一步限制部分功能,以使同构是块代码之间的双射(的子集),这也很有意义。

可以在复杂性理论中使用语言来形式化“问题”的概念。

甚至在我不了解范畴论之前,我就想知道是否存在“更忠实”的方式来形式化“问题”的概念。熟悉类别理论后,我有时会尝试提出可能的解决方案,但总是很快在第一个绊脚石上放弃(因为无论如何也没人在意)。我知道Yuri Gurevich已经解决了一些相关的问题,但是他的解决方案实际上是适用的,而我一直在寻求与实用性无关的漂亮抽象的东西。

在过去的三个星期中,我大部分的业余时间都花在了这个问题上,终于取得了一些进展。通常,时间是花在我想到的可能解决方案中的烦人问题上。进步感源于阅读(旧)书籍和文章,并学习许多有关换能器和有理集合的基本概念和事实。最终,我了解了前缀代码和bifix代码(在Berstel的书中以前称为biprefix代码)的概念,这使我能够提出上述合理的3类。

在没有看到一些较明显类别的问题的情况下,可能很难欣赏那些(与代码相关的)类别。一个普遍的问题是,在组合下的闭包可能使定义部分函数的严格限制类变得困难。另一个问题与以下事实有关:如果数字的数字以低位序顺序给出,则加一个(或乘以常数)是“易于计算的函数”,但如果数字的数字以高位递增,则不是这样。字节顺序。


O(n)O(1)

2 明确的有限状态传感器是不确定的有限状态传感器,每个输入最多具有一个接受路径。它实现了部分功能,因此也是功能有限状态传感器。可以确定给定的有限状态换能器是否明确。

RΣ×ΣL=R1(L)R1(ΣL),并且相同来源和目标之间的任意两个词素被视为相等。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.