如果程序 P停止运行,停机问题的答案是“停机”。 如果程序 P无限运行下去,则答案是“不会停机”。 图灵证明了这个问题是不可解的,也就是说,没有任何通用的算法能够解决所有程序的停机问题。 证明停机问题不可计算 图灵的证明是通过一种反证法来实现的。假设存在一个...
不可解问题(Undecidable Decision Problem)指的是这样一种问题:它无论如何也不可能有一个正确的算法来解决。虽然不可思议,但这种问题被证明确实是存在的。图灵在1936年提出了第一个不可解问题的实例:停机问题(The Halting Problem)。 停机问题(The Halting Problem)是问,输入一段程序代码和一个针对此程序的输入,能...
能够判断任何程序是否会停机。我们可以定义一个程序 H(P,I),它接收程序 P和输入 I作为输入,返回两个可能的结果: 如果程序 P在输入 I上停机,返回“停机”。 如果程序 P在输入 I上不会停机,返回“不会停机”。 然后,我们构造一个新程序 D,它的行为如下: D接收一个程序 P作为输入。 程序D调用 H来判断程序...
1.3 自动化证明的方法——如果可以的话 历史上,人们发明了比野兽体系更正经的证明体系。这个介绍起来就很复杂了,什么量词啊之类的,我们只需要先知道这么一个印象: 这个体系可以用来涵盖我们日常生活中遇到的许多问题。我们可以把生活中遇到的问题,按这个体系的语言写出来,然后严谨地研究问题的答案。 然后,数学家就开始...
停机问题:是否存在一个确定的程序(或者算法)能够判定 任意一个程序, 对于任意输入 是否 能在有限时间内返回 ? 答案是否定的,下面给出一个证明: 我们把所有的程序都看成函数 , 反证法,假设存在一个程序满足要求,我们可以记该程序为is_halting: typedefvoid(*func)(char*)Program;boolis_halting(Program program,...
一般都是这么证明的(此处我用C++代码): 假设存在这么一个算法可以判断出别的程序是否可以停机。 1boolhalting_judge (program a,char*input)2{3if(程序a会停止)4returntrue;5else6returnfalse;7} 因为一般的程序都是要有输入输出的,这里的input就是程序a的输入。使用char形式是因为后面证明时需要把程序代码作为...
众所周知,实数集不可数的证明叫对角线法,它的“对角线”是很直观的。然而停机问题不可判定的反证法证明,为什么也叫对角线法,它的“对角线”在哪里呢? 考虑这个问题,首先要理解对角线法的本质是什么:列出所有要求(可能有无穷个),然后逐步构造一个对象使它满足每个要求。在构造过程中,用来满足之前要求的部...
结论请直接跳转9:49 知识 校园学习 计算机 对角线证明 图灵机 理论计算机 停机问题 长度合适的昵称 发消息 接下来播放 自动连播 寻找最大的数字! 无限理论派 1205 1 真小学二年级也能听懂的极限证明 长度合适的昵称 159 0 【电的科技史】计算机如何帮助原子弹爆炸? 冰焰睡不醒 3.9万 219 Dafny入门教程 ...
首先,我们要明确程序是否停机的概念。具体来说,就是对程序的任意输入,我们能否判断它是否会停机。假设有这样一台图灵机,命名为H。它的运作流程设定为:对于任意一个程序M,如果M可以停机,则输出1,否则输出0。因为H是可以判定的。在此基础上,我们可以构建另一个程序D。D的工作流程如下:将H的...
图灵停机问题的证明逻辑套用在特定步数内停机问题上,是不成立的。要解释这个问题,需要从你提到的那个“...