停机问题

✍ dations ◷ 2025-11-26 09:09:01 #数理逻辑,计算理论,递归论,数学问题

停机问题(英语: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不是总能给出正确答案,故前述的假设不成立,不存在解决停机问题的方法。

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

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

相关

  • 抗肿瘤药物抗肿瘤药(英语:Anticancer Drugs,Antitumor Drugs,Antineoplastic Agents)也称为抗癌药、抗恶性肿瘤药,是指治疗恶性肿瘤的药物。此类药物通过多种途径杀灭或抑制癌细胞来达到治疗
  • 祐汉祐汉(葡萄牙语:Iao Hon),位于澳门北区,毗邻黑沙环以及关闸。祐汉区在1930年代由填海而成,以往是赛马场用地,后改为农地用途。直至1970年代,城市发展需要而进行了规模较小的填海工程,
  • 苏德互不侵犯条约《苏德互不侵犯条约》是1939年第二次世界大战爆发前苏联与纳粹德国在莫斯科所秘密签订之互不侵犯条约,目标是初步建立苏德在扩张之间的友谊与共识,并导致波兰被瓜分。条约也称
  • 大卫·叶茨大卫·叶茨(英语:David Yates,1963年10月8日-)是一位英国导演和制片人,曾执导一些故事片,短片和制作电视节目。他最为主流所知的导演作品是哈利·波特电影系列的后四部:《哈利·波特
  • 瑞应寺瑞应寺,蒙古族人称“葛根苏木”,汉族人俗称佛喇嘛寺。位于中国辽宁省阜新市阜新蒙古族自治县佛寺镇佛寺村,是一座藏传佛教格鲁派寺院,也是中国东北及内蒙古东部地区最大的藏传佛
  • 小林诚 (物理学家)小林诚(日语:小林 誠/こばやし まこと  ?,1944年4月7日-),以研究CP破坏著名的日本物理学家,现为名古屋大学特别教授、高能加速器研究机构名誉教授、独立行政法人日本学术振兴会(日
  • 东豫州十六国时期前秦太元五年(380年)十二月,始设立东豫州,任命毛当为东豫州刺史,镇守许昌。北魏/东魏/北齐沿袭,治新息(河南息县)。
  • Bosch反应Bosch反应(Bosch reaction)二氧化碳与氢气在金属(如铁、钴、镍、钌)催化和 530~730°C 下反应,生成单质碳(石墨)和水。上面反应实质上是两个反应的总结果。第一是水煤气转化,二氧化碳
  • 奥列格·德米特里耶维奇·巴克拉诺夫奥列格·德米特里耶维奇·巴克拉诺夫(俄语:Оле́г Дми́триевич Бакла́нов,1932年3月17日-)苏联国防委员会第一副主席、苏共中央书记处书记,“八一九事件
  • 斯赫里贡达斯赫里贡达(Shrigonda),是印度马哈拉施特拉邦Ahmadnagar县的一个城镇。总人口26331(2001年)。该地2001年总人口26331人,其中男性13619人,女性12712人;0—6岁人口3248人,其中男1719人,