网站大量收购独家精品文档,联系QQ:2885784924

离散数学与计算机科学计算机科学导论第四讲课程.ppt

离散数学与计算机科学计算机科学导论第四讲课程.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * 编程语言递归函数的数学语义 C阶乘函数定义的相应高阶函数的最小不动点 相应的高阶函数是(其连续性的证明略去) F ? ?f:nat ? nat.?x:nat.if x = 0 then 1 else x ?f(x?1) 计算过程:( F[n] 表示对F最多展开n次) F[0](?) = ?, F[1](?) ={?0, 0!?}, F[2](?) ={?0, 0!?, ?1, 1!?} F[3](?) = {?0, 0!?, ?1, 1!?, ?2, 2!?}, … fix (F) = ?{F[n] (?) | n ? 0} = ? { ?, {?0, 0!?}, {?0, 0!?, ?1, 1!?}, {?0, 0!?, ?1, 1!?, ?2, 2!?}, … } = 阶乘函数 编程语言递归函数的数学语义 第二个C函数定义相应高阶函数的最小不动点 g(x) ? if x = 0 then 1 else (if x =1 then g(3) else g(x?2))相应的高阶函数是 F ? ?g:nat ? nat.?x:nat = if x = 0 then 1 else (if x =1 then g(3) else g(x?2)) 计算过程: F[0](?) = ?, F[1](?) ={?0, 1?}, F[2](?) = {?0, 1?} F[3](?) = {?, ?0, 1?, ?2, 1? }, … fix (F) = ? {F[n](?) | n ? 0} =?{?, {?0, 1?},{?0, 1?, ?2, 1?},{?0, 1?, ?2, 1?, ?4, 1?}, … } = f(x) = 1(x为偶数) 编程语言递归函数的数学语义 第二个C函数定义相应高阶函数的其他不动点 1, x是偶数 h(x) = 都是 a, x是奇数(a可任意取值) 函数?g:nat ? nat.?x:nat = if x = 0 then 1 else (if x =1 then g(3) else g(x?2))的不动点 因为(?g:nat ? nat.?x:nat = if x = 0 then 1 else (if x =1 then g(3) else g(x?2))) h = ?x:nat = if x = 0 then 1 else (if x =1 then h(3) else h(x?2)) 所得的这个函数就是函数h 编程语言递归函数的数学语义 为什么选择最小不动点 C函数:int g(int x) {if (x==0) return 1 else if (x==1)return g(3) else return g(x?2);} 相应高阶函数:F ? ?g:nat ? nat.?x:nat = if x = 0 then 1 else (if x =1 then g(3) else g(x?2)) F的最小不动点 f(x) = 1(x为偶数) 最小不动点的特点: 是定义得最少的不动点 仅包括从递归定义能演绎出来的信息,没有来自对相应递归方程的任何“个人臆想” 对某个变元没有定义,意味着计算不终止 编程语言递归函数的数学语义 实分析中的不动点 求解实数方程 x = 1 + 1/x 经常用迭代方法求解 ? ? ?x:R. 1 + 1/x (连续函数) ?0 ? 5 (迭代初值), xi ? ? (xi?1), i ? 1 得到的迭代序列 1.2, 1.833333, 1.545455, 1.647059, 1.607143, 1.622222, 1.616438, 1.618644, 1.617801, 1.618123, 收敛于极限(1+ 5 )/2,即上述连续函数的不动点 小 结 本讲座小结 概述离散数学与计算机科学的关系。并以计算阶 乘的递归程序为例,介绍完全偏序集合及其上函数 的单调性、连续性、不动点等概念是怎样用于程序 的语义解释的 偏序理论在计算机科学中的应用 程序理论的各个方面,如形式语义、类型论、程 序分析、程序优化、程序验证都离不开偏序理论 在计算机科学的很多其他方面也都涉及偏序 这部分内容在“代数结构”课程中 小 结 离散数学是很多专业课程

文档评论(0)

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

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

1亿VIP精品文档

相关文档