prolog语言编程练习与图搜索问题求解

上传人:第*** 文档编号:61701575 上传时间:2018-12-10 格式:PDF 页数:12 大小:193.15KB
返回 下载 相关 举报
prolog语言编程练习与图搜索问题求解_第1页
第1页 / 共12页
prolog语言编程练习与图搜索问题求解_第2页
第2页 / 共12页
prolog语言编程练习与图搜索问题求解_第3页
第3页 / 共12页
prolog语言编程练习与图搜索问题求解_第4页
第4页 / 共12页
prolog语言编程练习与图搜索问题求解_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《prolog语言编程练习与图搜索问题求解》由会员分享,可在线阅读,更多相关《prolog语言编程练习与图搜索问题求解(12页珍藏版)》请在金锄头文库上搜索。

1、华北电力大学科技学院 实实验验报报告告 | | 实验名称实验名称PROLOGPROLOG 语言编程练习及图搜索问题求解语言编程练习及图搜索问题求解 课程名称课程名称人工智能及应用人工智能及应用 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期: (实验报告如打印,纸张用 A4,左装订;页边距:上下 2.5cm,左 2.9cm, 右 2.1cm;字体:宋体小四号,1.25 倍行距。 ) 验证性、综合性验证性、综合性实验报告应含的主要内容:实验报告应含的主要内容: 一、实验目的及要求 二、所用仪器、设备 三、实验原理 四、实验方法与步骤 五、实验结果与数据处理 六、讨论与结论(对实验

2、现象、实验故障及处理方法、实验中存在的问 题等进行分析和讨论,对实验的进一步想法或改进意见) 七、所附实验输出的结果或数据 设计性实验报告应含的主要内容:设计性实验报告应含的主要内容: 一、设计要求 二、选择的方案 三、所用仪器、设备 四、实验方法与步骤 五、实验结果与数据处理 六、结论(依据“设计要求” ) 七、所附实验输出的结果或数据 * 封面左侧印痕处装订 华 北 电 力 大 学 科 技 学 院 实 验 报 告 第页 共页 一、实验目的及要求一、实验目的及要求 1. 熟悉 PROLOG 的运行环境,进行 prolog 的基本编程练习。 了解 PROLOG 语言中常量、变量的表示方法。PR

3、OLOG 的简单程序结构,掌握分析问 题、询问解释技巧;进行事实库、规则库的编写,并在此基础上进行简单的询问。 具体实验课上相关内容,练习例 1 到例 6 的内容。 2. 图搜索问题求解。 任选以下实际应用题目:爱因斯坦的超级问题、字谜问题、汉诺塔问题、八数码问 题、八皇后问题、过河问题等,选两个。 要求实验报告中包括:程序及其注释和说明、console 表单中的程序运行结果。 二、所用仪器、设备二、所用仪器、设备 PC 机和 trinc prolog 编译软件 三、实验原理三、实验原理 PROLOG 语言是一种以逻辑推理为基础的逻辑型程序设计语言,是一种陈述性语言而 不是过程性语言。PROL

4、OG 语言能够自动实现模式匹配和回溯、具备递归技术,而且语法 简明,可以简化复杂问题求解。 四、实验方法与步骤四、实验方法与步骤 1,先搭配实验环境:PC 机和 trinc prolog 编译软件 2,写好程序进行编译 3,用“?-”来检测程序结果 4,实验一 (1) 定义 word 规则 (2) 定义 crossword (3) 定义行列重复的设为变量 (4) 递归算法查找结果 5,实验二 (1)设计该问题的状态。例如:(左岸牧师数,左岸野人数),(右岸牧师数,右岸 野人数),船的位置)。 (2) 定义目标状态。这里是:(0,0),(3,3),1) (3)描述可能的动作。船上所能够载人的状态

5、就是可能的操作。用谓词 move 表 华 北 电 力 大 学 科 技 学 院 实 验 报 告 第页 共页 示。 (4) 判断合法状态 (5)深度优先搜索 五、求解的问题与程序五、求解的问题与程序 实验一:字谜问题实验一:字谜问题 /定义定义 wordword 规则规则 word(abalone,a,b,a,l,o,n,e). word(abandon,a,b,a,n,d,o,n). word(enhance,e,n,h,a,n,c,e). word(anagram,a,n,a,g,r,a,m). word(connect,c,o,n,n,e,c,t). word(elegant,e,l,e,g

6、,a,n,t). crosswd(V1,V2,V3,H1,H2,H3):-/定义 crosswd 规则 word(V1,_,A,_,B,_,C,_),/行与列交叉的设为变量 word(V2,_,D,_,E,_,F,_), word(V3,_,G,_,H,_,I,_), word(H1,_,A,_,D,_,G,_), word(H2,_,B,_,E,_,H,_), word(H3,_,C,_,F,_,I,_). 实验二:传教士与野人问题实验二:传教士与野人问题 /从左岸到右岸船上的人数从左岸到右岸船上的人数 move(1,0). 华 北 电 力 大 学 科 技 学 院 实 验 报 告 第页 共页

7、 move(0,1). move(0,2). move(2,0). move(1,1). /判断当前状态是否合法 legal(X,Y,_):-legal1(X), legal1(Y). legal1(X,Y):-X=:=0,Y=0,!. legal1(X,Y):-Y=:=0,X=0,!. legal1(X,Y):-X=Y,X=0,Y=0. /根据(X,Y,0),Move,求出 Statu1 update(X,Y,0),Move,Statu1):- (A,B)=X,/左岸的状态给变量 X (C,D)=Y,/右岸的状态给变量 Y (E,F)=Move,/移动的人与传教士的个数 C1 is C+E,

8、 D1 is D+F, A1 is A-E, B1 is B-F, Statu1=(A1,B1),(C1,D1),1)./求出右岸的状态 update(X,Y,1),Move,Statu1):- (A,B)=X, 华 北 电 力 大 学 科 技 学 院 实 验 报 告 第页 共页 (C,D)=Y, (E,F)=Move, C1 is C-E, D1 is D-F, A1 is A+E, B1 is B+F, Statu1=(A1,B1),(C1,D1),0)./求出左岸的状态 /调用 connect 规则,求出 Statu1,并对其进行判断是否合法 connect(Statu,Statu1):

9、- move(X,Y), update(Statu,(X,Y),Statu1), legal(Statu1). member(X,X|Tail). member(X,Head|Tail):-member(X,Tail). /深度优先算法 findroad(X,X,L,L). findroad(X,Y,L,L1):- connect(X,Z),not(member(Z,L), findroad(Z,Y,Z|L,L1). 六、讨论与结论六、讨论与结论 根据本次实验收获很大, 又了解一门新的编程语言, 与平时用的不一样, 是面向逻辑的,通过老师上课和课下的实验,又加深对其的了解。 华 北 电 力 大

10、 学 科 技 学 院 实 验 报 告 第页 共页 对字谜问题,初步了解规则与递归的使用方法;对于传教士与野人问题, 稍有难度,就是对许多小的规则一起调用的方法,最后涉及到深度优先的算 法,与老师和同学进行讨论,并一步步算出结果,加深深度优先算法,提高 了思维能力,并继续努力! 七、所附实验输出的结果或数据七、所附实验输出的结果或数据 实验一:实验一: SOLUTION:SOLUTION: L=(3,L=(3, 3),3), (0,(0, 0),0), 0),0), (2,(2, 2),2), (1,(1, 1),1), 1),1), (3,(3, 2),2), (0,(0, 1),1), 0)

11、,0), (3,(3, 0),0), (0,(0, 3),3), 1),1), (3,(3, 1),1), (0,(0, 2),2), 0),0), (1,(1, 1),1), (2,(2, 2),2), 1),1), (2,(2, 2),2), (1,(1, 1),1), 0),0), (0,(0, 2),2), (3,(3, 1),1), 1),1), (0,(0, 3),3), (3,(3, 0),0), 0),0), (0,(0, 1),1), (3,(3, 2),2), 1),1), (0,(0, 2),2), (3,(3, 1),1), 0),0), (0,(0, 0),0), (

12、3,(3, 3),3), 1),1), (0,(0, 1),1), (3,(3, 2),2), 0),0), (0,(0, 0),0), (3,(3, 3),3), 11 SOLUTION:SOLUTION: L=(3,L=(3, 3),3), (0,(0, 0),0), 0),0), (3,(3, 1),1), (0,(0, 2),2), 1),1), (3,(3, 2),2), (0,(0, 1),1), 0),0), (3,(3, 0),0), (0,(0, 3),3), 1),1), (3,(3, 1),1), (0,(0, 2),2), 0),0), (1,(1, 1),1), (2

13、,(2, 2),2), 1),1), (2,(2, 2),2), (1,(1, 1),1), 0),0), (0,(0, 2),2), (3,(3, 1),1), 1),1), (0,(0, 3),3), (3,(3, 0),0), 0),0), (0,(0, 1),1), (3,(3, 2),2), 1),1), (0,(0, 2),2), (3,(3, 1),1), 0),0), (0,(0, 0),0), (3,(3, 3),3), 1),1), (0,(0, 1),1), (3,(3, 2),2), 0),0), (0,(0, 0),0), (3,(3, 3),3), 11 SOLUT

14、ION:SOLUTION: L=(3,L=(3, 3),3), (0,(0, 0),0), 0),0), (2,(2, 2),2), (1,(1, 1),1), 1),1), (3,(3, 2),2), (0,(0, 1),1), 0),0), (3,(3, 0),0), (0,(0, 3),3), 1),1), (3,(3, 1),1), (0,(0, 2),2), 0),0), (1,(1, 1),1), (2,(2, 2),2), 1),1), 华 北 电 力 大 学 科 技 学 院 实 验 报 告 第页 共页 (2,(2, 2),2), (1,(1, 1),1), 0),0), (0,

15、(0, 2),2), (3,(3, 1),1), 1),1), (0,(0, 3),3), (3,(3, 0),0), 0),0), (0,(0, 1),1), (3,(3, 2),2), 1),1), (1,(1, 1),1), (2,(2, 2),2), 0),0), (0,(0, 0),0), (3,(3, 3),3), 1),1), (0,(0, 1),1), (3,(3, 2),2), 0),0), (0,(0, 0),0), (3,(3, 3),3), 11 SOLUTION:SOLUTION: L=(3,L=(3, 3),3), (0,(0, 0),0), 0),0), (3,(

16、3, 1),1), (0,(0, 2),2), 1),1), (3,(3, 2),2), (0,(0, 1),1), 0),0), (3,(3, 0),0), (0,(0, 3),3), 1),1), (3,(3, 1),1), (0,(0, 2),2), 0),0), (1,(1, 1),1), (2,(2, 2),2), 1),1), (2,(2, 2),2), (1,(1, 1),1), 0),0), (0,(0, 2),2), (3,(3, 1),1), 1),1), (0,(0, 3),3), (3,(3, 0),0), 0),0), (0,(0, 1),1), (3,(3, 2),2), 1),1), (1,(1, 1),1), (2,(2, 2),2), 0),0), (

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号