逻辑程序设计语言范型(逻辑程序设计理论基础).ppt
《逻辑程序设计语言范型(逻辑程序设计理论基础).ppt》由会员分享,可在线阅读,更多相关《逻辑程序设计语言范型(逻辑程序设计理论基础).ppt(52页珍藏版)》请在三一办公上搜索。
1、,2023年10月19日星期四,程序设计语言范型Programming Languages Paradigms,教师:张荣华 华北电力大学计算机系软件教研室(保定),逻辑程序设计语言范型,逻辑程序设计理论基础,第三部分,第六章,逻辑程序设计理论基础,第六章-3,内容,1.逻辑程序设计概述2.知识的表示2.1 谓词演算2.2 基于谓词演算的知识表示2.3 谓词演算推理规则3.知识的利用3.1 搜索3.2 推理3.2.1 置换与合一3.2.2 自然演绎推理3.2.3 归结演绎推理3.2.4 子句集化简,逻辑程序设计理论基础,第六章-4,1.逻辑程序设计概述,逻辑程序设计逻辑程序设计支持说明性程序设
2、计范型根据问题的高层描述来构建程序告诉计算机“什么是真的”和“需要做什么”,而不是“怎样做”。程序员把精力放在问题(封闭的问题世界)的描述上,而不是写一些诸如“下一步做什么”之类的底层算法指令。Prolog是目前唯一广泛使用的逻辑程序设计语言Prolog(Programming in Logic)20世纪70年代初、法国马赛大学主要应用于人工智能(人类智能活动的模拟)领域相关问题的求解。易于表达人的逻辑思维,逻辑程序设计理论基础,第六章-5,1.逻辑程序设计概述,【例1】:水平线与垂直线问题。使用两个谓词:vertical/2 和 horizontal/2,vertical(line(poin
3、t(X,Y),point(X,Z).horizontal(line(point(X,Y),point(Z,Y).,vertical(line(point(1,1),point(1,3).yes,事实,查询/目标,horizontal(line(point(1,1),point(2,Y).Y=1;no,horizontal(line(point(2,3),P).P=point(_G434,3);no,逻辑程序设计理论基础,第六章-6,1.逻辑程序设计概述,【例2】求解以下六个英语单词的纵横字谜问题。abalone,abandon,anagram,connect,elegant,enhance,事
4、实,规则,逻辑程序设计理论基础,第六章-7,1.逻辑程序设计概述,a,a,b,l,o,n,e,a,n,a,g,r,a,m,o,c,n,n,e,c,t,a,a,d,n,e,e,e,a,t,h,n,e,a,a,d,n,b,o,n,l,e,e,a,t,n,g,n,e,h,n,e,c,a,a,a,o,e,a,a,r,m,c,n,e,t,查询/目标,逻辑程序设计理论基础,第六章-8,内容,1.逻辑程序设计概述2.知识的表示2.1 谓词演算2.2 基于谓词演算的知识表示2.3 谓词演算推理规则3.知识的利用3.1 搜索3.2 推理3.2.1 置换与合一3.2.2 自然演绎推理3.2.3 归结演绎推理3.2
5、.4 子句集化简,逻辑程序设计理论基础,第六章-9,2.知识的表示,知识阈值理论知识是一切智能行为的基础智能取决于知识的数量及其可运用的程度。要使计算机具有智能,就必须使它具有知识。知识表示方法(知识表示语言)谓词演算(一阶谓词逻辑表示法)产生式表示法语义网络表示法框架表示法脚本表示法面向对象表示法 等等,逻辑程序设计理论基础,第六章-10,2.知识的表示,选择知识表示方法的重要性,【例】缺角棋盘问题,逻辑程序设计理论基础,第六章-11,内容,1.逻辑程序设计概述2.知识的表示2.1 谓词演算2.2 基于谓词演算的知识表示2.3 谓词演算推理规则3.知识的利用3.1 搜索3.2 推理3.2.1
6、 置换与合一3.2.2 自然演绎推理3.2.3 归结演绎推理3.2.4 子句集化简,逻辑程序设计理论基础,第六章-12,2.1 谓词演算,这里讨论的谓词演算 一阶谓词演算(first-order predicate calculus)全称量化变量和存在量化变量仅可以指向论域中的对象,而不允许指向谓词和函数。这样的谓词演算语言称为一阶谓词演算。二值逻辑不讨论其它逻辑形态多值逻辑、多维逻辑、缺省逻辑、动态逻辑,逻辑程序设计理论基础,第六章-13,2.1 谓词演算,【例】用谓词表示命题P:星期二下了雨。谓词表示:weather(tuesday,rain)允许使用变量建立关于实体类的通用断言 weat
7、her(X,rain)谓词演算符号(项)(以Prolog语言为例)由以下三部分组成:英文字母,包括大写和小写。数字0,19。下划线_。以字母开始,后面可以跟这些合法字符的任意序列。,逻辑程序设计理论基础,第六章-14,2.1 谓词演算,谓词演算符号(项)(以Prolog语言为例)真值符号:true和false(保留符号)变量符号:以大写字母开始的符号表达式。常量符号:以小写字母开始的符号表达式。函数符号:以小写字母开始的符号表达式。谓词符号:以小写字母开始的符号表达式。例如:likes(george,kate)%likes/2likes(george,sarah,tuesday)%likes/
8、3likes(X,kate)friends(father_of(david),father_of(kate)),逻辑程序设计理论基础,第六章-15,内容,1.逻辑程序设计概述2.知识的表示2.1 谓词演算2.2 基于谓词演算的知识表示2.3 谓词演算推理规则3.知识的利用3.1 搜索3.2 推理3.2.1 置换与合一3.2.2 自然演绎推理3.2.3 归结演绎推理3.2.4 子句集化简,逻辑程序设计理论基础,第六章-16,2.2 基于谓词演算的知识表示,【例1】事实性知识:friends(father_of(david),father_of(kate))【例2】规则性知识:“所有的教师都有自己
9、的学生”根据所表示的知识定义谓词teacher(X):表示X是教师student(Y):表示Y是学生teach(X,Y):表示X是Y的老师 用2个量词和5个连接词把这些谓词连结成语句,逻辑程序设计理论基础,第六章-17,2.2 基于谓词演算的知识表示,【例3】机器人移盒子问题设在一房间里,C处有一个机器人,A和B处各有一张桌子,分别称为A桌和B桌,A桌子上有一盒子,如下图所示。要求机器人从C处出发把盒子从A桌上拿到B桌上,然后再回到C处。请用谓词逻辑来描述机器人的行动过程。,使用规则!,逻辑程序设计理论基础,第六章-19,谓词逻辑表示的应用,GOTO(x,y),C/x,A/y,Start,PI
10、CKUP(x),A/x,GOTO(x,y),A/x,B/y,SETDOWN(x),B/x,GOTO(x,y),B/x,C/y,逻辑程序设计理论基础,第六章-20,内容,1.逻辑程序设计概述2.知识的表示2.1 谓词演算2.2 基于谓词演算的知识表示2.3 谓词演算推理规则3.知识的利用3.1 搜索3.2 推理3.2.1 置换与合一3.2.2 自然演绎推理3.2.3 归结演绎推理3.2.4 子句集化简,逻辑程序设计理论基础,第六章-21,2.3 谓词演算推理规则,谓词公式的永真蕴含性对谓词公式 P和Q,如果 PQ永真,则称P永真蕴含 Q,且称Q为P的逻辑结论,P为Q的前提,记作P=Q。化简式(与
11、消除):PQ=P 和 PQ=Q附加式:P=PQ 和 Q=PQ析取三段论:P,P V Q=Q取式假言推理:P,PQ=Q拒式假言推理:Q,P Q=P假言三段论:P Q,Q R=P R 二难推理:P Q,P R,Q R=R全称固化:(x)P(x)=P(a)存在固化:(x)P(x)=P(a),逻辑程序设计理论基础,第六章-22,内容,1.逻辑程序设计概述2.知识的表示3.知识的利用3.1 搜索3.2 推理3.2.1 置换与合一3.2.2 自然演绎推理3.2.3 归结演绎推理3.2.4 子句集化简,逻辑程序设计理论基础,第六章-23,3.知识的利用,知识的利用:基于对某个封闭世界已表示的知识的处理,以求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 逻辑 程序设计语言 程序设计 理论基础

链接地址:https://www.31ppt.com/p-6352109.html