实验二:使用Prolog的一阶逻辑推理实验
更新时间:2023-12-31 09:41:01 阅读量: 教育文库 文档下载
- prolog语言元素实验推荐度:
- 相关推荐
实验二:使用Prolog的一阶逻辑推理实验
班级;智能1401 姓名:蒙寿伟 学号:201408070120
一.实验目的
1.学会使用Prolog语言;
2.用Prolog语言巩固一阶逻辑知识;
3.能够使用prolog语言实现一阶逻辑的证明;
二、实验的硬件、软件平台
硬件:计算机
软件:操作系统:WINDOWS 10 应用软件:Prolog
三、实验内容及步骤
熟悉prolog语言的使用并实现对于一阶逻辑推理的证明 实验步骤:
1:对于a,b,c,d四种输入情况,验证|?- p(a).的真假;
a. p(b). p(a) :- p(b). p(a) :- p(c)
推理分析:
事实:p(b)为真.
推理:由p(b)为真可以推出p(a)为真,由p(c)为真可以推出p(a)为真. p(a)为真. 运行结果:
1
结论:b. p(c). p(a) :- p(b). p(a) :- p(c).
推理分析: 事实:p(c)为真.
推理:由p(b)为真可以推出p(a)为真,由p(c)为真可以推出p(a)为真. 结论:p(a)为真. 运行结果:
c. p(b). p(a) :- p(b) ,p(c).
推理分析: 事实:p(b)为真.
推理:由p(b)为真且p(c)为真可以推出p(a)为真. 结论:p(a)为假.因为p(b)未知.
d. p(c). p(a):- p(b) ; p(c).
推理分析: 事实:p(b)为真.
推理:由p(b)为真或p(c)为真可以推出p(a)为真. 结论:p(a)为真.
2. 验证
?-friend(john,Y). likes(bell,sports). likes(mary,music).
2
likes(mary,sports). likes(jane ,smith).
friend(john,X):-likes(X,reading),likes(X,music). friend(john,X):-likes(X,sports),likes(X,music). 推理分析:
1.如果X喜欢音乐,而且喜欢阅读,那么X是john的朋友。 2.如果X喜欢音乐,而且喜欢运动,那么X是john的朋友。 相关事实:mary喜欢音乐也喜欢运动。 结论:mary是john的朋友。 运行结果:
3. 验证
likes(bill,X)
likes(ellen,tennis). likes(john,football). likes(tom,baseball). likes(eric,swimming). likes(mark,tennis).
likes(bill,X) if likes(tom,X). 推理分析:
如果tom喜欢X,则bill喜欢X。相关事实:tom喜欢baseball 结论:bill喜欢baseball 运行结果:
4.构建与,或,非,异或表达,并验证。 代码:
and(X,Y) :- X,Y. or(X,Y) :- X;Y. no(X) :- not(X). xor(X,Y) :- X\\==Y.
推理分析: 推理:X,Y都为真时and(X,Y)为真。 X,Y有一个为真时or(X,Y)为真。X为真时no(X)为真。 X不等于Y时,异或xor(X,Y)
3
为真。
运行结果:
5.已知兄弟sib(X, Y)的定义如下
sib(X, Y):- p(Z, X), p(Z, Y), X \\== Y. 5.1:定义堂兄弟co(X, Y);
5.2; 定义二代堂兄弟sco(X, Y),X,Y的父母是堂兄弟。 并做验证。 代码: p(ye,ba). p(ye,bo). p(ba,wo). p(bo,tg). p(wo,tom). p(tg,jerry). sib(X,Y) :- p(Z,X),p(Z,Y), X\\==Y.
co(X,Y) :- sib(A,B),p(A,X),p(B,Y),A\\==B,X\\==Y. sco(X,Y) :- co(A,B),p(A,X),p(B,Y),A\\==B,X\\==Y.
推理分析:
当X不等于Y,Y且Z是和Y的父亲,则X和Y是兄弟。
当A不等于B,X不等于Y,A和B是兄弟,且A是X的父亲,B是Y的父亲,则X和Y是堂兄弟。
当A不等于B,X不等于Y,A和B是堂兄弟,且A是X的父亲,B是Y的父亲,则X和Y是二代堂兄弟。
4
相关事实:
ye是ba和bo的父亲,ba是wo的父亲,bo是tg的父亲,wo是tom的父亲,tg是jerry的父亲。 结论:
Wo和tg是堂兄弟,tom和jerry是二代堂兄弟。 运行结果:
6.自动实现搜索算法-回溯,判断JOHN是谁的朋友
TOM喜欢TALK,BILL喜欢游泳,BILL喜欢谈话;若X既喜欢TALK,有喜欢SWIM,则JOHN是X的朋友。 代码: likes(tom,talk). likes(bill,swim). likes(bill,talk).
friend(X,Y) :- likes(X,talk),likes(X,swim). 推理分析:
当X喜欢talk,且喜欢swimming,则X是Y的朋友。 相关事实:bill喜欢talk,且喜欢swimming。 结论:bill是JOHN的朋友。 运行结果:
7.谁是盗窃犯问题:某人被盗,公安局派出所派出5个侦察员去调查。研究案情时:
侦察员A说:“赵与钱中至少有一人作案”;
侦察员B说:“钱与孙中至少有一人作案”;
侦察员C说:“孙与李中至少有一人作案”;
5
侦察员D说:“赵与孙中至少有一人与此案无关”;
侦察员E说:“钱与李中至少有一人与此案无关”。
如果这5个侦察员的话都是可信的,试编程求出谁是盗窃犯,并给出Prolog.程序。 代码:
spyA(X,Y):-(X=true);(Y=true). spyB(X,Y):-(X=true);(Y=true). spyC(X,Y):-(X=true);(Y=ture). spyD(X,Y):-(X=false);(Y=false). spyE(X,Y):-(X=false);(Y=false).
find([Zhao,Qian,Sun,Li]):-spyA(Zhao,Qian),spyB(Qian,Sun),spyC(Sun,Li),spyD(Zhao,Sun),spyE(Qian,Li). 推理分析:
定义谓词:Crime(x)表示x作案。 则已知事实:
(1) Crime(Zhao) ∨ Crime(Qian) (2) Crime(Sun) ∨ Crime(Qian) (3) Crime(Sun) ∨ Crime(Li) (4) Crime(Zhao) ∨ Crime(Sun) (5) Crime(Qian) ∨ Crime(Li) 推理:
Find(Zhao) V Crime(Qian) Find(Zhao) V Crime(Sun) Find(Zhao) V Crime(Li)
归结结果,Zhao不是罪犯,按照同样的方法得: Qian 是罪犯,Sun 也是罪犯。 结果:
钱和孙作案。
四、思考题
1.在题目2中PROLOG搜索过程是怎样的,试用树的结构表示,并计算其推理步数。
6
reading sports 1 bell 2 mary 3 music 4 Mary 是 john的朋友 先搜索是否有喜欢reading的,发现没有,然后搜索是否有喜欢sports的,发现bell和mary喜欢sports,继续搜索bell是否喜欢music,发现不喜欢,继续搜索mary是否喜欢music,发现喜欢,即mary满足是john朋友的条件,由此判断mary是john的朋友。故推理步数为4步。
2.PROLOG语言和其它语言(如C语言)做逻辑推理,你更喜欢哪一个,简要说说差别。
Prolog是陈述性语言,一旦给它提交必要的事实和规则之后,Prolog就使用内部的演绎推理机制自动求解程序给定的目标,而不需要像C语言那样要在程序中列出详细的求解步骤。Prolog给人的感觉就是你提出问题,让机器自己去想怎么实现,而C语言则是你要去想怎么实现。如果从解决逻辑推理来说,我更喜欢Prolog语言。
7
正在阅读:
5KW非隔离性光伏逆变器Boost电路及基于DSP的MPPT控制05-31
会计基础题库 - 图文06-01
甲级单位编制双组分硅酮结构胶项目可行性报告(立项可研+贷款+用地+2013案例)设计方案06-10
最高院杜万华专委讲民诉法解释笔记05-09
多彩的蓝天作文450字07-03
2016全国各地中考数学分类汇编:投影与视图(含解析)04-27
记忆中的火锅作文600字06-23
单相半波可控整流电路实验报告08-24
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 实验
- 逻辑推理
- 使用
- Prolog
- 土地成本三种分摊方法
- 2017党员违反八项规定检讨书
- 2016小升初语文完全真题精选卷及答案4
- 仁爱英语九年级上册词汇全册练习题
- 安徽省情知识竞赛题库及参考答案
- 河南幼儿教师面试说课指导之说活动教材
- 东莞珍爱网-女人恋爱时肢体语言
- 兰大《管理经济学》17春平时作业2
- 随机过程课后习题
- 家具机械设备操作安全指导
- 2018电大管理学基础 形考任务4 答案
- 2017一级建造师考试《市政工程》真题及答案
- 2002年厦门市中考语文试卷(4)
- 管理学原理作业(二)
- 2016--2017学年度第二学期期中考试七年年历史试卷
- 2019年一级注册建筑师《建筑材料与构造》考点知识点总结
- 2014陕西省农村信用社转正考资料
- 浅谈乡镇行政管理体制的作用及改革
- 人教版四年级上册数学期末试卷(41)
- 四年级数学简便计算题各种类型+易错题型(共14份试题)