http://www.juniata.edu/faculty/rhodes/intro/theory2.htm

看停机问题时,觉得它跟我国的“以子之矛攻子之盾”的想法很相似
也跟C语言的struct内不能包含自身很相似
停机问题描述:是否存在这样的一段代码H,这段代码H以任意的代码P作为输入,它判断代码P在执行的过程中是否会停止。如果代码P在执行的过程中会一直执行下去,不会停止,则程序H输出“loop”;反之,如果代码P在执行的过程中会停止,即代码P执行一段时间之后,代码P执行结束了,那么程序H输出“halt”
例如:
//不会停止,一直执行的程序
#include<stdio.h>
int main()
{
    int x0,x1,x2;
    x0=x1=1;
    do{
        x2=x0+x1;
        x0=x1;
        x1=x2;
        printf("x0=%d,x1=%d/n",x0,x1);
    }while(x0!=x1);
    return 0;
}
//执行一段时间之后会停止的程序
#include<stdio.h>
int main()
{
    int x0,x1,x2;
    x0=x1=1;
    do{
        x2=x0+x1;
        x0=x1;
        x1=x2;
        printf("x0=%d,x1=%d/n",x0,x1);
    }while(x0<x1);
    return 0;
}
停机问题说明不存在具有上述功能的代码H,证明如下:
假设存在具有这样功能的代码H,我构建一段如下所示的代码K,代码K也以任意代码作为输入
function K( code P)
   if ( H(P) == ‘loop’)
        return;
   else
        while(1);
代码K具有这样的功能,如果输入的代码P不会停止( if  (  H(P) == ‘loop’ )),那么代码K直接返回,反之代码K一直执行
那么我现在让代码K自己作为代码K的输入,即 K( K ),矛盾就出现了
为了方便叙述,将 K( K ) 写成 K1( K2 )
如果K1( K2 )一直在执行,那么说明K2会返回,而K2本身就是K1。K1一直执行,K2会返回,而K1就是K2,矛盾;反之亦然

停机问题的出发点是为了提出一种万能算法。
X+1 和 X-1 均为质数的称为孪生质数,例如 3 和 5
现在我写一个程序,它一直对外输出孪生质数。现在用H来判断这个程序是”loop” 还是”halt”,如果为”loop”,则说明不存在最大孪生质数,反之则说明存在最大孪生质数

上面的说法有个矛盾的地方,就是这个一直对外输出孪生质数的程序应该怎么写?
程序的大体结构似乎是这样的:
while(true){
    if ( 最大孪生质数) break
    else  继续找下一个孪生质数
}
关键是这个“最大孪生质数”如何判断?
不解?

停机问题--The Halting Problem相关推荐

  1. 图灵停机问题(The Halting Problem)

    不存在这样一个程序(算法),它能够计算任何程序(算法)在给定输入上是否会结束(停机). 那么,如何来证明这个停机问题呢? 反证!假设我们某一天真做出了这么一个极度聪明的万能算法(就叫God_algo吧 ...

  2. ZOJ - 4049 Halting Problem 题解【c++】

    题目如下: In computability theory, the halting problem is the problem of determining, from a description ...

  3. halting problem 详解

    在讲解halting problem 问题之前,我们先来看一张图和一个小故事 图片: 图片来自网络,如有侵权请联系删除 故事: 理发师悖论:   在一个村子里只有有一个理发师,他说他只给不给自己理发的 ...

  4. C Halting Problem

    题目链接 C Halting Problem In computability theory, the halting problem is the problem of determining, f ...

  5. Halting Problem的讨论

    有关于Halting Problem的一点点讨论 Halting Problem with no input: Halting Problem with no input: Show that giv ...

  6. The halting problem

    转自: http://www.matrix67.com/blog/article.asp?id=62 不可解问题(Undecidable Decision Problem)指的是这样一种问题:他无论如 ...

  7. 计算机无法解决停机问题,不可解问题之停机问题(Undecidable Problem Halting Problem)...

    计算机技术已运用到人类生活的方方面面,帮助人类解决各种问题.可你是否有想过,计算机是否能为人类解决所有问题呢? 假如你是一个程序猿,你已编写过很多程序.有些程序一下子就能出结果,有些程序则好久都没有显 ...

  8. 图灵停机问题(halting problem)

    问题描述 是否存在一个过程能做这件事:该过程以一个计算机程序以及该程序的一个输入作为输入,并判断该过程在给定输入运行时是否最终能停止. 问题解答 1936年图灵证明这样的过程是不存在的. 证明 (反证 ...

  9. 图灵停机问题(The Halting Problem)------巧妙的证明

    转自:  https://blog.csdn.net/niushuai666/article/details/7260957 不存在这样一个程序(算法),它能够计算任何程序(算法)在给定输入上是否会结 ...

最新文章

  1. 何凯明团队又出新论文!北大、上交校友教你用ViT做迁移学习
  2. python整理excel数据-利用python整理需要的excel报表(上)
  3. Python学习之路—2018/6/20
  4. [OSDI 16] Wukong : 基于RDMA的高并发、快速的分布式RDF Graph Query系统
  5. QList模板类常用接口函数
  6. java nio 文件_Java nio 的文件处理
  7. 国内知名互联网公司的开源项目
  8. 计算机网络 上海交大 ppt,上海交大计算机网络2.ppt
  9. Hadoop如何工作? HDFS案例研究
  10. 作者:林嘉洺(1992-),男,华南师范大学计算机学院硕士生。
  11. 前端跨域问题(CORS)
  12. java 打印 型比卡丘_Java_总结三(选择与循环)
  13. Jenkins checkout的文件 , TortoiseSVN 无法提交。 问题已经解决啦!
  14. Java语言背景介绍
  15. cadence Allegro17.2关闭start page 界面方法
  16. 腾达便携无线路由 无法建立到192.168.2.1的服务器连接,Tenda腾达路由器5G信号设置步骤...
  17. 三阶魔方入门基础教程
  18. C# xml格式字符串 反序列化和序列化
  19. wordcloud词云可视化
  20. [RoarCTF2019]polyre

热门文章

  1. vscode如何连接新设备_无人新零售的三大环节痛点,自助收银设备如何解决
  2. Ubuntu 20.04 阿里云镜像、国内源
  3. 光盘加密文件如何复制出来
  4. 音创a55怎么安装系统_音创ktv点歌系统_音创点歌机怎么样_音创ktv点歌系统a55
  5. 【转】Alpha、Beta、RC、GA、RTM 版本的含义
  6. rust刷卡点地图_新版rust地图物资 | 手游网游页游攻略大全
  7. 数据库主从(一主一从)模式,docker配置步骤
  8. 计算机数学课程标准,小学数学课程标准解读
  9. 没钱、没对象,还没车票……这年怎么过?!
  10. 使用axis实现DSMP的SyncOrderRelation服务接口[转bon_jovi兄]