我的理解是,对于一个足够简单的功能,让我们说
function(boolean input){
while(input){
}
}
可以判断它是否会停止任何可能的输入。
很容易看出上面的函数将终止false
并且不会终止true. It's only impossible to solve the halting problem for an arbitrary function
f , as of course you can evaluate
haltingFinder(haltingFinder)`并且基本上会产生一个悖论。
我的理解是否正确?
答案 0 :(得分:2)
是的,当然你是对的。采取一个甚至没有循环的功能:它将永远停止。对于像常规语言和无上下文语言这样的整个类,暂停问题是微不足道的:相应的机器(有限自动机,没有epsilon移动的下推 - 自动机)只能使输入字的长度等于多个步骤,因此总是停止。当然,你可以为简单的功能设计非暂停计算,例如:图灵机用于常规语言的无用循环。