若干二叉树算法的开发与Isabelle机器辅助证明.pdfVIP

若干二叉树算法的开发与Isabelle机器辅助证明.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
摘 要 随着计算机的发展,软件在各行各业已扮演着越来越重要的角色。自 2007 年“可信软件基础研究”重大研究计划启动以来,我国投入了大量的科研经费, 其中可信软件相关开发工具及其支撑平台、可信软件的构造及验证是该研究计划 的主要目标。算法是计算机软件的灵魂,对非线性复杂结构(如树、图)算法的 研究一直是国内外研究的热点。树形结构是一种典型的非线性数据结构,它能够 支持强大的搜索算法、有效的分配内存空间和提供有规则的数据存储,对树形结 构算法的开发与验证是软件形式化、可信软件研究领域的一个挑战性问题。 二叉树最具代表性,大部分利用二叉树结构处理的算法不仅写起来简单,而 且运行效率更高。二叉树算法的应用领域非常广泛,如数据解压、信息加密、内 存管理、网络通信和集群计算等等。二叉树算法可以是递归和非递归的,其中递 归算法递归调用的成本高(额外的堆栈空间分配和多函数调用)且危险(堆栈溢 出),在关键任务(如航空、NASA 探测车)的系统编程中,递归调用是完全禁止 的。而非递归算法效率更高,因而开发高可靠的二叉树非递归算法尤为重要。 本文结合 PAR 方法和交互式定理证明工具 Isabelle 对三类典型的二叉树算 法进行开发和机器辅助证明。该方法不仅克服了传统手工验证的繁琐性和易错性, 而且大幅度提高了所开发出算法程序的可靠性和可信性。若干实例开发与验证的 成功,说明了该方法的有效性和可行性。 本文的主要工作包括: 1. 提出了一种结合 PAR 方法和交互式定理证明器 Isabelle 对二叉树算法 进行开发和机器辅助证明的方法。经 PAR 方法开发的算法是非递归的,提高了算 法效率;开发后的算法经过机器辅助证明,不仅克服了传统手工验证的繁琐性和 易错性,而且大幅度提高了所开发出算法程序的可靠性和可信性。 2. 通过归纳分析二叉树算法的循环不变式组成结构和输出属性特征,将二 叉树算法分成三大类,通过发现每类算法之间的共性,十分有利于简化开发和验 证的过程。 3. 成功的开发和验证了一系列二叉树非递归算法,包括:二叉树前序、中 序、后序、层次遍历,求二叉树内部路径长度,交换二叉树所有结点的左右子女, 二叉排序树的增删改查操作,判断二叉树是否为满二叉树,判断二叉树是否为平 衡二叉树等。这是首次形式化验证一系列非递归的高效二叉树算法。 I 4. 在此基础上,使用 Isabelle 定义了常用二叉树数据结构的数据类型、相 关操作和辅助函数,形成二叉树算法定理证明库,有利于将来复用,构造更加复 杂的验证。 关键词:非线性结构;二叉树;非递归算法;循环不变式;Isabelle 机器辅 助证明 II Abstract With the development of computers, software has played an increasingly important role in all walks of life. Since the launch of the Reliable Software Basic Research major research plan in 2007, China has invested a large amount of scientific research funds. Among them, the development tools and supporting platforms for trusted software, and the construction and verification of trusted software are the main goals of the research plan. Algorithms are the soul of computer software, and the study of algorithms with nonlinear complex structures (such as trees and graphs) has always

文档评论(0)

136****6583 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:7043055023000005

1亿VIP精品文档

相关文档