Answers:
我的原著的主要编辑:
天真地阅读您的问题似乎是,让成为问题
给定一种语言,它可以确定吗?
那你问
是可决定的吗?
正如DW和David指出的那样,答案是“是的”,尽管我们不知道这两个琐碎的决定者中哪一个是正确的决定者。为了解决您的问题,使其不那么琐碎,我建议您这样做。首先,让我们通过仅考虑那些语言(某些TM接受的语言来稍微限制一下事情。这样做的原因是,如果任何TM都不接受某种语言,那么它就不能被识别(可识别),因此不能被递归(可判定)。然后我们可以将重铸为
给定一个描述,TM的,是否可确定?
现在,是一种TM描述语言,而不是像那样(在大量的解释下)似乎是一种语言,并且现在问该语言是否可判定是完全合理的。在此阅读下,语言 由TM描述组成的语言是不可确定的。这是赖斯定理的简单结果。因此,现在我们有两个答案:根据解释,我的“否”和DW的“是”。
正如我们在不同的答案中看到的那样,答案的一部分在于提出正确的问题。
1985年,Joost Engelfriet撰写了“可计算性的不可计算性”(EATCS公告,1985年6月,第26-39页),作为对聪明学生提出的问题的解答。不幸的是,当时的BEATCS只是纸质的,文章没有留下任何电子痕迹。
作者假定我们具有(逻辑)形式主义其中包含通常的布尔运算符和变量。其精确定义并不重要。公式指定函数 iff(对于所有)是正确的,其中是代表数字的数字。˚F (米,Ñ )˚F :Ñ → Ñ米,Ñ ∈ Ñ ˚F (米)= Ñ ⇔ ˚F (米_,Ñ _)米_米
我引用:
定理1。假设是形式主义,其中可以指定可计算和不可计算的函数。那么就没有算法可以为任意可指定函数(由指定函数的公式给出)来决定是否可计算。Ñ → Ñ ˚F ˚F
有趣的部分是论文中的以下观察:
请注意,该定理特别适用于形式主义在其中可以指定所有可计算的函数(这种形式主义的自然条件),因为这样也可以指定不可计算的函数。
是。总是可以决定的。
对于任何问题P,令Q为确定P是否可确定的问题。我声称Q是可以确定的。这就是为什么。从逻辑上讲,P是可确定的,或者不是。因此,两个程序之一是正确的:(1)print "yup P is decidable"
或(2)print "nope P is not decidable"
。弄清楚这两个程序中哪个是正确的,其中一个是正确的,这可能并非易事,因此肯定存在 Q的决策者。因此,问题Q是可以确定的。
这使人想起了以下经典问题:是否可以判断Collatz的猜想是否正确?答案是肯定的。这可能看起来很奇怪,因为没有人知道Collatz的猜想是否是真的(这是一个著名的开放问题)。但是,我们确实知道Collatz的猜想是对的还是不对的。在前一种情况下,程序print "yup it's true"
是决定者。在后一种情况下,程序print "nope it's not true"
是决定者。我们不知道哪个是有效的决策者,但这足以证明一个有效的决策者存在。因此,问题是可以确定的。