Answers:
只需检查有限数量的数据的任何问题都是可以确定的,因为存在一种算法,其中包括枚举所有可能的解决方案。这可能很慢,但是那并不重要:如果有一个算法,那是可以决定的。
您所陈述的问题假设一个有限图,强烈暗示它是可判定的。严格来说,您需要进一步了解。问题在于图形中路径的属性,并且当图形包含一个循环时,有时会有无限数量的路径(您可以根据需要在此循环中多次循环)。但是,将问题转换为有限问题很容易:如果有任何以开头和以v结尾的路径都包含一个循环,那么您可以切掉该路径中的所有循环,并且有一个新的解决方案不包括循环。由于存在不涉及循环的有限数量的路径(如果图形具有k个边,则最多为k个!多次使用同一条边的路径),找到从到v的路径的问题是最终的,因此可以确定。
顺便说一句,此属性称为Connectivity。
这种方法很常见,称为减少。给定一个不简单的问题,我们将其简化为我们知道如何解决的问题。
通常很难证明问题是无法确定的。为了证明问题是可以决定的,我们需要做的就是展示确定该问题的算法。为了证明问题是无法确定的,我们需要证明没有算法可以存在。有一些众所周知的不确定问题。实际上,在大多数情况下,当我们证明问题是无法确定的时,我们表明存在一个众所周知的无法确定的问题,该问题可以简化为我们的问题。由于针对我们问题的算法将解决众所周知的不确定问题,因此我们的问题也必须不确定。
您不能真的说“大多数”问题是可以决定的,或者“大多数”问题是无法决定的。从理论上讲,几乎所有问题都是无法决定的,但我们倾向于解决“有趣的”问题,并且更有可能找到解决方案。
是的,这是可以确定的,因为您可以详尽搜索所有可能的路径。无需查看任何重复顶点的路径,因为可以跳过“绕道”。但是,任何非重复路径的长度都受图的大小限制,该图的大小是有限的,因此只有有限数量的此类路径可以一一检查。
没有方法可以告诉您特定问题是否可以确定。随着时间的流逝,无论是否可以确定特定的问题,您都可能会“预感”。
我通常会执行以下操作:
几乎总是,当尝试执行步骤(1)来处理无法确定的问题时,您将需要程序检查无限数量的事物。这通常表明该问题无法确定。