停机问题

✍ dations ◷ 2025-05-12 06:00:44 #数理逻辑,计算理论,递归论,数学问题

停机问题(英语:halting problem)是逻辑数学中可计算性理论的一个问题。通俗地说,停机问题就是判断任意一个程序是否能在有限的时间之内结束运行的问题。该问题等价于如下的判定问题:是否存在一个程序P,对于任意输入的程序w,能够判断w会在有限时间内结束或者死循环。

艾伦·图灵在1936年用对角论证法证明了,不存在解决停机问题的通用算法。这个证明的关键在于对计算机和程序的数学定义,这被称为图灵机。停机问题在图灵机上是不可判定问题。这是最早提出的决定性问题之一。

用数学语言描述,则其本质问题为: 给定一个图灵机T,和一个任意语言集合S,是否T会最终停机于每一个 s S {\displaystyle s\in S} 。其意义相同于可确定语言。显然任意有限 S 是可判定性的,可数的(countable)S 也是可停机的。

停机问题包含了自我指涉,本质是一阶逻辑的不完备性,类似的命题有理发师悖论、全能悖论等。

假设停机问题有解,即:存在过程H(P, I)可以判断对于程序P在输入I的情况下是否可停机。假设P在输入I时可停机,H输出“停机”,反之输出“死循环”,即可导出矛盾:

显然,程序本身也是一种数据,因此它可以作为输入(例如Pascal的编译器本身就可以用Pascal所写成,所以程序在自己身上运行自己也是合理的),故H应该可以判定当将P作为P的输入时,P是否会停机。然后我们定义一个过程U(P),其流程如下:

伪代码及其注释表示如下:

int H(procedure,Input); // 这里的H函数有两种返回值,死循环(1) 或 停机(0)int U(P){    if (H(P,P) == 1){ // 如果H死循环        return 0; // 此时会停机    }else{ // 否則        while(1){} // 此时会死循环,而這是個空迴圈    }}

上面把H(P, P)包装在U(P)内,也就是用U()来模拟H()。H()的输出可能出现两种状况:

因此,H不是总能给出正确答案,故前述的假设不成立,不存在解决停机问题的方法。

理发师悖论:村子里有个理发师,这个理发师有条原则是,对于村子里所有人,当且仅当这个人不自己刮胡子,理发师就给这个人刮胡子。如果这个人自己刮胡子,理发师就不给这个人刮胡子。无法回答的问题是,理发师给自己刮胡子么?

停机测试悖论:计算机里面有个测试程序,这个测试程序的原则是,对于计算机里所有程序,当且仅当这个程序不递归调用自己(输出停机),测试程序就调用它(对应不停机)。如果这个程序递归调用自己(对应不停机),测试程序就不调用它(对应停机)。无法回答的问题是,测试程序递归调用自己么?

相关

  • 达姆亨利克·达姆(Henrik Dam,全名Carl Peter Henrik Dam,1895年2月21日-1976年4月17日,生卒于哥本哈根)是一位丹麦生物化学家与生理学家。由于发现维生素K与此分子在人类生理上的角色
  • 禁运禁运在商业和政治中,是指与一个国家停止贸易和商业往来,令该国家被孤立。禁运通常是某一国或某一国际组织对另一国的惩罚,原因包括两方在某些政策上的不同意见,或是违反国际法、
  • 族群械斗台湾分类械斗,台语称为拼(piàⁿ),是主要发生在18世纪中到19世纪末的台湾清治时期,自我认知不同族群间的武装冲突。“分类”的意思除了意指这种以武力为主的冲突有着自我与敌人“
  • 中国矿业大学中国矿业大学,简称矿大,是一所以工科为主、以矿业为特色的教育部直属大学,是首批进入中国国家“211工程”和“优势学科创新平台项目”的重点大学,首批世界一流学科建设高校。前
  • 命运传统宗教仪式:神明秘密社会:命运,又称“宿命”,日本、韩国称“运命”,字面上意义是指生命的经历。命指生命,运即经验历程。宿命论者相信命运不可以改写,因为人不可窥探预知命运,命运
  • 圆周率近似值值得注意的是,一些法律或历史文本欲“定义π”为有理数,尤其是1897年的“印第安纳州法案”,指明“直径和圆周比例为四分之五比4(暗示“π= 3.2”);和希伯来圣经中的一个段落,暗示
  • 拃是人张开的手从拇指尖到小指(或中指)尖之间的距离,长约五寸。同时拃也是一个动词,表示用这样的方式量长度。西方世界中,英语相对应的说法是span,是从拇指尖到小指尖之间的距离。
  • 列夫·舒勃尼科夫列夫·舒勃尼科夫(俄语:Лев Васи́льевич Шу́бников 乌克兰语:Лев Васильович Шубников 1901年9月29日-1937年11月10日)苏联实验
  • 叶夫根尼·阿列克谢耶维奇·普列奥布拉任斯基叶夫根尼·阿列克谢耶维奇·普列奥布拉任斯基(俄语:Евге́ний Алексе́евич Преображе́нский,1886年2月3日-1937年7月13日)是俄国的一位老布尔
  • 新世界酒店倒塌事件新世界酒店倒塌事件(英语:Collapse of the Hotel New World;马来语:Runtuhnya Hotel New World;泰米尔语:நியூ வர்ல்டு சம்பவம்)发生于1986年3月15日,是新加坡自