prolog实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华北电力大学
实验报告
|
|
实验名称 PROLOG语言练习与编程上机实验
课程名称人工智能及应用
|
|
专业班级:软件0801 学生姓名:钟鑫
学号:************ 成绩:
指导教师:朱永利实验日期:第5、6周
(实验报告如打印,纸张用A4,左装订;页边距:上下2.5cm,左2.9cm, 右2.1cm;字体:宋体小四号,1.25倍行距。)
验证性、综合性实验报告应含的主要内容:
一、实验目的及要求
二、所用仪器、设备
三、实验原理
四、实验方法与步骤
五、实验结果与数据处理
六、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法或改进意见)
七、所附实验输出的结果或数据
设计性实验报告应含的主要内容:
一、设计要求
二、选择的方案
三、所用仪器、设备
四、实验方法与步骤
五、实验结果与数据处理
六、结论(依据“设计要求”)
七、所附实验输出的结果或数据
* 封面左侧印痕处装订
write_List([H1,H2|T]):-write_move(H1,H2),write_List([H2|T]).
过河的过程,先找到一种过河的情况,后判断末状态是否安全,并且末状态是以前没有出现过的状态。
move(location(F0,W0,S0,C0),location(F,W,S,C),Temp_L,List):-
boat(location(F0,W0,S0,C0),location(F1,W1,S1,C1)),
safe(F1,W1,S1,C1),
not(member(location(F1,W1,S1,C1),Temp_L)),
move(location(F1,W1,S1,C1),location(F,W,S,C),[location(F1,W1,S1,C1)|Temp_L],List).
move(location(F,W,S,C),location(F,W,S,C),L,L).
简化问题的输入,将过河问题拆成两部分,前部分求解状态,后部分作输出:
fun(location(F0,W0,S0,C0),location(F,W,S,C)):-
move(location(F0,W0,S0,C0),location(F,W,S,C),[location(F0,W0,S0,C0)],L),
write_List(L).
六、讨论与结论(对prolog的求解过程、实验验证情况、实验中出现的问题和程序调试与运行情况等进行分析和讨论,提出对实验的进一步想法或改进意见)
Prlolg的求解过程就是一个不断通过规则进行匹配,最后匹配到事实后回溯得出解的过程。
本次实验通过求解梵塔问题与摆渡问题,加深了一些对人工智能这门课的理解。实验很成功地完成,收获很大。
七、所附实验输出的结果或数据
运行结果
1.梵塔问题:
输入如下数据:
运行结果如下图所示:
2.摆渡问题:
输入如下数据:
运行结果如下图所示: