- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Prolog实验报告科技学院
华北电力大学科技学院
实 验 报 告
|
|
实验名称 PROLOG语言编程练习及图搜索问题求解
课程名称 人工智能及应用
|
|
专业班级: 软件09k2 学生姓名:彭奇
学 号: 091909020221 成 绩:
指导教师: 刘 丽 实验日期:2012-5
(实验报告如打印,纸张用A4,左装订;页边距:上下2.5cm,左2.9cm, 右2.1cm;字体
验证性、综合性实验报告应含的主要内容:
一、实验目的及要求
二、所用仪器、设备
三、实验原理
四、实验方法与步骤
五、实验结果与数据处理
六、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法或改进意见)
七、所附实验输出的结果或数据
设计性实验报告应含的主要内容:
一、设计要求
二、选择的方案
三、所用仪器、设备
四、实验方法与步骤
五、实验结果与数据处理
六、结论(依据“设计要求”)
七、所附实验输出的结果或数据
华 北 电 力 大 学 科 技 学 院 实 验 报 告
第 页 共 页
一、实验目的及要求
熟悉PROLOG的运行环境,进行prolog的基本编程练习。
了解PROLOG语言中常量、变量的表示方法。PROLOG的简单程序结构,掌握分析问题、询问解释技巧;进行事实库、规则库的编写,并在此基础上进行简单的询问。
具体实验课上相关内容,练习例1到例6的内容。
图搜索问题求解。
任选以下实际应用题目:爱因斯坦的超级问题、字谜问题、汉诺塔问题、八数码问题、八皇后问题、过河问题等,选两个。
要求实验报告中包括:程序及其注释和说明、console表单中的程序运行结果。
二、所用仪器、设备
PC机和trinc prolog编译软件
三、实验原理
PROLOG语言是一种以逻辑推理为基础的逻辑型程序设计语言,是一种陈述性语言而不是过程性语言。PROLOG语言能够自动实现模式匹配和回溯、具备递归技术,而且语法简明,可以简化复杂问题求解。
四、实验方法与步骤
五、求解的问题与程序
1汉诺塔问题
如图,目的是把左边的所有盘子移到右边的杆子上。一次只能移动一个盘子,你可以使用中间的杆子作为临时存放盘子的地方。小盘子必须放在大盘子之上
2 传教士野人问题
有三个牧师和三个野人过河,只有一条能装下两个人的船,在河的任何一方或者船上,如果野人的人数大于牧师的人数,那么牧师就会有危险。你能不能找出一种安全的渡河方法呢?
六、讨论与结论
1 对于汉诺塔问题的分析:
如果要移动N个盘子,就要分三步走:
把N-1个盘子移动到中间的杆子上(把中间的杆子作为临时存放盘子的位置)
把最后一个盘子直接移到右边的杆子上
最后把中间杆子上的盘子移到右边的杆子上(把左边的杆子作为临时存放盘子的位置)
所用到的prolog程序:
hanoi(N):-move(N,left,middle,right).
move(1,A,_,C):-inform(A,C),!.
move(N,A,B,C):-N1 is N-1, move(N1,A,C,B),inform(A,C),move(N1,B,A,C).
inform(Loc1, Loc2):-nl,
write(Move a disk from -Loc1- to -Loc2).
对该程序的分析
主程序为hanoi/1,它的参数为盘子的数目。它调用递归谓词move来完成任务。三个杆子的名字分别为left、middle、right
第一个move/4子句是边界情况,即只有一个盘子时,直接调用inform/2显示移动盘子的方法。后面使用cut,是因为:如果只有一个盘子,就是边界条件,无需再对第二条子句进行匹配了
第二个move/4子句为递归调用,首先把盘子数目减少一个,再递归调用move/4,把N-1个盘子从A杆通过C杆移到B杆,再把A杆上的最后一个盘子直接从A杆移到C杆上,最后再递归调用move/4,把B杆上的N-1个盘子通过A杆移到C杆上
inform/2,把移动过程通过write/1谓词写出,由于write/1只能有一个参数,所以使用“-”操作符相连
?-hanoi(3).
2传教士野人过河问题
我们用下面的复合结构来表达问题的某个状态。
((左岸牧师数,左岸野人数),(右岸牧师数,右岸野人数),船的位置)
上面的结构中,船的位置为0表示船在左岸,为1表示在右岸。一开始,所有的人都在左岸。所以初始状态如下:
((3,3),(0,0),0)
而我们
您可能关注的文档
- MT4编写 Mt4Ea制作速成班战场策略.doc
- MTP中高层管理干部管理能力提升训练营刘成熙老师.doc
- MTV合成机研究与研发.doc
- MWD10微机控制电子拉力试验机.doc
- MWW10微机控制人造板万能试验机.doc
- MWW10数显人造板万能试验机.doc
- MYSQL数据表损坏的分析.doc
- NBVKQRPR080样板施工及样品制作审批流程表.doc
- New 塑料肥皂盒注塑模具设计毕业论文.doc
- NHR1100系列简易型单回路数字显示控制仪通信协议.doc
- springbooot+vue基于java的房屋维修系统毕业论文.doc
- 中国消防救援学院《单片机系统实验》2023-2024学年第一学期期末试卷.doc
- 2025年溧阳纺织化学品项目申请.pptx
- 景区门票包销合同模板(3篇).docx
- 【股票技术指标学习指南】第七章第三节货币需要量的测算.doc
- 2025春 _ 人教版七年级英语下册【unit4】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit5】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit6】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit7】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit8】看音标写单词.doc
最近下载
- 《边坡与结构体雷达监测技术要求》.pdf VIP
- 一元一次方程应用题100道 .pdf VIP
- kebf5变频器伺服使用使用说明书f5m.doc
- 2025湖北恩施州利川市选调市外教师60人笔试参考题库附答案解析.docx VIP
- 2025湖北恩施州利川市选调市外教师60人笔试模拟试题及答案解析.docx VIP
- 服务标响应速度方案.docx VIP
- 2025湖北恩施州利川市选调市外教师60人笔试备考题库及答案解析.docx VIP
- 2025湖北恩施州利川市选调市外教师60人备考试题及答案解析.docx VIP
- 砌筑井抹灰工程方案(3篇).docx VIP
- 2019通信中级传输与接入(有线)宝典.pdf VIP
文档评论(0)