人工智能实验二图搜索

上传人:pu****.1 文档编号:482303429 上传时间:2023-07-10 格式:DOCX 页数:8 大小:155.18KB
返回 下载 相关 举报
人工智能实验二图搜索_第1页
第1页 / 共8页
人工智能实验二图搜索_第2页
第2页 / 共8页
人工智能实验二图搜索_第3页
第3页 / 共8页
人工智能实验二图搜索_第4页
第4页 / 共8页
人工智能实验二图搜索_第5页
第5页 / 共8页
点击查看更多>>
资源描述

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

1、 人工智能技术基本 图搜索问题求解 实验报告一、实验目的加强对图搜索技术的理解,初步掌握图搜索基本编程措施,并能运用图搜索技术解决某些应用问题。二、实验规定(1)可使用第章中的状态图搜索通用程序,这时只需编写规则集程序;也可以用PROLOG语言或其她语言另行编写。(2)程序运营时,应能在屏幕上显示程序运营成果。三、实验内容或题目实验题目:迷宫求解实验内容:运用状态图搜索措施求解下列迷宫图四、实验环节与源程序实验环节:(1) 理解题目;(2) 对状态进行编码;(3) 转换规则集;(4) 编写程序;(5) 调试运营;源程序:*状态图搜索通用程序*/DOAINSstate=syb%例如:stasyo

2、lDAABASE-mytbaseopn(sate,ngr)%用动态数据库实现EN表clsed(teg,sate,inger)%和OSED表re(tat)open1(stat,intee)m(sae,intger)mark(state)fail_PRDIASsole road(tate,state)sarch(stte,sta)rsultearhingstep4(inter,s)step6(iteger,state)eql(st,sta)epatresulting(teer)ule(ste,stae)GOAsoveASESlve:- earch(,e),rsut./*例如v:-sac(st(,1

3、,2,3,,5,6,7,8),t(0,2,8,3,4,5,6,),reu.erh(en,End):-%搜索tractll(_,mydatbase),asset(losed(0,egin,0)),asert(open(Bgi,0),%步1 将初始节点放入OEN表ase(ma(End),rep,searching,!result:%输出解o(fal),retrct(closd(0,_,0),osd(M,_,),reuting(M),!.reult:-输出解ot(fai_),reac(clsed(0,0)),loed(M,_,_),rslting(),!.eult:- beep,write(sory

4、 dont find a rod!).seching:-pen(State,Pite),%步2 若OPEN表为空,则失败,退出retract(open(State,Poiter),%步3 取出OPN表中第一种节点,给其csed(No,_,_),o2=o+1,编号asserta(closed(No2,State,Poite),放入CLOSED表!,tep(N2,Stt).sarchin:ssrt(fail_)%步4 若目前节点为目的节点,则成功tep4(_,Stte):- mrk(Ed),qual(at,End)%转步p4(N,Stat): se56(N,Stte),!,fail.tp56(,S

5、teX):-%步5 若目前节点不可扩展,转步le(StX,StateY),步6 扩展目前节点X得Ynot(pen(StateY,_)),考察Y与否已在OPE表中not(closed(_,StteY,_),%考察与否已在CLOSD表中assetz(pen(SteY,No),%可变化搜索方略fail.sep6(_,_):!.equal(X,X)epeatret:-rea.eslin(N):- losd(,M),asserta(s(X),eulting(M).esuti(_):- r(X),wrie(X),wre(),al.resultng(_): !.rue(X,Y):road(,Y).road(

6、s,s11).road(s,s12).road(s12,s11).ra(s12,s13).rod(13,s2).oad(1,s14).road(s14,s3)rd(s11,s).od(s1,s11).roa(s12,s2).roa(s15,s25).rod(s5,s15)oad(s,s24).oad(s24,s3)rd(s2,2).road(25,s24).road(2,s).road(s3,21).road(23,s3).ra(s33,s2)road(s4,s34).road(34,4)oad(s25,3).rd(s3,s25)rod(s31,2).road(s32,1).road(2,s3

7、3).ad(3,s2).road(s34,s35).oa(s5,4).road(s31,s41)rad(41,s1).ra(s3,s44).road(s44,s3)rod(4,43).oad(s3,42).rod(s3,s)ra(44,s).d(s4,s5).road(s45,s4)rod(42,s52).road(s,42).road(5,52)road(s5,s1)road(s2,3).ro(s53,s2).road(s53,s54).rod(s54,s5).oad(s4,s5)road(s5,4).ro(s55,e).%例如:rue(X,Y):roa(,Y).五、实验成果六、 实验总结该

8、实验的例题较为特殊,要实现深度优先和广度优先搜索,在源代码中修改一致,只需将assetz(oen(tateY,N))改为ssrta(open(StaeY,o)。实验刚开始浮现运营错误,road未定义,在PREICATES中给oad加以定义rod(sat,ste)。之后运营尚有一种报错,通过反复检查,发现最后结尾语句没加句号。由于急于验收,修改完代码,直接加载,导致犯下一种结尾少加句号的低档错误,耗时耗力,影响进度。随着此后编程的增多,深深体会到编程时要静心严谨,否则一种小小的疏忽,将增长额外的工作量。通过第二次上机实验,自己对proog运营平台的使用更为纯熟。此后课下会多多关注人工智能方面的科研资讯,学习课外的知识,增长自己知识储藏,提高自己的专业技能。

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

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

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