- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章
第 PAGE 17页
第12章 逻辑式程序设计语言
无论是命令式还是函数式程序都把程序看作是从输入到输出的某种映射。当然命令式语言有时没有数据输出,但也要“输出”某些动作。为了实现这种映射,程序要对数据结构实施某个算法过程,算法实现该程序功能。算法又是以程序语言提供的控制机制实现计算逻辑。所以,R.Kowalski说:
算法 = 逻辑 + 控制
然而传统语言计算逻辑在程序员心里,隐式地体现在程序正文之中,为此程序正确性证明还要把它隐含的逻辑以断言形式地写出来 。
自然人们会想到能不能把描述计算的理论基础命题演算和谓词演算直接变为程序设计语言。这样,也许不必用求值来判定某件事情的真、伪,直接根据事实和规则判定真伪,“找出”解。事实上,这是可行的,而且在人工智能的专家系统、语言理解、数据库查询中非常需要这种程序设计语言。1970年诞生的Prolog长久不衰就是例证。
逻辑程序设计的基本观点是程序描述的是数据对象之间的关系,它的抽象层次更高而不限于函数(映射)关系。关系也是联系,对象和对象、对象和属性的联系就是我们所说的事实。事实之间的关系以规则表述,根据规则找出合乎逻辑的事实就是推理。因此,逻辑程序设计范型是陈述事实,制定规则,程序设计就是构造证明。程序的执行就在推理,和传统程序设计范型有较大的差异。
本章我们从逻辑程序设计理论基础,谓词演算导出逻辑程序语言的理论模型,并介绍逻辑程序设计语言Prolog的主要特征和实现要点。
12.1 谓词演算
谓词演算是符号化事实的形式逻辑系统,它也是逻辑程序设计语言的模型,谓词演算在所有计算机理论的书籍中均有论述,本章仅简单复习,主要目的是引入术语。
12.1.1 谓词演算诸元素
用形式方法研究论域上的对象需要一种语言,它能表达该域对象具有什么性质(properties),以及对象间有些什么关系(relations)。为了一般化还要有变量(variable)指明域上某个(些)对象,以及准确说明对象情况的量词(quantifiers)。当然这个语言还需要一些辅助的符号(继承自初等集合论)。描述以公式(Formulas)表达,即描述一般命题的谓词。谓词公式中各元素按一定逻辑规则变换即谓词演算(predicate calculus)。以下是谓词公式的示例:
?Xp(X)—存在具有性质p的对象X。
?Yp(Y)—所有的Y,即域上任何对象,均具有性质p。
?X?Y(X=2*Y)—对于所有的X都可以找到Y,其值为X的一半,其中的逻辑连接”=”是中缀表示。等效于=(X,2*Y)。
谓词公式各元素符号表示法在各教程中不尽相同,谓词演算的表示由以下元素组成:
(1)公式 由一组约定的符号组成的序列,它包括常量(指明域上的某个对象)、变量(域上任意对象)、逻辑连接(指明对象状态及对象间的关系,有数量上的、=、=、、=、/=和逻辑上的∨、∧、 、→、=)、命题函数(指明对象间的函数性质),谓词(对象间约定的关系),量词(逻辑连接的一种,指明对象状态)。一阶谓词演算系统中公式里不得嵌套谓词。
(2)常量 指明论域(universe of discourse)上的对象,也是数学对象。通常一个逻辑系统要引入多个论域,一般有十进制整数域、真值域、字符域,可用不同的符号表达有区别的域。常量可以看作是退化了的函数(没有变元)。常量以字面量或小写字母表示。
(3)变量 可束定到特定域上某个范围的对象上,在演算(归约)期间它可以例化为具体对象(常量对象),变量是数学意义的,一旦束定整个演算期间不变,变量以大写字母表示。
(4)函数 表征对象具有的映射关系,函数带参数,从变元域映射到结果值域(可以是不同的域)。变元一般是常量、变量、函数结果值、变元在语法上都叫项(term)。函数以小写标识符表示。
(5)谓词 表征对象某种性质的符号,谓词带上一到多个变元(对象)即为断言(assertion)。它断言这些对象具有谓词所指性质,谓词形如函数,当该变元确实具有所指性质时隐含真值,否则为假。
当谓词应用到的变元是常量或已被束定的变量上时,就叫做句子
您可能关注的文档
- 劳动与社会保障法专题讲座.ppt
- 期末考试试卷(大型数据库B).doc
- 行为经济学使董志勇一夜成名.doc
- 交换机及路由器基本配置.ppt
- 论如何让幼儿在民间游戏中成长.doc
- 企业指标综合表.doc
- 人力资源管理外包.doc
- 工程施工组织及售后服务方案.doc
- 关于如何正确对待老实人干部的几点浅见.doc
- 浅论╲〞以学生发展为本╲〞基本理念在历史教学中的运用.doc
- 2025年无人机低空医疗物资投放社会效益报告.docx
- 2025年再生塑料行业包装回收利用产业链重构研究.docx
- 《AI眼镜周边产品市场机遇:2025年终端销售与需求增长洞察》.docx
- 2025年坚果加工行业深加工技术突破与市场拓展策略报告.docx
- 2025年通信芯片行业技术竞争与未来趋势报告.docx
- 《2025年生鲜电商配送冷链事故分析与预防措施》.docx
- 《商业航天融资新趋势2025民营卫星企业资本涌入估值分析市场动态》.docx
- 2025年能源绿色健康行业创新技术与市场应用报告.docx
- 2025年无人机低空医疗救援通信方案分析报告.docx
- 2025年烹饪机器人行业市场集中度分析报告.docx
原创力文档


文档评论(0)