1B.1 Gödel语言的主要创新

news/2024/7/10 4:39:20 标签: 语言, 数据挖掘, 扩展, 数据库, 优化, 工具
http://www.docin.com/p-92139363.html

        由于Prolog所取得的巨大成功,一直以来Prolog都是逻辑程序设计的代称。但是,Prolog基于一阶逻辑的Horn子集,作为一种无类型 逻辑程序设计语言,它缺乏足够的可表达性。而且,由于Prolog在具体实现时,出于效率考虑,引入了非逻辑的语言成分,如cut等,经常使用会使Prolog程序缺乏清晰、明确的说明性语义,导致理解、分析、转换、优化、验证、调试Prolog程序都非常困难。理想的逻辑程序设计语言应该将其理论基础从Horn子集扩展到一阶逻辑,程序的计算执行过程对程序员透明,即程序员可以不必了解程序的推理求解过程,直接按照说明性定义的方式设计程序即可,具体的推理计算过程交由系统来完成。针对Prolog存在的不足,逻辑程序设计的研究者们一直在尝试改进这些缺陷。Godel语言的设计者们充分汲取了该领域的研究成果,将多种新的语言成分引入语言设计中,使Godel继承并发展了Prolog。Godel试图解决Prolog中存在的诸多语义问题,增强Prolog的可表达性,缩小理想逻辑程序设计语言与现实逻辑程序语言的差别。
        Godel语言是继Prolog语言之后出现的新型说明性通用逻辑程序设计语言,于20世纪90年代中期由英国Bristol大学的J.W.Lloyd和Leeds大学的P.M.Hill为首的研究小组设计开发。它借鉴了Prolog语言的诸多元素,并从Prolog语言的众多变型如IC-Prolog、NU-Prolog等以及ML语言、Module-2语言引入新的语言成分,从而使其具备更强的程序设计表达能力。它建立在多态多类的一阶逻辑基础之上,摒弃了Prolog语言中的非逻辑成分,有效地解决了Prolog语言中存在的语义问题与表达性较弱的问题。Godel语言对逻辑程序的主要创新可以概括为,引入了参数型多态多类型系统,增加了延迟计算等新的语言成分,支持模块化程序设计和元程序设计;具有灵活的计算规则和剪枝操作,并以系统模块形式提供丰富的抽象数据类型以支持通用程序设计,对其适当扩展可支持面向对象程序设计。
        Godel语言的类型是一个强类型系统。类型的引入便于知识表示,因为知识的预期解释在大多数逻辑程序设计应用中时被类型化的,类型信息有利于发现程序中的错误,提高程序的开发效率,也使得Godel语言具有很强的可表达性能力和实用性;Godel语言程序设计采用模块结构,提供了组织大规模程序的方法,有利于信息隐藏。这些机制结合多态多类型系统,使Godel语言能够支持某些现代软件工程方法。Godel语言拥有灵活的计算规则,可以通过声明延迟计算条件,达到控制选取消子目标次序的目的,再结合commit剪枝,可以极大地提高推理空间的搜索效率;采用抽象数据类型来处理元程序,为元程序设计提供了一个良好的机制。
        更为重要的是,Godel语言在引入这些新的逻辑程序成分的同时,还使该语言有比Prolog更优的程序说明性程序语义,而良好的概念化、结构性说明性程序语义对逻辑程序至为重要。首先,它减轻了程序员的负担,使他们在程序设计时只需考虑把问题及相关的知识、逻辑关系定义好,告诉计算机系统“要计算什么”,而不必关心“如何计算”,真正向说明性程序设计方向上又迈进了一步;其次,当前大多数实用的逻辑程序设计语言都是从Prolog语言演变而来,运用了许多非说明性语言成分和非逻辑成分,如cut、retract等,而Godel在这一方面有了较大的进步,大大地减少了对非逻辑性成分的依赖,缩小了在逻辑程序设计中理论与现实之间的差距,有利于逻辑程序的理论分析;最后,程序设计语言理论研究表明,具有良好的说明性语义的程序更容易实现并行。Godel语言的这些创新为逻辑程序设计注入了新的内容。可以预见,一旦该语言的编译系统取得突破并得到推广,它将会成为人工智能、数据挖掘数据库等领域进行智能软件开发的重要工具

http://www.niftyadmin.cn/n/1604784.html

相关文章

用AI看见餐厅后厨 明厨亮灶守护“舌尖上的安全”

食品安全问题备受关注 保障“舌尖上的安全”迫在眉睫食品安全问题向来是牵动人心的重要问题,餐厅的后厨工作人员对于卫生规范的遵守情况与食品的安全卫生状况直接相关。近年来,为了让原本闲人免进的餐厅后厨重地更加可视化,让消费者放心&…

刷脸支付普及逐渐攀升产业生态逐渐形成

刷脸让支付生态重返硬件年代,刷脸支付机具的生产、销售、铺设、维护涉及大量成本,客观存在压货风险大、后期服务难、地推成本高等问题,模式重而受益低,导致银行和大多数中小支付机构入局刷脸支付的意愿则整体薄弱得多。 银联高调…

金融大佬“拍了拍”你:这本书了解一下

推荐一本金融科技领域的必读书,《中国金融科技发展概览(2018-2019)》。这是我国金融科技领域的年度报告。自从2016年首次出版发行以来,已连续三年出版,广受社会各界的关注和好评。一点点小骄傲。在本书中,我…

扫码之后刷脸支付成为产业的最热赛道

中国银联在乌镇互联网大会上宣布携手中农工建交五大行、邮储银行、中信银行、华夏银行、招商银行、平安银行等60余家机构发布了智能支付产品刷脸付。银联正式入局之前,移动支付两巨头支付宝和微信支付在刷脸终端的铺设、合作网络搭建、补贴政策升级等各个层面&#…

1B.2 Gödel语言实现系统研究现状

http://www.docin.com/p-92139363.html 逻辑程序用逻辑语言来描述问题,利用归结方法来求得问题的答案。可以把逻辑程序非形式化地概括为:AlgorithmLogicControl。其中,逻辑部分由程序员在程序中规定,而控制部分(推理…

刷脸支付的初衷所在是科技让生活更简单

刷脸支付集刷脸、支付宝微信扫码支付、信用卡、百度钱包多种支付方式为一体,满足用户各种支付需求。刷脸支付更是十分贴心的,能理解并满足现在年轻人的多样化需求。有些年轻的女孩子,在素面朝天的时候不愿使用刷脸支付,因为不想让…

1D.4 编译器架构LLVM

http://www.oschina.net/p/llvm LLVM从本质上来说,它不是一个编译器.它是一个编译器的架构.通俗的来说,它实现了一个库,在这个库上,可以很容易的实现不同的编译相关的程序,当然,编译器自然是其中最重要的一个. 当然其他像编译时间的代码分析也是很容易实现的。 LLVM定义了一个…