Gödel语言编译系统中推理机的设计与实现

来源 :厦门大学 | 被引量 : 0次 | 上传用户:a956280507
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
逻辑程序设计语言提供了一种说明性的编程方法,与基于算法的过程性程序设计语言如Pascal、Ada和C等相比,逻辑程序设计语言具有诸多优点。首先,逻辑程序丰富的表达能力和不确定性语言机制,使其非常适合于表达人工智能和知识工程中的问题;其次,逻辑程序建立在一阶谓词逻辑的基础之上,具有严格的数学理论基础,易于进行程序的正确性证明和验证;第三,逻辑程序开发者不需要考虑程序“如何计算”,而只需要说明要“做什么”,从而有利于其将精力集中到问题的求解上,从计算模型的层面探索问题的求解。由于Prolog语言取得的成功,一直以来Prolog都是逻辑程序设计的代称。但是,Prolog基于一阶逻辑的Horn子集,作为一种无类型逻辑程序设计语言,缺乏足够的可表达性,而且,由于Prolog中引入了较多的过程性谓词如cut和retract等,使其缺乏清晰、明确的说明性语义。鉴于此,逻辑程序设计的研究者们提出了新型逻辑程序设计语言G(o|¨)del,它继承并发展了Prolog,试图解决Prolog中存在的诸多语义问题,增强其可表达性能力,缩小理想的逻辑程序与逻辑程序的具体实现之间的巨大鸿沟。据此,它引入了参数型多态多类类型系统,增加了延迟计算等新的语言成分,支持模块化程序设计和元程序设计,具有灵活的计算规则和剪枝操作,并以系统模块形式提供丰富的抽象数据类型以支持通用程序设计,对其适当扩展可支持面向对象程序设计。但是,作为一种新型的逻辑程序设计语言,G(o|¨)del语言能否真正走向成功,还取决于是否有一个高效率的编译或解释实现系统。迄今为止,就是语言的设计者们,也仅实现了一个旨在验证语言功能的原型系统。本文围绕G(o|¨)del语言的实现,提出并沿着一条全新的技术路线,初步实现了一个G(o|¨)del编译程序的实验室系统,通过了一组典型的程序实例且运行效率很高。本文重点介绍这个实验室系统中核心部分推理机的设计与实现。本文首先对推理机所要实现的G(o|¨)del语言的主要机制:类型系统、延迟计算、剪枝操作等进行了分析,讨论这些新机制对G(o|¨)del语言程序设计和SLD反驳-消解过程的影响。进一步,借鉴Warren虚拟机的设计思想,提出了将G(o|¨)del源程序通过词法、语法和语义分析把源程序翻译成带说明性语义信息的一种高度结构化的中间代码,然后在中间代码之上进行程序的推理求解的编译实现技术路线。基于该思想,我们具体讨论了G(o|¨)del语言编译系统的总体设计结构,阐述了G(o|¨)del语言推理机实现的基本原理,重点描述了中间代码结构和基于该中间代码的推理机实现。最后,通过性能分析验证了本文实现的推理机具有较高的执行效率。
其他文献
研究蛋白质的折叠是生命科学领域的前沿课题之一。蛋白质是一种生物大分子,是由20种氨基酸以肽键连接成肽链,在空间卷曲折叠成为特定的三维空间结构。因为蛋白质只有在特定的三
近几年来,随着通信技术和计算机技术的不断发展,一种新型的数据模型--分布式数据流,得到越来越多的关注。它广泛应用于金融、网络监视、通信数据管理、传感器网络等众多领域
随着互联网技术的飞速发展,Web应用已经渗透到国计民生、商业领域和个人生活的各个方面。在市场需求的推动下,Web应用的规模不断扩大,其软件具有的动态、异构、分布、并发和多用
基于二维人脸图像纹理特征的高鉴别性,和三维人脸数据在某些程度的光照、姿态及表情不变性,本文针对表情及姿态变化的鲁棒性问题,在三维人脸点云几何特征的提取、三维深度图
随着无线移动用户的迅速增多,互联网正在向支持大范围移动性方向发展,越来越多的人希望能够通过移动方式进入互联网享受网络服务。移动IPv6协议的提出使得移动节点在接入新的子
售后服务水平的高低已经成为汽车市场中企业竞争成败的关键因素之一。近年来,我国汽车行业售后服务水平得到了很大的提高,但许多汽车制造企业的售后服务体系仍存在着业务处理方
三维几何模型简化是计算机图形学领域始终备受关注的研究方向,也是未来相当长时间内的热点方向。随着获取和建模技术的迅速发展,得到高精度、大数据量的三维几何模型变得越来
随着P2P技术的发展,越来越多的研究人员从事到P2P协议的开发中来,新的P2P协议和算法在投入使用以前,需要使用P2P模拟器对其正确性及性能进行验证和评价。本文在研究了现有P2P
继电保护装置是电力系统最重要的二次设备之一,继电保护测试系统担负着对继电保护装置工作性能进行测试的重要任务,在电力系统的正常运行过程中是必不可少的。传统的继电保护测试软件大多采用面向对象的系统结构,虽然已能基本实现,但软件在稳定性和可扩展性上还存在许多不足:软件对于编程语言的依赖性很强;应用程序结构缺乏灵活性;软件对应用环境的适用性差,代码在不同应用环境间很难共享。鉴于继电保护测试软件开发过程中的
随着网络技术的普及发展和教育改革的不断推进,智能化组建试卷的研究越来越受到专家学者的重视。组建试卷的研究是一个多目标多约束的组合优化问题,其关键部分是确定组建试卷