fbpx
维基百科

递归

递归(英語:Recursion),又译为递回,在数学计算机科学中,是指在函数的定义中使用函数自身的方法。递归一词还较常用于描述以自相似方法重复事物的过程。例如,当两面镜子相互之间近似平行时,镜中嵌套的图像是以无限递归的形式出现的。也可以理解为自我复制的过程。

德罗斯特效应是递归的一种视觉形式。图中女性手持的物体中有一幅她本人手持同一物体的小图片,进而小图片中还有更小的一幅她手持同一物体的图片,依此类推。

语言例子

  1. 从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?「从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?『从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……』」
  2. 一只狗来到厨房,偷走一小块面包。厨子举起杓子,把那只狗打死了。于是所有的狗都跑来了,给那只狗掘了一个坟墓,还在墓碑上刻了墓誌銘,让未来的狗可以看到:「一只狗来到厨房,偷走一小块面包。厨子举起杓子,把那只狗打死了。于是所有的狗都跑来了,给那只狗掘了一个坟墓,还在墓碑上刻了墓誌銘,让未来的狗可以看到:『一只狗来到厨房,偷走一小块面包。厨子举起杓子,把那只狗打死了。于是所有的狗都跑来了,给那只狗掘了一个坟墓,还在墓碑上刻了墓誌銘,让未来的狗可以看到……』」
  3. 大雄在房裏,用時光電視看着从前的情況。電視畫面中的那個時候,他正在房裏,用時光電視,看着从前的情況。電視畫面中的電視畫面的那個時候,他正在房裏,用時光電視,看着从前的情況……

正式定义

数学和计算机科学中,递归指由一种(或多种)简单的基本情况定义的一类对象或方法,并规定其他所有情况都能被还原为其基本情况。

例如,下列为某人祖先的递归定义:

  • 某人的双亲是他的祖先(基本情况)。
  • 某人祖先的双亲同样是某人的祖先(递归步骤)。

斐波那契数列是典型的递归案例:

  •  (初始值)
  •  (初始值)
  • 对所有大於1的整数n: (递归定义)

尽管有许多数学函数均可以递归表示,但在实际应用中,递归定义的高开销往往会让人望而却步。例如:

  •  (初始值)
  • 对所有大於0的整数n: (递归定义)

一种便于理解的心理模型,是认为递归定义对对象的定义是按照“先前定义的”同类对象来定义的。例如:你怎样才能移动100个箱子?答案:你首先移动一个箱子,并记下它移动到的位置,然后再去解决较小的问题:你怎样才能移动99个箱子?最终,你的问题将变为怎样移动一个箱子,而这时你已经知道该怎么做的。

如此的定义在数学中十分常见。例如,集合论对自然数的正式定义是:1是一个自然数,每个自然数都有一个后继,这一个后继也是自然数。

以下是另一个可能更有利于理解递归过程的解释:

  1. 我们已经完成了吗?如果完成了,返回结果。如果没有这样的终止条件,递归将会永远地继续下去。
  2. 如果没有,则简化问题,解决较容易的问题,并将结果组装成原始问题的解决办法。然后返回该解决办法。

这样就有一种更有趣的描述:“为了理解递归,则必须首先理解递归。”或者更准确地,按照安德鲁·普洛特金英语Andrew Plotkin的解释:“如果你已经知道了什么是递归,只需记住答案。否则,找一个比你更接近侯世达的人;然后让他/她来告诉你什么是递归。”[1]

数学中常见的以递归形式定义的案例参见函数、集合以及分形等。

举例:编写一个程序使用递归求n的阶乘

fac 0 = 1 fac n = n * fac (n-1) main = print( fac 10 ) 

數學之應用

 
謝爾賓斯基三角形-由封閉遞歸的三角形所形成之碎形

遞歸定義集

實例:自然數

關於遞歸定義集的經典範例,可透過自然數來說明:

 
 , 則 
滿足上述兩個條件之最小集合,即為自然數集合

實例:可導出的命題集合

另一個有趣範例為,公理系統中,所有可導出命題之集合

  • 若一個命題公理,則其為可導出之命題
  • 透過推理規則方式,若一個命題可以從可導出之命題所推論,則其為可導出之命題
  • 滿足上述條件之最小集合,為可導出之命題之集合

此集合稱為,可導出之命題之集合,因為在數學基礎方法中,依非建立性法構建的命題之集合,可能大於由公理系統推理規則所遞歸構建出之集合,詳細請參見 哥德爾不完備定理

有限次分割法

有限次分割法為幾何形式之遞歸,可用以創建類碎形之圖案。次分割原則的運作如後所述,從多個已被有限個標籤標註的多邊形開始,接著每個多邊形僅根據其標籤,繼續細切到更小的多邊形,此一細切的過程可不斷重複。

参见

参考文献

脚注

  1. ^ 原文:“If you already know what recursion is, just remember the answer. Otherwise, find someone who is standing closer to Douglas Hofstadter than you are; then ask him or her what recursion is.”

书目

  • Johnsonbaugh, Richard. Discrete Mathematics. Prentice Hall. 2004. ISBN 0-13-117686-2. 
  • Hofstadter, Douglas. Gödel, Escher, Bach: an Eternal Golden Braid. Basic Books. 1999. ISBN 0-465-02656-7. 
  • Shoenfield, Joseph R. Recursion Theory. A K Peters Ltd. 2000. ISBN 1-56881-149-7. 
  • Causey, Robert L. Logic, Sets, and Recursion. Jones & Bartlett. 2001. ISBN 0-7637-1695-2. 
  • Cori, Rene; Lascar, Daniel; Pelletier, Donald H. Recursion Theory, Godel's Theorems, Set Theory, Model Theory. Oxford University Press. 2001. ISBN 0-19-850050-5. 
  • Barwise, Jon; Moss, Lawrence S. Vicious Circles. Stanford Univ Center for the Study of Language and Information. 1996. ISBN 0-19-850050-5.  - offers a treatment of corecursion.
  • Rosen, Kenneth H. Discrete Mathematics and Its Applications. McGraw-Hill College. 2002. ISBN 0-07-293033-0. 
  • Cormen, Thomas H., Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. Introduction to Algorithms. Mit Pr. 2001. ISBN 0-262-03293-7. 
  • Kernighan, B.; Ritchie, D. The C programming Language. Prentice Hall. 1988. ISBN 0-13-110362-8. 
  • Stokey, Nancy,; Robert Lucas; Edward Prescott. Recursive Methods in Economic Dynamics. Harvard University Press. 1989. ISBN 0674750969. 

外部链接

  • - tutorial by Alan Gauld
  • A Primer on Recursion (页面存档备份,存于互联网档案馆)- contains pointers to recursion in Formal Languages, Linguistics, Math and Computer Science
  • Google easter for recursion (页面存档备份,存于互联网档案馆

递归, 此条目讲述的是的概念, 关于另一部同名小说, 参见, 小说, 关于计算机程序设计, 参见, 计算机科学, 其他用法, 参见, 消歧义, 英語, recursion, 又译为递回, 在数学与计算机科学中, 是指在函数的定义中使用函数自身的方法, 一词还较常用于描述以自相似方法重复事物的过程, 例如, 当两面镜子相互之间近似平行时, 镜中嵌套的图像是以无限的形式出现的, 也可以理解为自我复制的过程, 德罗斯特效应是的一种视觉形式, 图中女性手持的物体中有一幅她本人手持同一物体的小图片, 进而小图片中还有更小的一. 此条目讲述的是递归的概念 关于另一部同名小说 参见递归 小说 关于计算机程序设计 参见递归 计算机科学 其他用法 参见递归 消歧义 递归 英語 Recursion 又译为递回 在数学与计算机科学中 是指在函数的定义中使用函数自身的方法 递归一词还较常用于描述以自相似方法重复事物的过程 例如 当两面镜子相互之间近似平行时 镜中嵌套的图像是以无限递归的形式出现的 也可以理解为自我复制的过程 德罗斯特效应是递归的一种视觉形式 图中女性手持的物体中有一幅她本人手持同一物体的小图片 进而小图片中还有更小的一幅她手持同一物体的图片 依此类推 目录 1 语言例子 2 正式定义 3 數學之應用 3 1 實例 自然數 3 2 實例 可導出的命題集合 3 3 有限次分割法 4 参见 5 参考文献 5 1 脚注 5 2 书目 6 外部链接语言例子 编辑从前有座山 山里有座庙 庙里有个老和尚 正在给小和尚讲故事呢 故事是什么呢 从前有座山 山里有座庙 庙里有个老和尚 正在给小和尚讲故事呢 故事是什么呢 从前有座山 山里有座庙 庙里有个老和尚 正在给小和尚讲故事呢 故事是什么呢 一只狗来到厨房 偷走一小块面包 厨子举起杓子 把那只狗打死了 于是所有的狗都跑来了 给那只狗掘了一个坟墓 还在墓碑上刻了墓誌銘 让未来的狗可以看到 一只狗来到厨房 偷走一小块面包 厨子举起杓子 把那只狗打死了 于是所有的狗都跑来了 给那只狗掘了一个坟墓 还在墓碑上刻了墓誌銘 让未来的狗可以看到 一只狗来到厨房 偷走一小块面包 厨子举起杓子 把那只狗打死了 于是所有的狗都跑来了 给那只狗掘了一个坟墓 还在墓碑上刻了墓誌銘 让未来的狗可以看到 大雄在房裏 用時光電視看着从前的情況 電視畫面中的那個時候 他正在房裏 用時光電視 看着从前的情況 電視畫面中的電視畫面的那個時候 他正在房裏 用時光電視 看着从前的情況 正式定义 编辑在数学和计算机科学中 递归指由一种 或多种 简单的基本情况定义的一类对象或方法 并规定其他所有情况都能被还原为其基本情况 例如 下列为某人祖先的递归定义 某人的双亲是他的祖先 基本情况 某人祖先的双亲同样是某人的祖先 递归步骤 斐波那契数列是典型的递归案例 F 0 0 displaystyle F 0 0 初始值 F 1 1 displaystyle F 1 1 初始值 对所有大於1的整数n F n F n 1 F n 2 displaystyle F n F n 1 F n 2 递归定义 尽管有许多数学函数均可以递归表示 但在实际应用中 递归定义的高开销往往会让人望而却步 例如 0 1 displaystyle 0 1 初始值 对所有大於0的整数n n n n 1 displaystyle n n times n 1 递归定义 一种便于理解的心理模型 是认为递归定义对对象的定义是按照 先前定义的 同类对象来定义的 例如 你怎样才能移动100个箱子 答案 你首先移动一个箱子 并记下它移动到的位置 然后再去解决较小的问题 你怎样才能移动99个箱子 最终 你的问题将变为怎样移动一个箱子 而这时你已经知道该怎么做的 如此的定义在数学中十分常见 例如 集合论对自然数的正式定义是 1是一个自然数 每个自然数都有一个后继 这一个后继也是自然数 以下是另一个可能更有利于理解递归过程的解释 我们已经完成了吗 如果完成了 返回结果 如果没有这样的终止条件 递归将会永远地继续下去 如果没有 则简化问题 解决较容易的问题 并将结果组装成原始问题的解决办法 然后返回该解决办法 这样就有一种更有趣的描述 为了理解递归 则必须首先理解递归 或者更准确地 按照安德鲁 普洛特金 英语 Andrew Plotkin 的解释 如果你已经知道了什么是递归 只需记住答案 否则 找一个比你更接近侯世达的人 然后让他 她来告诉你什么是递归 1 数学中常见的以递归形式定义的案例参见函数 集合以及分形等 举例 编写一个程序使用递归求n的阶乘 fac 0 1 fac n n fac n 1 main print fac 10 數學之應用 编辑 謝爾賓斯基三角形 由封閉遞歸的三角形所形成之碎形 遞歸定義集 主条目 遞歸定義 實例 自然數 编辑 關於遞歸定義集的經典範例 可透過自然數來說明 0 N displaystyle 0 in mathbb N 若n N displaystyle n in mathbb N 則n 1 N displaystyle n 1 in mathbb N 滿足上述兩個條件之最小集合 即為自然數集合實例 可導出的命題集合 编辑 另一個有趣範例為 公理系統中 所有可導出命題之集合 若一個命題為公理 則其為可導出之命題 透過推理規則方式 若一個命題可以從可導出之命題所推論 則其為可導出之命題 滿足上述條件之最小集合 為可導出之命題之集合此集合稱為 可導出之命題之集合 因為在數學基礎方法中 依非建立性法構建的命題之集合 可能大於由公理系統及推理規則所遞歸構建出之集合 詳細請參見 哥德爾不完備定理 有限次分割法 编辑 主条目 Finite subdivision rule 有限次分割法為幾何形式之遞歸 可用以創建類碎形之圖案 次分割原則的運作如後所述 從多個已被有限個標籤標註的多邊形開始 接著每個多邊形僅根據其標籤 繼續細切到更小的多邊形 此一細切的過程可不斷重複 参见 编辑分形 差分 遞迴關係式 塔珀自指公式 无限反射镜参考文献 编辑脚注 编辑 原文 If you already know what recursion is just remember the answer Otherwise find someone who is standing closer to Douglas Hofstadter than you are then ask him or her what recursion is 书目 编辑 Johnsonbaugh Richard Discrete Mathematics Prentice Hall 2004 ISBN 0 13 117686 2 Hofstadter Douglas Godel Escher Bach an Eternal Golden Braid Basic Books 1999 ISBN 0 465 02656 7 Shoenfield Joseph R Recursion Theory A K Peters Ltd 2000 ISBN 1 56881 149 7 Causey Robert L Logic Sets and Recursion Jones amp Bartlett 2001 ISBN 0 7637 1695 2 Cori Rene Lascar Daniel Pelletier Donald H Recursion Theory Godel s Theorems Set Theory Model Theory Oxford University Press 2001 ISBN 0 19 850050 5 Barwise Jon Moss Lawrence S Vicious Circles Stanford Univ Center for the Study of Language and Information 1996 ISBN 0 19 850050 5 offers a treatment of corecursion Rosen Kenneth H Discrete Mathematics and Its Applications McGraw Hill College 2002 ISBN 0 07 293033 0 Cormen Thomas H Charles E Leiserson Ronald L Rivest Clifford Stein Introduction to Algorithms Mit Pr 2001 ISBN 0 262 03293 7 Kernighan B Ritchie D The C programming Language Prentice Hall 1988 ISBN 0 13 110362 8 Stokey Nancy Robert Lucas Edward Prescott Recursive Methods in Economic Dynamics Harvard University Press 1989 ISBN 0674750969 外部链接 编辑Recursion tutorial by Alan Gauld A Primer on Recursion 页面存档备份 存于互联网档案馆 contains pointers to recursion in Formal Languages Linguistics Math and Computer Science Google easter for recursion 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 递归 amp oldid 72890210, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。