- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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,即上述连续函数的不动点 小 结 本讲座小结 概述离散数学与计算机科学的关系。并以计算阶 乘的递归程序为例,介绍完全偏序集合及其上函数 的单调性、连续性、不动点等概念是怎样用于程序 的语义解释的 偏序理论在计算机科学中的应用 程序理论的各个方面,如形式语义、类型论、程 序分析、程序优化、程序验证都离不开偏序理论 在计算机科学的很多其他方面也都涉及偏序 这部分内容在“代数结构”课程中 小 结 离散数学是很多专业课程
您可能关注的文档
- 第13课 祖国统一的历史大潮课程.ppt
- 第13课穆罕默德·阿里改革课程.ppt
- 第13课时 反比例函数课程.ppt
- 第13课时 机械效率课程.ppt
- 第13课时 世界古代文明的产生、碰撞和交融课程.ppt
- 第13课时 在同一片土地上课程.ppt
- 大悟县城北小学课程.ppt
- 第13章 打印输出课程.ppt
- 第13章 典型中外文特种文献的利用课程.ppt
- 大象版课程标准实验教材四年级下册课程.ppt
- 2025江浙沪居民睡眠健康小调研报告.pdf
- 毕业论文的开题报告范文.docx
- 团委活动方案(拓展).docx
- 汽车智能驾驶行业深度报告:端到端与AI共振,智驾平权开启新时代.pdf
- 小核酸行业深度:技术平台和适应症不断验证,迎来销售和临床密集兑现期-华福证券-2025.3.31-65页.docx
- 医药生物行业医疗AI专题报告二多组学篇AI技术驱动精准诊断实现重要突破-25031440页.docx
- CXO行业系列报告三寒冬已过行业需求逐步回暖-25031430页.docx
- 全国租赁市场报告2025年3月_可搜索.pdf
- 玩具行业“情绪经济”专题:创新玩法+IP赋能,重新定义玩具-华鑫证券-2025.docx
- 医疗保健行业PCAB抑制剂药物深度报告抑酸药物市场空间广阔PCAB抑制剂大有可为-25.pdf
文档评论(0)