停机问题--The Halting Problem

article/2025/8/29 5:20:31

http://www.juniata.edu/faculty/rhodes/intro/theory2.htm
halter3
看停机问题时,觉得它跟我国的“以子之矛攻子之盾”的想法很相似
也跟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  继续找下一个孪生质数
}
关键是这个“最大孪生质数”如何判断?
不解?


http://chatgpt.dhexx.cn/article/m552fe61.shtml

相关文章

优雅停机方案

springboot优雅停机 概述线上重启面临的问题常见问题解决方案思路 优雅停机相关知识Linux中断ShutdownHookSpringCloud对优雅停机的处理机制SpringBoot ApplicationContext生命周期Spring Bean生命周期服务注册生命周期Ribbon自动重试服务发现的心跳检测Ribbon负载均衡 tomcat的…

多中间件优雅停机问题处理

事情是这样的&#xff0c;小明是一个工作五年的老程序员&#xff0c;半秃着的头已经彰显了他深不可测的技术实力。 这一天&#xff0c;小明收到了领导给过来的一个需求。 领导对小明说&#xff1a;“小明啊&#xff0c;你工作五年了&#xff0c;这个需求我交给你一个人负责很是…

图灵机停机问题的不可判定性

Turing Machine Halting Problem 停机问题&#xff1a;指判断任意一个程序是否能在有限的时间之内结束运行的问题。图灵机停机问题是不可判定的&#xff0c;意思即是不存在一个图灵机能够判定任意图灵机对于任意输入是否停机。 证明一&#xff1a; 参考链接&#xff1a;Turin…

服务优雅停机

优雅停机 ​ 什么是优雅停机 ​ 优雅停机指的是Java项目在停机时需要做好断后工作。如果直接使用kill -9 方式暴力的将项目停掉&#xff0c;可能会导致正常处理的请求、定时任务、RMI、注销注册中心等出现数据不一致问题。 ​ 如何解决优雅停机呢&#xff1f;大致需要解决如…

停机问题的理解

关于停机问题维基百科给出的定义是&#xff1a; 停机问题&#xff08;halting problem&#xff09;是逻辑数学中可计算性理论的一个问题。通俗的说&#xff0c;停机问题就是判断任意一个程序是否会在有限的时间之内结束运行的问题。该问题等价于如下的判定问题&#xff1a;给…

静态变量的使用

静态变量&#xff1a;即类中的静态变量 类变量被其他方法使用 不管是被自己类的方法使用&#xff0c;还是被其他类的方法使用 都可以直接使用&#xff0c;不需要实例化对象即可使用。通过类名调用。 (遵守访问修饰符) 类变量只能通过类方法初始化。 普通变量被其他方法使用 …

类变量/静态变量

类变量 引入类变量 案例引出类变量&#xff1a; 有几个小孩在玩游戏&#xff0c;不时会有其他的小孩加入一起玩。怎么统计一共有多少小孩在玩&#xff1f; 按照现有的知识&#xff0c;可以设计一个小孩类&#xff0c;定义一个加入的方法。然后在主程序类的main方法中&#xf…

变量、常量、静态变量、静态常量

1、变量 在JAVA中我们通过三个元素来描述变量&#xff1a;变量类型&#xff0c;变量名以及变量值。 String love“imooc”; 变量类型 变量名 值&#xff08;其中String具有不可变性&#xff0c;重新赋值后会生成新的String对象&#xff0c;love变量名这实际是指向对象地址的引用…

类中静态变量

不能在类声明中 初始化静态变量&#xff0c;这是因为声明描述了如何分配内存&#xff0c;但并未实际分配内存。 对于静态类成员&#xff0c;无论这个类的对象有多少个&#xff0c;静态成员都只有一个 对于静态类成员&#xff0c;可以在类声明之外使用单独的语句来进行初始化。…

静态变量和实例变量的区别

静态变量和实例变量的区别 大家好&#xff0c;我是酷酷的韩~ 1.在语法定义上的区别: 静态变量前要加static关键字&#xff0c;而实例变量前则不加。 2.在程序运行时的区别&#xff1a; (1)实例变量属于某个对象的属性&#xff0c;必须创建了实例对象&#xff0c;其中的实例…

JAVA静态变量是什么

java静态变量是什么-Java基础-PHP中文网 在java中&#xff0c;静态变量指的是被static修饰的类的变量&#xff1b;静态变量被所有类实例对象所共享&#xff0c;在内存中只有一个副本&#xff0c;当且仅当在类初次加载时会被初始化。 本教程操作环境&#xff1a;windows7系统、j…

静态变量与动态变量

0.静态存储与动态存储 1&#xff09;静态存储变量通常是在变量定义时就分定存储单元并一直保持不变&#xff0c;直至整个程序结束。静态变量&#xff0c;全局动态变量都是静态存储 2&#xff09;动态存储变量是在程序执行过程中&#xff0c;使用它时才分配存储单元&#xff0…

C++之static,静态变量

目录 1.为什么要用静态变量 2.全局变量 3.静态局部变量 4.静态数据成员的空间开辟 5.静态数据成员 6.释放 7.总结 1.内存&#xff1a; 2.初始化&#xff1a; 3.最大的优点&#xff1a; 4.指针&#xff1a; 5.释放时机&#xff1a; 1.为什么要用静态变量 前面我们定义…

C++静态变量

静态变量&#xff08;Static Variables&#xff09;是在程序运行期间保持其存在和值的变量&#xff0c;不会随着函数的调用而销毁和重新创建。静态变量在内存中分配一次&#xff0c;并且在整个程序的生命周期中保持存在。 在 C 中&#xff0c;静态变量可以声明在函数内部、类内…

win10显示rpc服务器不可用,win10系统RpC服务器不可用的详细办法

win10系统使用久了&#xff0c;好多网友反馈说win10系统RpC服务器不可用的问题&#xff0c;非常不方便。有什么办法可以永久解决win10系统RpC服务器不可用的问题&#xff0c;面对win10系统RpC服务器不可用的图文步骤非常简单&#xff0c;只需要1、使用netsh interface ip add 添…

w7系统显示rpc服务器不可用,教你win7系统rpc服务器不可用怎么办

用户在使用电脑进行时间同步&#xff0c;安装打印机或者其它的操作的时候可能会遇到同样一个问题&#xff0c;那就是提示“RPC服务器不可用”&#xff0c;很多朋友可能对于RPC并不了解&#xff0c;更不知道如何解决&#xff0c;下面&#xff0c;小编就来跟大家讲解rpc服务器不可…

计算机无法登陆提示rpc服务器不可用,电脑rpc服务器不可用,教你电脑rpc服务器不可用怎么解决...

有网友表示进入磁盘管理对磁盘进行分区、更改盘符或压缩卷等操作的时候出现“RPC服务器不可用”的报错&#xff0c;rpc服务器不可用怎么办?很多朋友可能对于RPC并不了解&#xff0c;下面小编教你电脑rpc服务器不可用怎么解决吧。 rpc服务器不可用怎么办 打开“运行”窗口&…

rpc服务器不可用自动重启,rpc服务器不可用_详细解决方法,彻底修复

通过测试证明,“rpc服务器不可用”可能是由于中了冲击波和震荡波导致。 虽然这个是很老的病毒,但还是有小部分用户没有对系统没有进行升级导致出现“rpc服务不可用”情况。 电脑遭到冲击波可能会出现以下症状: 1、系统资源紧张,应用程序运行速度异常。 2、Word、Excel、Pow…

rpc服务器不可用桌面图标消失,rpc服务器不可用,教您rpc服务器不可用怎么办

有网友表示进入磁盘管理对磁盘进行分区、更改盘符或压缩卷等操作的时候出现“RPC服务器不可用”的报错&#xff0c;通常我们在安装打印机或者虚拟磁盘时&#xff0c;将出现此提示。下面&#xff0c;小编给大家介绍rpc服务器不可用的处理技巧。 用户在使用电脑进行时间同步&…

计算机无法登陆提示rpc服务器不可用,电脑提示RPC服务器不可用的解决方法

最近有Win7用户反映在使用打印机或使用电脑进行时间同步的时候&#xff0c;突然弹出“RPC服务器不可用”的提示&#xff0c;很多用户可能对于RPC并不了解&#xff0c;更不知道如何解决&#xff0c;现在小编就和大家分享Win7系统RPC服务器不可用的解决方法。 RPC服务器&#xff…