人工智能实验报告

上传人:pu****.1 文档编号:558580149 上传时间:2023-09-30 格式:DOC 页数:11 大小:298.50KB
返回 下载 相关 举报
人工智能实验报告_第1页
第1页 / 共11页
人工智能实验报告_第2页
第2页 / 共11页
人工智能实验报告_第3页
第3页 / 共11页
人工智能实验报告_第4页
第4页 / 共11页
人工智能实验报告_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《人工智能实验报告》由会员分享,可在线阅读,更多相关《人工智能实验报告(11页珍藏版)》请在金锄头文库上搜索。

1、华北电力大学科技学院实 验 报 告 实验名称 PROLOG语言编程练习及图搜索问题求解 课程名称 人工智能及应用 专业班级:软件12K2 学生姓名: 学 号: 成 绩:指导教师:刘丽 实验日期:2015.5 整理为word格式一、 实验目的及要求实验目的:1. 熟悉PROLOG的运行环境,进行PROLOG的基本编程练习。了解PROLOG语言中常量、变量的表示方法。PROLOG的简单程序结构,掌握分析问题、询问解释技巧;进行事实库、规则库的编写,并在此基础上进行简单的询问。具体实验课上相关内容,练习example1到example6的内容。2. 图搜索问题求解。实验要求:1. 爱因斯坦的超级问题

2、有五个房子,每个房子的颜色不同,里面分别住着不同国家的人,每个人都有自己养的不同的宠物,喜欢喝不同的饮料,抽不同牌子的烟。现在已知以下的一些信息:a) 英国人(englishman)住在红色(red)的房子里b) 西班牙人(spaniard)养了一条狗(dog)c) 挪威人(norwegian)住在左边的第一个房子里d) 黄房子(yellow)里的人喜欢抽kools牌的香烟e) 抽chesterfields牌香烟的人与养狐狸(fox)的人是邻居f) 挪威人(norwegian)住在蓝色(blue)的房子旁边 g) 抽winston牌香烟的人养了一只蜗牛(Snails)h) 抽Lucky Str

3、ike牌香烟的人喜欢喝桔子汁(orange juice)i) 乌克兰人(ukrainian)喜欢喝茶(tea)j) 日本人(japanese)抽parliaments牌的烟k) 抽kools牌的香烟的人与养马(horse)的人是邻居 l) 喜欢喝咖啡(coffee)的人住在绿(green)房子里 m) 绿(green)房子在象牙白(ivory)房子的右边(图中的右边)n) 中间那个房子里的人喜欢喝牛奶(milk)o) 根据以上条件,你能告诉我哪个房子里的人养斑马(zebra),哪个房子里的人喜欢喝水(water)吗?或者你能把所有的东西都对号入座吗?2. 传教士与野人问题传教士和食人者问题(T

4、he Missionaries and Cannibals Problem)。在河的左岸有3个传教士、1条船和3个食人者,传教士们想用这条船将所有的成员运过河去,但是受到以下条件的限制:(1)传教士和食人者都会划船,但船一次最多只能装运两个;(2)在任何岸边食人者数目都不得超过传教士,否则传教士就会遭遇危险:被食人者攻击甚至被吃掉。此外,假定食人者会服从任何一种过河安排,试规划出一个确保全部成员安全过河的计划。二、所用仪器、设备PC机和trinc prolog编译软件整理为word格式三、实验原理PROLOG语言是一种以逻辑推理为基础的逻辑型程序设计语言,是一种陈述性语言而不是过程性语言。PR

5、OLOG语言能够自动实现模式匹配和回溯、具备递归技术,而且语法简明,可以简化复杂问题求解。四、实验方法与步骤1. 打开trinc prolog编译软件2. 新建文本并(FlieNewText Edit)3. 根据实验要求在新建的文本中输入程序代码4. 保存(Save)并编译(Compile)整理为word格式5. 在trinc prolog下输入问题显示(Prove)实验要求的结果五、求解的问题与程序1. 爱因斯坦的超级问题代码:member(X,X|Tail).member(X,Head|Tail):-member(X,Tail). %X是表Tail的成员%定义房间各种属性的谓词color(

6、h(C,N,P,Y,D),C). %h(C,N,P,Y,D)的color是Cnation(h(C,N,P,Y,D),N). %h(C,N,P,Y,D)的nation是Npet(h(C,N,P,Y,D),P). %h(C,N,P,Y,D)的pet是Pyan(h(C,N,P,Y,D),Y). %h(C,N,P,Y,D)的yan是Ydrink(h(C,N,P,Y,D),D). %h(C,N,P,Y,D)的drink的是D %定义邻居关系的谓词nextnext(A,B,A,B,C,D,E). next(B,A,A,B,C,D,E). %A和B在表中是相邻关系 next(B,C,A,B,C,D,E).

7、next(C,B,A,B,C,D,E). %B和C在表中是相邻关系next(C,D,A,B,C,D,E). next(D,C,A,B,C,D,E). %C和D在表中是相邻关系next(D,E,A,B,C,D,E). next(E,D,A,B,C,D,E). %D和E在表中是相邻关系整理为word格式%定义房子位置的谓词middle(X,_,_,X,_,_). %X在表中的中间位置first(A,A|X). %A是表X的表头%定义房子右边的关系谓词rightright(A,B,A,B,C,D,E). %表中B在A的右边right(B,C,A,B,C,D,E). %表中C在B的右边right(C,

8、D,A,B,C,D,E). %表中D在C的右边right(D,E,A,B,C,D,E). %表中E在D的右边solve(X,TT,TTT):-%把X绑定为房间列表,此时的房间的属性还不能确定,所以都使用变量代表。X=h(C1,N1,P1,Y1,D1),h(C2,N2,P2,Y2,D2),h(C3,N3,P3,Y3,D3),h(C4,N4,P4,Y4,D4),h(C5,N5,P5,Y5,D5),%英国人(englishman)住在红色(red)的房子里。member(Z1,X), %从X列表中选择一个房间Z1color(Z1,red), %Z1的颜色是rednation(Z1,englishma

9、n), %Z1里住的人是englishman%西班牙人(spaniard)养了一条狗(dog)。member(Z2,X), %从X列表中选择一个房间Z2pet(Z2,dog), %Z2里养的宠物是dognation(Z2,spaniard), %Z2里住的人是spaniard%挪威人(norwegian)住在左边的第一个房子里。first(Z3,X), %X列表中第一个房间Z3nation(Z3,norwegian), %Z3里住的人是norwegian%黄房子(yellow)里的人喜欢抽kools牌的香烟。member(Z4,X), %从X列表中选择一个房间Z4yan(Z4,kools),

10、%Z4里抽的烟是koolscolor(Z4,yellow), %Z4的颜色是yellow%抽chesterfields牌香烟的人与养狐狸(fox)的人是邻居。member(Z5,X), %从X列表中选择一个房间Z5pet(Z5,fox), %Z5里养的宠物是foxnext(Z6,Z5,X), %Z5的邻居是Z6yan(Z6,chesterfields), %Z6里抽的烟是chesterfields整理为word格式%挪威人(norwegian)住在蓝色(blue)的房子旁边。member(Z7,X), %从X列表中选择一个房间Z7color(Z7,blue), %Z7的颜色是bluenext(

11、Z8,Z7,X), %Z7的邻居是Z8nation(Z8,norwegian), %Z8里住的人是norwegian%抽winston牌香烟的人养了一只蜗牛(Snails)。member(Z9,X), %从X列表中选择一个房间Z9yan(Z9,winston), %Z9里抽的烟是winstonpet(Z9,snails), %Z9里养的宠物是snails%抽Lucky Strike牌香烟的人喜欢喝桔子汁(orange juice)。member(Z10,X), %从X列表中选择一个房间Z10drink(Z10,orange juice), %Z10里喝的饮料是orange juiceyan(Z10,Lucky Strike), %Z10里抽的烟是Lucky Strike%乌克兰人(ukrainian)喜欢喝茶(tea)。member(Z11,X), %从X列表中选择一个房间Z11nation(Z11,ukrainian), %Z11里住的人是ukrainiandrink(Z11,tea), %Z11里喝的饮料是tea%日本人(japanese)抽parliaments牌的烟。member(Z12,X), %从X列表中选择一个房间Z12nation(Z12,japanese), %

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

当前位置:首页 > 高等教育 > 研究生课件

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