用于假人的Monadic二阶逻辑


14

我是一个对自动机有所了解的程序员,但对逻辑并不了解。

我在论文中读到,两者之间有着密切的联系。确定性有限自动机(DFA),树自动机和可见下推自动机都与Monadic二阶逻辑(MSO)相关。尽管我了解自动机,人们(在论文中)试图向我解释与MSO的关系,但他们始终假设自己具有强大的逻辑背景和对MSO的理解。

当我阅读有关逻辑的书籍和课程时,它们大多只处理一阶逻辑,这看起来很简单,并且仅包含以下几个概念:变量,或者(并非暗示)全部存在,等等。

有人可以向我解释或指向可以解释以下内容的资源:

  1. 与一阶逻辑相比,二阶逻辑是什么?
  2. 什么是单子逻辑与非单子逻辑?
  3. 可判定二阶逻辑为什么单调很重要,或者为什么这是错误的问题?
  4. 为什么一元二阶逻辑是可确定的?
  5. 与至少DFA的关系?

如果它是一种资源,并且假设我是程序员而不是逻辑学家,那将很好。这意味着我想了解如何将其实现为代码,因为在那之前数学对我来说就像是魔力;)

谢谢您能给我的任何帮助。我真的很感激。


“为什么要确定二阶逻辑单调性很重要,或者为什么这是一个错误的问题?” 如果您允许对二进制谓词进行量化,例如那么您将立即使用一个已经无法确定的二进制谓词(甚至没有函数)来掌握一阶逻辑的功能元数> 0的,并且在不平等)[卡尔玛,Suranyi,1950]M[...M(x,y)...]

Answers:


11
  1. 与一阶逻辑相比,二阶逻辑是什么?
  2. 什么是单子逻辑与非单子逻辑?

单子二阶逻辑是一阶逻辑加上对集合的量化。因此,除了可以说存在具有某些属性的域元素()之外,您还可以说存在一具有某些属性的域元素。因此,例如,我们可以通过说x

RGB[x(xRxGxB)¬x((xRxG)(xGxB)(xBxR))xy(E(x,y)¬((xRyR)(xGyG)(xByB)))].

换句话说,有红色,绿色和蓝色

  • 每个顶点都有颜色
  • 没有顶点有两种颜色
  • 并且,如果两个顶点之间有一条边,则这两个顶点的颜色不相同。

一般的二阶逻辑不仅允许对集合进行量化,而且还可以对域上的任意关系进行量化。回想一下,对于某个,关系是域上的元  组的集合。集只是一元关系:,一个元组只是域的元素。k k = 1 1kkk=11

  1. 可判定二阶逻辑为什么单调很重要,或者为什么这是错误的问题?

  2. 为什么一元二阶逻辑是可确定的?

老实说,我不记得可判定性问题。关键是完整的二阶逻辑可让您量化域的线性顺序

Rxyz[(R(x,y)R(y,x))((R(x,y)R(y,x))x=y)((R(x,y)R(y,z))R(x,z))].

也就是说,存在一个完全,反对称和可传递的二元关系,即在域上是线性顺序  。对于任何 ,这都隐式地为您提供了的线性顺序  ,您可以对足够大的 使用上的关系  来模拟图灵机磁带。但是,使用单声道SO,您将无法做任何事情。DDnnDnn

(我猜想,如果您的域是无限的,那么您可能还需要指定线性顺序是离散的并且具有最小元素;然后您知道它的初始段与自然数同构,因此应该足够。)

在有限输入上,SO的存在片段-形式为公式(其中是关系符号,  是一阶的)精确地定义了NP。完整的二阶逻辑精确定义了多项式层次。这恰好是因为能够对Turing机器进行编码,以及量化固定的关系集合使您可以处理多项式的事实。R1RkφRiφ

  1. 与至少DFA的关系?

我们可以通过关系结构来表示一些有限字母的字符串  。词汇表具有二进制关系符号 (将被解释为线性顺序),以及每个字符的不相关的关系符号 。域的每个元素都是字符串中的一个字符,线性顺序告诉您字符出现的顺序,关系 告诉您在每个位置出现的字符。ΣRaaΣRa

现在,假设我们有一个包含个状态的DFA,  并假设我们现在正在处理有限字符串。我们可以编写一个与上述三色性公式大致相似的公式,该公式表示我们的DFA接受其输入编码的字符串。它说存在(域元素,即字符串中的位置),这样将是字符串中状态为的自动机的位置集合  。因此断言:kQ1,,QkQii

  • 每个位置 恰好在;jQ1,,Qk
  • 第一个位置在 (假设这是开始状态);Q1
  • 如果第个位置在 则第个位置处于自动机转换函数认为应该处于的任何状态;jQi(j+1)
  • 最终位置处于接受状态。

如果此公式为真,则自动机必须接受字符串;否则,字符串为0。如果为假,则自动机必须拒绝。对于NFA,我们只说每个职位至少处于一种状态,而最终状态至少处于一种接受状态。对于无限输入,我们可以通过例如说“对于输入中的所有位置,如果  处于接受状态,则存在使得  也处于接受状态的Büchi条件进行编码  。jjj>jj

现在,我不记得有相反的证明(在MSO中定义的所有内容都可以由适当的自动机识别)。如果有时间,我会查一下并张贴草图。

相反,我们可以遵循自动机的构造,通过有限状态自动机归纳表示MSO公式的含义。为此,我们通过添加指示自由位置变量的值和设置变量组件来增加自动机的字母。如果我们沿自动机读取一个字符串,我们会发现恰好是一个来表示某个位置,并且集合中的位置也被标记为相同。iX1iX

基本公式是:“位置具有符号 ”的,表示“是的元素”,而表示“位置在位置之前”。这些公式可以由以下简单的有限状态自动机表示(适用于该公式的扩展字母):一个X X < Ĵ ĴRa(i)iaiXiXi<jij

基本自动机

使用布尔和存在量词构造更复杂的公式。这些运算符的预期含义可以很容易地翻译成语言,因为语言运算符合并,互补和projection,这是从扩展字母中删除相应组件的操作。对于联合,我们必须特别注意扩展字母,以防公式的两个部分在自由变量集上不一致。投影很简单,但是它将确定性自动机变为不确定性自动机。X ,¬i,Xc


补充了我的建议。待@DavidRicherby批准-Hendrik'1
Jan

感谢您的热烈响应。我仍然在处理所有这些问题并仔细研究它,查找术语,思考如何实现此目标,等等。与此同时,我认为数字3是一个错误的问题。也许应该是为什么自动机和逻辑之间的关系如此重要,以至于在很多文章中都提到了它?
Walter Schulze

感谢您的出色回答!
克拉斯。
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.