Rice定理的应用范围

作者: 十酒三 | 来源:发表于2019-08-24 00:02 被阅读0次

  Turing著名的停机定理说明无法用有限时长的算法判定任意的计算机程序是否停机产生确定输出,这意味着你无法将某些永不停机的程序和其实会在等待时间后才停机的区分开来,人们或可主张这结果意义不大——毕竟运行时间太长的程序和不停机实践上也没啥区别。然而,Rice定理来指出“事情没那么简单”:停机定理中的“停机”可以被替换成任何只跟功能有关的性质,结果一样是不可判定的。

  例如:一段程序是否是破坏系统文件的计算机病毒就是不可判定的,跟停机问题是同样意义上的不可判定。使用停机定理来证明计算机“比人类无能”的反AI论者运行杀毒软件时身体可是很诚实——如果你觉得不可判定类问题人比机器更擅长的话,你为什么不自己扒代码而是让另一个计算机程序(杀毒软件)来尝试识别病毒呢?根据Rice定理,对方完全可以具有你的杀毒软件识别不了的破坏功能。

  判定病毒为何与判定停机等价?这就要从Rice定理的具体证明说起,我们首先定义何为只跟功能有关的性质:两个程序作用于同一数据若总是产生相同的运行结果(都不停机或都停机在相同输出),则称两者功能相同。一个程序的性质F如果满足以下两点:

(1)程序P具有F当且仅当所有功能相同的程序都具有F。

(2)具有/不具有F的程序各至少存在一个(这排除了所有程序无论功能如何都具有/不具有F的平凡情况)。

则称性质F只跟程序功能有关,或称F是功能性的。显然,“会破坏系统文件”“病毒性”就是功能性的。

Rice定理是这样处理的,假定可以判定任意程序是否具备F,那么对任意程序A都可以通过判定下列构造的A1和A2来求解A是否停机:

A1:每个循环中仿真运行A常数步,在循环末尾检验A是否已进入(仿真的)停机态,否则继续循环,是则清零并执行G1.

A2:每个循环中仿真运行A常数步,在循环末尾检验A是否已进入(仿真的)停机态,否则继续循环,是则清零并执行G2.

G1:任一已知具有F的程序。G2:任一已知不具有F的程序。功能性的定义(2)自然要求了G1和G2都存在,所以上述构造是可行的。

若A停机,则A1与A2功能分别等同于G1与G2,故判定结果应各是具有/不具有F,结果不同。

若A不停机,则A1与A2都会被卡在仿真运行A的无限循环上,因为仿真的停机态永不会被访问。功能相同,故结果相同。

相关文章

  • Rice定理的应用范围

    Turing著名的停机定理说明无法用有限时长的算法判定任意的计算机程序是否停机产生确定输出,这意味着你无法将某些...

  • 2019-05-17 端午节粽子

    粽子 rice dumpling/rice dumplings mack rice dumplings:包粽子 t...

  • 产品经理如何应用贝叶斯定理?(来源于网络)

    贝叶斯定理提供的是一种逆条件概率的方法,本文简单总结了贝叶斯定理是什么,贝叶斯定理应用的理解,以及贝叶斯定理在AI...

  • 三角函数

    余弦定理 定理应用 余弦定理是解三角形中的一个重要定理,可应用于以下三种需求: 当已知三角形的两边及其夹角,可由余...

  • 婉儿分析双汇发展的护城河

    双汇发展属于肉制品加工业属于食品制造业,适用于小熊定理的范围。 小熊五定理进行初步检验 可以先从小熊定理1、2检验...

  • 中餐英文怎么说?

    豆浆 Soybean milk 米粉 Rice noodles 饭团 Rice and vegetable rol...

  • 无标题文章

    17.1勾股定理(第1课时 一、内容和内容解析 1.内容 勾股定理的探究、证明及简单应用. 2.内客解析 勾股定理...

  • Rice fried with carrot and eggs

    Boil rice with less amount of water. Prepare hard rice. C...

  • 青团——Sweet Green Rice Ball

    青团——Sweet Green Rice Ball Sweet green rice balls are a po...

  • 插画应用范围

    插画作用:(解释说明文字,增强文字感染力) 自由创作类:同人志展会绘本,街头涂鸦,卡通人物创作,手绘绘画 装饰画:...

网友评论

    本文标题:Rice定理的应用范围

    本文链接:https://www.haomeiwen.com/subject/eawxectx.html