停机问题——精选推荐
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
停机问题
过程使⽤伪码证明
停机问题
不存在这样⼀个程序(算法),它能够计算任何程序(算法)在给定输⼊下是否会结束(停机)。
停机问题的证明差不多是这样的
先假设存在⼀个程序(算法),它能够计算任何程序(算法)在任何给定输⼊下是否会结束(停机)。
设这个程序为A(prog,input)
bool A(prog,input)
{
if(prog结束于input)
return true;
else
returnfalse;
}
因为它能够计算任何程序(算法)在任何给定输⼊下是否会结束(停机)。
假设有如下程序B
bool B(input)
{
if(A(input,input))
{
while(1);
return true;
}
else
return false;
}
A(B,B)也能判断B停不停机,//因为A能计算任何程序是否停机
假设B能停机,则A返回true,则B不能停机,⽭盾
假设B不能停机,则A返回false,B能停机,⽭盾
故假设不成⽴。