Questions tagged «undecidability»

有关任何图灵机无法解决的问题的问题。

3
如何确定
我们进行了以下练习。 让 F(n )= { 100ñ 以π 的十进制表示形式出现 其他f(n)={10n occurs in the decimal representation of π0else\qquad \displaystyle f(n) = \begin{cases} 1 & 0^n \text{ occurs in the decimal representation of } \pi \\ 0 & \text{else}\end{cases} 证明是可计算的。Fff 这怎么可能?据我所知,我们不知道是否包含数字的每个序列(或哪个序列),并且算法当然不能确定某个序列没有发生。因此我认为f是不可计算的,因为根本的问题只能是半确定的。ππ\piFff



2
赖斯定理感到困惑
摘要:根据赖斯定理,一切都是不可能的。但是,我一直都在做这不可能的事情! 当然,赖斯定理并不仅仅是说“一切皆有可能”。它说得更具体一些:“计算机程序的每个属性都是不可计算的。” (如果要分割头发,则每个“非平凡的”属性。也就是说,所有程序具有或没有程序具有的属性都是微不足道的。但是其他任何属性都是不可计算的。) 这就是定理说的或似乎要说的。大概许多非常聪明的人已经仔细验证了该定理的正确性。但这似乎完全违背了逻辑!程序具有众多特性,可以轻松计算!!例如: 程序在暂停之前执行多少步?要确定此数字是有限的还是无限的,恰好是停止问题,该问题不可计算。决定此数字是大于还是小于某个有限的是微不足道的!只需运行该程序最多n步,然后查看它是否停止。简单!nnnnnn 同样,程序在前m个执行步骤中使用的存储单元是否少于nnn个?微不足道的。mmm 程序文本中是否提到了名为k的变量kkk?简单的文本分析将揭示答案。 程序是否调用命令σσ\sigma?再次,扫描程序文本以查找该命令名称。 我可以看到很多性能之间做一下非可计算为好; 例如,一个完整的程序运行会执行多少次添加?嗯,这几乎与询问程序执行多少步骤相同,这实际上是“停止问题”。但是看起来确实有很多程序属性,它们确实非常容易计算。然而,赖斯定理坚持认为它们都不是可计算的。 我在这里想念什么?

1
赖斯非语义定理
赖斯定理告诉我们,我们可以决定的图灵机的唯一语义属性(即由机器计算的函数的属性)是两个琐碎的属性(即始终为true和始终为false)。 但是,图灵机还有其他无法确定的属性。例如,在给定的图灵机中存在不可达状态的属性是不确定†。††^{\dagger} 是否有与赖斯定理相似的定理,将相似性质的可判定性分类?我没有确切的定义。涵盖我所举示例的任何已知定理对我而言都将是有趣的。 ††^\dagger使用Kleene的递归/固定点定理很容易证明此集合是不确定的。

7
是否有比对角化更直观地证明停顿问题的不确定性?
我理解基于对角化的停顿问题的不确定性证明(例如,在Papadimitriou的教科书中给出)。 尽管证据令人信服(我理解其中的每个步骤),但从我看不到有人会如何从一个问题出发的角度来看,这对我来说并不直观。 在书中,证明是这样的:“假设MHMHM_H解决了输入的停止问题;xM;xM;xM;x,即确定图灵机是否MMM停止输入xxx。构造一个图灵机DDD,将图灵机MMM作为输入,运行MH(M;M)MH(M;M)M_H(M;M)并反转输出。” 然后继续表明D(D)D(D)D(D)无法产生令人满意的输出。 它是在看似随意的建设DDD,饲养的特别的想法MMM本身,然后DDD本身,我想有一个直觉。是什么导致人们首先定义那些构造和步骤? 如果有人不知道以哪种类型的论点开头,那么有人是否会解释如何解释对角化论点(或其他证明)? 附录给出了第一轮答案: 因此,第一个答案指出,证明停顿问题的不确定性是基于Cantor和Russell先前的工作以及对角化问题的发展,而“从头开始”将仅意味着必须重新发现该论点。 很公平。但是,即使我们接受对角化论点作为一个很好理解的给定,我仍然发现从它到停止问题还有一个“直觉差距”。我发现Cantor关于实数不可数的证明非常直观。罗素的悖论更是如此。 我仍然看不到是什么会激励某人基于M的“自我应用” M来定义;M,然后再次将D应用于自身。这似乎与对角化关系不大(从某种意义上说,Cantor的论点没有类似的东西),尽管一旦定义了对角化显然很有效。D(M)D(M)D(M)MMMM;MM;MM;MDDD 聚苯乙烯 @babou总结了让我比自己更困扰的事情:“许多版本的证明都存在这样的问题,即结构似乎是从魔术帽上拔下来的。”

2
除了对角线化,自引用或可归约性之外,是否还有其他原因无法确定的特定问题?
我知道的每个不确定的问题都属于以下类别之一: 由于对角线化(间接自引用)而无法确定的问题。这些问题(如暂停问题)是无法确定的,因为您可以使用该语言的所谓决策器来构造行为会导致矛盾的TM。您还可以将有关Kolmogorov复杂性的许多不确定的问题混入这个阵营中。 由于直接自参考而无法确定的问题。例如,由于以下原因,通用语言可能无法确定:如果可以确定,则可以使用Kleene的递归定理来构建获得自己编码的TM,询问是否接受自己的输入,则相反。 由于减少了现有的不确定性问题而无法确定的问题。这里的很好的例子包括邮政函授问题(从停顿问题中减少)和Entscheidungs问题。 当我向学生讲授可计算性理论时,许多学生也开始学习可计算性理论,并且经常问我是否有任何问题可以证明是无法决定的,而最终并没有追溯到某种自指技巧。我可以用一个简单的基数参数将TM的数量与语言的数量相关联,来无条件地证明存在无限多的不确定性问题,但这并未给出不确定性语言的具体示例。 是否存在由于以上未列出的原因而无法确定的任何语言?如果是这样,它们是什么?使用什么技术来显示其不确定性?

5
为什么NP中没有这个无法确定的问题?
显然,NP中没有任何无法确定的问题。但是,根据维基百科: NP是所有决策问题的集合,对于这些问题,答案为“是”的实例具有[..证明]可通过确定性图灵机在多项式时间内验证。 [...] 当且仅当存在在多项式时间内执行的问题的验证者时,才认为问题出在NP中。 现在考虑以下问题: 给定Diophantine方程,它有没有整数解? 给定一个解决方案,很容易在多项式时间内验证它确实是一个解决方案:只需将数字插入方程式即可。因此,问题出在NP。然而,众所周知,解决这个问题还不确定! (类似地,似乎暂停问题应该在NP中,因为“该程序在第N步停止”的“是”解决方案可以在N步中得到验证。) 显然我的理解有问题,但这是什么?

4
建构主义逻辑中是否存在不确定的语言?
建构主义逻辑是一个排除公理的排除中间定律和双重否定的系统。它在Wikipedia的此处和此处进行了描述。特别是,该系统不允许矛盾证明。 我想知道,是否有人熟悉这如何影响有关Turing Machines和形式语言的结果?我注意到,几乎所有关于语言不确定性的证明都依赖于矛盾证明。对角化论证和归约概念都以这种方式工作。会否存在一种不确定语言存在的“建设性”证据?如果是,那它将是什么样? 编辑:很清楚,我对建构主义逻辑中的矛盾证明的理解是错误的,答案已经澄清了这一点。

1
可确定推断的最强大的已知类型系统是什么?
众所周知,Hindley-Milner类型推断(具有多态性的简单类型的演算)具有可确定的类型推断:您可以为任何程序重建原理类型而无需任何注释。λλ\lambda 添加哈斯克尔风格类型类似乎保留此可判定性,但进一步增加使得推理没有标注不可判定的(类型的家庭,GADTs,依赖类型,等级-N类型,系统等)ωω\omega 我想知道:最能断定推断的已知类型系统是什么?它会介于Hindley-Milner(完全可确定)和依赖类型(完全不可确定)之间。是否可以添加DT的某些方面来保持推理可判定性?已经进行了哪些研究以了解可以将其推进多远? 我意识到,没有一个最强大的系统,可能有无限的微小增量变化可以添加到HM保持推理中。但是可能已经发现了一些实用的系统候选对象。 编辑:因为没有“最强”的系统,我会接受,勾勒出一个答案显着扩展辛德雷米尔纳与可判定的推理系统。例如液体类型,等级2等。

2
是否有一种“自然的”不确定的语言?
是否有任何无法确定的“自然”语言? “自然”是指直接由字符串属性定义的语言,而不是通过机器及其等效语言定义的语言。换句话说,如果语言看起来像 其中,中号是TM,DFA(或普通EXP),PDA(或语法),等,然后大号是不自然的。然而大号= { X Ÿ ... | X 是Y的前缀... }是很自然的。大号= { ⟨ 中号⟩ | ... }大号={⟨中号⟩∣…} L = \{ \langle M \rangle \mid \ldots \}中号中号M大号大号L L = { x y... | X 是Y的前缀... }大号={Xÿ…∣X 是y的前缀…}L = \{xy \ldots \mid x \text{ is a prefix of y} \ldots \}

1
可判定问题的比例
考虑用某种“合理的”正式语言陈述的决策问题。假设以一个自由变量作为参考框架的高阶Peano算术中的公式,但我同样对其他计算模型感兴趣:丢番图方程,使用Turing机重写规则产生的单词问题等。古典形式化会很好,尽管如果您知道形式化的选择对答案有多大影响,那也会很有趣。 鉴于长度决策问题的声明,我们可以定义数d (ñ )的长度可判定语句ñ和数量ü (ñ )的长度不可判定语句ñ。ñNNd (Ñ)D(N)D(N)ñNNü(N)U(N)U(N)ñNN 关于和D (N )的相对生长情况知道什么?换句话说,如果我随机处理格式正确的决策问题,那么对于给定的语句长度,可以决定该决策问题的概率是多少?ü(N)U(N)U(N)d (Ñ)D(N)D(N) 受到这个问题的启发,该问题询问“大多数问题和算法是否可决定”。好吧,如果您不按兴趣过滤,是吗?

2
在所有输入上最多停止50步的图灵机是否可以确定?
让F= { ⟨ 中号⟩ :M是一个TM,它最多以50个步长停止每个输入}F={⟨M⟩:M is a TM which stops for every input in at most 50 steps}F = \{⟨M⟩:\text{M is a TM which stops for every input in at most 50 steps}\}。我需要确定F是可确定的还是递归可枚举的。我认为这是可以决定的,但我不知道如何证明。 我的想法 这“ 50步”部分立即为我打开了R标志。如果用于特定输入,则可以确定。但是,这里适用于所有输入。检查它的无穷输入使我认为问题是co-RE,即其补充是可以接受的。 也许,我可以检查配置,发现50个步骤之后的所有配置都不会导致接受状态-我该怎么做?

5
如果输入受限制或可预测,是否可以解决停止问题?
在一般情况下,无法解决暂停问题。可以提出限制允许输入的已定义规则,并且可以针对这种特殊情况解决暂停问题吗? 例如,似乎一种不允许循环的语言很容易判断程序是否停止。 我现在要解决的问题是,我要制作一个脚本检查程序来检查程序的有效性。如果我确切知道脚本编写者的期望,这可以解决暂停的问题,这意味着非常可预测的输入。如果不能完全解决这个问题,有什么好的近似技术可以解决这个问题?

1
对一元字母进行反向引用的正则表达式
设置: 具有反向引用的正则表达式 一元语言(1个符号的字母) 在此设置中是否可以确定以下问题: 给定带有反向引用的正则表达式,它是否定义了正则语言? 例如,(aa+)\1定义一种常规语言,而(aa+)\1+没有。我们可以决定是哪种情况吗? 为了具体起见,“带有反向引用的正则表达式”在这里指的是例如与Perl兼容的常规正则表达式的以下子集: a匹配字符a(字母中唯一的字符) X* 匹配0个或多个出现 X X|Y比赛X或Y 括号可用于分组和捕获 \1。\2等匹配与第一对,第二对等括号相同的字符串 我们还可以使用常规的简写形式,例如X+= XX*。

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.