prolog实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华北电力大学
实验报告
|
|
实验名称PROLOG语言编程练习及图搜索问题求解
课程名称人工智能及应用
专业班级:学生姓名:
学号:成绩:
指导教师:实验日期:2014年5月
(实验报告如打印,纸张用A4,左装订;页边距:上下2.5cm,左2.9cm, 右2.1cm;字体:宋体小四号,1.25倍行距。
)
验证性、综合性实验报告应含的主要内容:
一、实验目的及要求
二、所用仪器、设备
三、实验原理
四、实验方法与步骤
五、实验结果与数据处理
六、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法或改进意见)
七、所附实验输出的结果或数据
设计性实验报告应含的主要内容:
一、设计要求
二、选择的方案
三、所用仪器、设备
四、实验方法与步骤
五、实验结果与数据处理
六、结论(依据“设计要求”)
七、所附实验输出的结果或数据
reverse_writelist([H|T]):-reverse_writelist(T),write(H),nl.
empty_stack([]).
stack(Top,Stack,[Top|Stack]).
reverse_print_stack(Stack):-empty_stack(Stack).
reverse_print_stack(Stack):-stack(E,Rest,Stack),reverse_print_stack(Rest),write(E),nl.
member(X,[X|T]).
member(X,[_|T]):-member(X,T).
member_stack(Element,Stack):-member(Element,Stack).
go(Start,Goal):-empty_stack(Empty_been_stack),stack(Start, Empty_been_stack, Been_stack),path(Start, Goal, Been_stack).
test:-go(state(w,w,w,w), state(e,e,e,e)).
六、讨论与结论
Prlolg的求解过程就是一个不断通过规则进行匹配,最后匹配到事实后回溯得出解的过程。
本次实验通过求解险洞探险问题与农夫过河问题,加深了一些对人工智能这门课的理解。
实验很成功地完成,收获很大。
七、所附实验输出的结果或数据
1.险洞探险问题:
2.农夫过河问题:
八、实验问题解答
查询有哪些端口?
一开始使用Call端口进入目标,如果匹配成功就到了exit端口,如果失败就到了fail端口,如果用户输入回车,则又从redo端口进入目标每个端口的功能如下:
call 开始使用目标搜寻子句;
exit 目标匹配成功,在成功的子句上作记号,并绑定变量;
redo 试图重新满足目标,首先释放变量,并从上次的记号开始搜索;fail 表示再找不到更多的满足目标的子句了。