为什么对于LBA可以决定暂停问题?


13

我已经读过维基百科和其他一些文本,

对于具有有限内存的线性有界自动机(LBA)和确定性机器,可以确定停止问题。

但是,更早的文章说,停止问题是一个无法确定的问题,因此TM无法解决它!由于LBA被定义为TM的一种类型,因此对于它们而言,是否同样适用?


9
您可以使用TM通过仿真检查LBA是否暂停,例如确定O(2 ^ 2 ^ n)步长,从而确定LBA是否在给定输入上暂停。任何工作时间超过此时间的LBA都会陷入无限循环。这并不是说LBA可以解决一般TM的停顿问题!
Yonatan N

有限自动机也是TM的一种。
拉斐尔

@Raphael您不能编辑这样的问题。您更改了问题的含义,从而使我现有的答案不在主题范围内,而另一个答案不在主题范围内,而现在在主题范围内。
2014年

@babou我看不到如何改变问题的含义,也看不到两个问题中的任何一个都不回答问题(即使它们使用不同的方法)。
拉斐尔

@Rap最初的问题更多是关于逻辑论述,而不是关于LBA属性的形式合理性,这就是您从标题中删除的内容。对我来说,很明显,尽管可以证明暂停对于LBA是可以决定的,但OP一直在想,它如何与其他有关在TM中包含LBA和不确定是否暂停TM的声明兼容(我可以编辑吗?) 。顺便说一句,无意贬低尤瓦尔的答案。我希望他会获得大多数选票,因为即使我不喜欢,读者群所追求的还是它的利益(这本身就是一个教学问题)。
2014年

Answers:


18

对于任何使用已知空间有限边界的图灵机,通过对Yonatan N给定的参数进行推广,可以解决该停顿问题。如果空间数量为,则字母大小为A,状态数为Q,然后可能配置的数目是Q 小号小号。如果机器停止运转,则它必须在Q S A S步之内停止,因为否则,根据信鸽原理,它具有重复的配置,因此陷入无限循环。因此,要确定机器是否停止,我们只需对其运行Q S A SSAQQSASQSASQSAS 步骤并查看它是否在该时间范围内停止。


为什么该论点适用于非确定性机器?
拉斐尔

1
由于萨维奇定理。
Yuval Filmus 2014年

除名称外,我不知道(或记得)Savitch定理(我从来没有做过太多复杂的事情)。但是我不确定是否可以那样使用它,因为它适用于决策程序,即暂停计算,而暂停的可确定性正是必须证明的。可以将证明改编为包含有空间限制的半决定,但似乎更容易单独证明对于受空间限制的TM暂停是可以决定的,从而将有空间限制的半决定变成完全决定。这与霍普克罗夫特·乌尔曼(Hopcroft-Ullman-79)在他们的引理12-1中所做的接近,这证明了萨维奇定理。
babou 2014年

1
我可能会误解这一点,但是从字面上运行程序的答案是什么,看看它是否陷入无限循环?
Mikayla Maki

1
@TrentonMaki是的,确实如此。
Yuval Filmus,2015年

10

您似乎遇到了逻辑问题。

从存在无法阅读的书籍的事实出发,您不能推断出您无法阅读任何书籍。

说停止问题对于Turing Machines(TM)来说是无法确定的,仅意味着存在无法通过某些始终停止的统一程序来确定是否停止的机器。

但是,有些图灵机会停止运行。现在,取一个图灵机的子集,称为尼斯图灵机(NTM),这样它仅包含当且仅当磁带包含偶数个符号时才会停止的图灵机。如果已知某个机器M来自该集合,则有一种简单的方法来确定M是否将停止:检查磁带符号的数量是否为偶数(仅需要两个手指)。

但是该过程不适用于不在NTM集中的TM。(太糟糕了!)

因此,即使NTM集包含在TM集中,暂停问题对于NTM还是可以确定的,但对于TM通常来说不是。

在解释不确定性结果时,这实际上是至关重要的,有时甚至被忘记了。

很有可能可以证明,对于很大的一组数学或计算对象来说,重要的属性是不可确定的。

这并不意味着您应该停止寻找解决方案,而只是您不会为整个家庭找到解决方案。

然后,您可以做的是确定对解​​决问题仍然重要的相关子家族,并尝试提供算法来确定该财产是否适合该较小家族的成员。

通常,暂停通常对于TM来说是不可决定的,但是对于大型且有用的自动机族来说,通常可以非常简单地决定,这可以看作TM的特殊情况。


3
“说暂停问题对于Turing Machines(TM)来说是无法确定的,仅意味着存在无法通过某些将始终停止的程序来确定它们是否停止的机器。” -不太正确。对于任何给定的TM,停止问题都是可以确定的。这是无法确定的一般决策问题,即没有一种算法可以处理所有 TM。(我认为这对于初学者来说必须非常非常清楚。参见pi问题。)
Raphael

一个更直接的示例是始终保持的所有TM的集合。您的添加了一些额外的风味,因为它位于正常层次结构之外。
拉斐尔

对。我应该说“统一程序”,但是当我说“程序将永远停止”时,这在我的脑海中是隐含的,这意味着我可以在任何输入(即任何机器)上使用它。但是,确实可以使过程对于一台机器正确运行,而对其他机器执行任何操作。嗯...--------关于第二条评论,那是我最初写的。然后我改变了主意,因为我认为我的示例将更容易直观地理解,因为机器的选择并不直接依赖于要确定的属性(尽管它很接近)。
2014年

2

简而言之,一个LBA具有有限数量的配置,例如D。因此,我们可以运行D个步骤并得出结果。如果按照信鸽原理运行多于D步,则可以说它陷入了无限循环。


1
与现有答案相加了什么?这似乎只是重复了一点,而没有那么详细。我很高兴您能做出自己的贡献,但我们希望您避免重复现有的答案,而专注于回答尚无好的答案。
DW
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.