勇敢心资源网

当前位置:首页 > 百科 / 正文

递归定理

(2020-02-05 12:01:00) 百科
递归定理

递归定理

递归定理(recursion theorem)亦称不动点定理。反映部分递归函式类基本性质的重要定理。最初是由美国逻辑学家、数学家克林(Kleene, S. C.)于1938年证明的,克林所给的递归定理的原始形式特称为第二递归定理):若\varphi为部分递归函式,则存在e使得\alpha_{e}(x)=\varphi(e,x)。

基本介绍

  • 中文名:递归定理
  • 外文名:recursion theorem
  • 领域:数学
  • 适用对象:递归函式
  • 别称:不动点定理、第二递归定理
  • 首次证明:美国数学家克林

递归

当事物根据其本身或其类型进行定义时,就会发生递归。 递归用于从语言学到逻辑的各种学科。 递归的最常见的套用是数学和计算机科学,其中定义的函式在其自己的定义中被套用。 虽然这显然定义了无限数量的实例(函式值),但它通常以这样的方式完成,即不会发生循环或无限链引用。

定义

递归是程式在其中一个步骤涉及调用过程本身时所经历的过程。递归的过程被称为“递归过程”。
要理解递归,必须认识到一个过程和一个过程的运行之间的区别。程式是基于一组规则的一组步骤。程式的运行涉及实际遵循规则并执行步骤。类比:程式就像书面食谱;运行程式就像实际準备饭菜一样。
递归与执行某些其他过程的过程规範中的引用相关,但与之不同。例如,食谱可能指的是烹饪蔬菜,这是另一种程式,又需要加热水等等。然而,一个递归过程是(至少)其中一个步骤中的一个步骤需要一个相同过程的新实例,就像一个sourdough配方调用最后一次同一个配方所剩下的一些麵团。这当然会立即产生无限循环的可能性;如果在某些情况下跳过有问题的步骤,则可以在定义中正确使用递归,因为该过程可以完成,就像一个sourdough配方,也告诉你如何获得一些起始麵团,以防万一你从未做过。即使正确定义,递归过程对于人类来说也不容易,因为它需要区分新的与过程的(部分执行的)调用;这需要对各种同时进行的程式的实现进行一些管理。因此,递归定义在日常情况下非常罕见。一个例子可能是以下程式找到一条通过迷宫的方式。继续前进,直到到达出口或分支点(死端被认为是具有0个分支的分支点)。如果达到的点是退出,终止。否则反覆尝试每个分支,递归地使用该过程;如果每次试验都没有达到死胡同,就返回到导致这个分支点的路径并报告失败。这是否实际上定义了终止程式取决于迷宫的性质:它不能允许循环。在任何情况下,执行该过程需要仔细记录所有当前探索的分支点,并且哪些分支已经被彻底地尝试。

定理表述

递归定理的原始形式(特称为第二递归定理)为:若
为部分递归函式,则存在e,使得
与第二递归定理等价的是下列不动点定理:对任何递归函式f,存在自然数n(称为f的不动点),使φnf(n)。不动点定理有一些推广的形式:
  1. 带参数的递归定理。若f为n+1元递归函式,则存在一一的n元递归函式h,使
2.二重递归定理.对递归函式f,g,存在自然数a,b,使得:φaf(a,b)& φbg(a,b).
对一个递归函式f,其不动点不仅存在,而且一定有无穷多个,它们所组成的集合可能是递归集,也可能是非递归的.值得指出的是,对部分递归函式,其不动点定理与第二递归定理是等价的,但两者的证明所需要的基础并不一样.前者依赖于Sm定理和枚举定理,而后者则仅依赖于Sm定理.因此,若一个函式类具有Sm性质但不具有枚举性(如原始递归函式类),则第二递归定理对它也成立,而不动点定理则不然.与第二递归定理相对应的是关于部分递归泛函的第一不动点定理(美国逻辑学家、数学家克林(Kleene,S.C.),于1952年证明的):设F(α,x)为部分递归泛函,则存在一个部分递归函式α,使得:
1.ᗄx(α(x)=F(α,x));
2.ᗄx(β(x)=F(β,x))→α⊆β;
此时α称为F的最小不动点。第一和第二不动点定理之名称纯粹是由克林的经典着作《元数学导论》中表述的先后次序而定的,别无他意。此外,在许多文献中,上述的(第二)不动点定理也称为递归定理而不加区分。
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net
搜索
随机推荐

勇敢心资源网|豫ICP备19027550号