这个有限图问题可以判定吗?哪些因素可以决定问题?


17

我想知道以下问题是否可以确定以及如何找出。我看到的每个问题都可以对它说“是”或“否”,因此,除了少数几个问题(此处提供)以外,大多数问题和算法是否可以确定?

输入:有向图和有限图,其中vu为顶点 问:G中是否存在以u为初始顶点和v为最终顶点的路径?Gvu
Guv


Answers:


18

只需检查有限数量的数据的任何问题都是可以确定的,因为存在一种算法,其中包括枚举所有可能的解决方案。这可能很慢,但是那并不重要:如果有一个算法,那是可以决定的。

您所陈述的问题假设一个有限图,强烈暗示它是可判定的。严格来说,您需要进一步了解。问题在于图形中路径的属性,并且当图形包含一个循环时,有时会有无限数量的路径(您可以根据需要在此循环中多次循环)。但是,将问题转换为有限问题很容易:如果有任何以开头和以v结尾的路径都包含一个循环,那么您可以切掉该路径中的所有循环,并且有一个新的解决方案不包括循环。由于存在不涉及循环的有限数量的路径(如果图形具有k个边,则最多为k个uvkk!多次使用同一条边的路径),找到从v的路径的问题是最终的,因此可以确定。uv

顺便说一句,此属性称为Connectivity

这种方法很常见,称为减少。给定一个不简单的问题,我们将其简化为我们知道如何解决的问题。

通常很难证明问题是无法确定的。为了证明问题是可以决定的,我们需要做的就是展示确定该问题的算法。为了证明问题是无法确定的,我们需要证明没有算法可以存在。有一些众所周知的不确定问题。实际上,在大多数情况下,当我们证明问题是无法确定的时,我们表明存在一个众所周知的无法确定的问题,该问题可以简化为我们的问题。由于针对我们问题的算法将解决众所周知的不确定问题,因此我们的问题也必须不确定。

您不能真的说“大多数”问题是可以决定的,或者“大多数”问题是无法决定的。从理论上讲,几乎所有问题都是无法决定的,但我们倾向于解决“有趣的”问题,并且更有可能找到解决方案。


15

吉尔斯在评论中指出,这个问题是微不足道的。至于你的其他问题...

除了少数几个问题(此处提供),大多数问题和算法是否可以确定?

不。实际上,大多数问题是无法确定的。实际上,存在着无数的问题(语言),但图灵机的数量却是可数的,这意味着最多还有许多可判定的问题。


8

是的,这是可以确定的,因为您可以详尽搜索所有可能的路径。无需查看任何重复顶点的路径,因为可以跳过“绕道”。但是,任何非重复路径的长度都受图的大小限制,该图的大小是有限的,因此只有有限数量的此类路径可以一一检查。

G一种b一种b


它不取决于输入吗?我的意思是,当给定的信息不足以找出答案时,我应该说这还不确定吗?
Gigili 2012年

我不确定你在问什么;对于您描述的问题,输入内容足以找到答案。
卡尔·默默特

@Gigili如果无法确定问题,将不可能提出对所有输入都输出是或否的算法。在此问题中情况并非如此,因为使用BFS,我们始终可以确定路径是否存在(也存在线性时间)。
扎克·兰利

@ZachLangley:是的,我是在要求一般情况。如果给定的信息作为输入不足以解决问题,那么该问题不确定吗?
Gigili 2012年

uvuv

7

没有方法可以告诉您特定问题是否可以确定。随着时间的流逝,无论是否可以确定特定的问题,您都可能会“预感”。

我通常会执行以下操作:

  1. 尝试解决问题。即,尝试考虑解决给定问题的计算机程序。对于您提出的问题-一个非常简单的程序将仅检查任何可能的路径,因此将始终成功找到它(如果存在),否则告诉您不存在任何路径。
  2. 明确提出问题。许多问题都太模糊了,但是写得清楚时,很容易看出是否可以判定(与其他已知或无法确定的问题进行比较,或者使用诸如莱斯定理的已知方法)
  3. 如果(2)无效,但您仍然认为该问题无法确定,请尝试通过减少一个不确定的问题来证明它(Halting问题(或其补充)在许多情况下都有效)。

几乎总是,当尝试执行步骤(1)来处理无法确定的问题时,您将需要程序检查无限数量的事物。这通常表明该问题无法确定。

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.