Computer science 比较是可计算的吗?

Computer science 比较是可计算的吗?,computer-science,Computer Science,考虑程序比较(p1,p2)其中: Input: source code for procedures p1, and p2. Output: True if p1 and p2 always produce identical outputs; False otherwise 比较(p1,p2)是否可计算?为什么 有人能解释一下这是什么意思吗?这是不可计算的 我不记得确切的原因,但它是关于一个特殊情况的,您将比较本身输入比较,您可以用它来证明编写这样的函数是不可能的。一般来说,它不是。确切的任

考虑程序比较(p1,p2)其中:

Input: source code for procedures p1, and p2.
Output: True if p1 and p2 always produce identical outputs; False otherwise
比较(p1,p2)是否可计算?为什么

有人能解释一下这是什么意思吗?

这是不可计算的


我不记得确切的原因,但它是关于一个特殊情况的,您将
比较
本身输入
比较
,您可以用它来证明编写这样的函数是不可能的。

一般来说,它不是。确切的任务是确定p1和p2是否停止并产生相同的输出。由于p1和p2停止(甚至其中一个停止)时不可计算,所以compare也不可计算


但是,如果p1和p2被约束到所有可计算函数集合的某个子集(例如,没有递归的函数,即没有循环),则比较很可能是可计算的,即使是在线性时间内。

您描述的特殊情况是证明不可判定性的一般方法。