大学计算机-程序与递归-组合-抽象与构造.ppt

大学计算机-程序与递归-组合-抽象与构造.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * 嵌套 * * 5. 原始递归 5.1 原始递归函数及其递归基础? 原始递归函数是接受自然数x或自然数的元组(x1,…xn)作为参数,并产生自然数的一个映射,记为f(x)或f(x1,…xn)。接受n个参数的函数称作n元函数。处处有定义的函数被称作全函数,未必处处有定义的函数称作半函数或部分函数。 最基本的原始递归函数,也被称为本原函数有三个: (1)初始函数:0元函数即常数无需计算;或者常数函数:对于每个自然数n和所有的k, 有f(x1,x2,…,xK)=n。 (2)后继函数:1 元后继函数 S,它接受一个参数并返回给出参数的后继数。例如S(1)=2, …, S(x) = x+1, 其中x为任意自然数。 (3)投影函数:对于所有 n≥1 和每个 1≤i≤n 的 i,n 元投影函数 Pin,它接受 n 个参数并返回它们中的第 i 个参数,即 Pin (x1,x2,…,xn) = xi * (1)复合:给定原始递归函数 f(x1,...,xk),和 k 个原始递归函数 g1,...,gk,则f 和 g1,...,gk的复合是 函数h, 即 h(x1,...,xm) = f(g1(x1,...,xm),...,gk(x1,...,xm)) 简单而言,复合是将一系列函数作为参数代入到另一个函数中,又被称为代入。复合是构造新函数的一种方法。复合是表达组合的一种方法。 结构f vs. 构件g1,…,gk g1…,gk的组合关系f vs. 运算组合式g1,…,gk g1…,gk的指令组合关系f vs. 基本指令g1,…,gk 5. 原始递归 5.2 原始递归函数如何构造----组合/复合? * (2)原始递归:给定原始递归函数 f 和 g,则新函数h可由 f 和 g递归的定义 ,其中 h(0,x1,...,xk) = f(x1,...,xk) h(S(n), x1,...,xk) = g(h(n,x1,...,xk),n,x1,...,xk) 简单而言,定义新函数h,就是要定义h(0), h(1),…,h(n),…。h(0)直接给出。h(n+1)则由将h(n)和n代入g中来构造。 原始递归是递归地构造新函数的方法,尤其是无限的相似性函数的构造方法。 (* (* …(* (* (* 1 1) 2) 3) … n) S(n)) 5. 原始递归 5.2 原始递归函数如何构造----组合/复合? g(x1, x2) = (* x1 S(x2)) h(0) = 1 h(S(n)) = g(h(n), n) h(0) = 1 h(1) = g(h(0), 0) = (* 1 1) h(2) = g(h(1), 1) = (* (* 1 1) 2) h(3) = g(h(2), 2) = ((* (* 1 1) 2) 3) … h(S(n)) = g(h(n), n) * 原始递归函数的构造示例 已知: f(x)=x g(x1,x2,x3)=x1+x2+x3, 其中x,x1,x2,x3均为自然数 h(0,x) = f(x)且 h(S(n), x) = g(h(n,x),n,x) 该函数对任一自然数的计算过程为: h(0,x)=f(x) =x h(1,x)=h(S(0),x) = g(h(0,x),0,x) = g(f(x),0,x) = f(x) +0+ x =2x h(2,x)=h(S(1),x) = g(h(1,x),1,x)=g(g(f(x),0,x),1,x)=g(2x, 1, x)=3x+1 h(3,x)=h(S(2),x) =g(h(2,x),2,x)=g(g(h(1, x),1, x),2, x)= g(g(g(h(0,x),0,x),1,x),2,x) = …= 4x+3 … … 5. 原始递归 5.3 原始递归函数构造示例? * 原始递归函数的构造示例 已知: f(x)=2 g(x1,x2,x3)=x1,其中x,x1,x2,x3均为自然数 h(0,x) = f(x)且 h(S(n), x) = g(h(n,x),n,x) 该函数对任一自然数的计算过程为: h(0,x) =f(x) =2 h(1,x) =h(S(0),x) = g(h(0,x),0,x) = g(f(x),0,x) = f(x) =2 h(2,x)=h(S(1),x) = g(h(1,x),1,x)=g(g(f(x),0,x),1,x)=g(2, 1, x)=2 h(3,x)=h(S(2),x) =g(h(2,x),2,x)=g(g(h(1, x),1, x),2, x)

文档评论(0)

Jermain2014 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档