《实验四A星算法求解迷宫问题实验.doc》由会员分享,可在线阅读,更多相关《实验四A星算法求解迷宫问题实验.doc(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验四A星算法求解迷宫问题实验实验四:A 算法求解迷宫问题实验 一、 实验目的 熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用算法求解迷宫问题,理解求解流程和搜索顺序。二、 实验内容 迷宫问题可以表述为:一个二维的网格,0 表示点可走,表示点不可以走,点用(_,表示,寻找从某一个给定的起始单元格出发, 经由行相邻或列相邻的单元格(可以通过的,最终可以到达目的单元格的、所走过的单元格序列。在任一个单元格中,都只能看到与它邻近的个单元格假如位于底边,那么只有 3 个;位于 4 个角上,那么只有 2 个是否能通过。A算法是人工智能中的一种搜索算法,是一种启发式搜索算法,它不需遍历所有节点,只
2、是利用包含问题启发式信息的评价函数对节点进展排序,使搜索方向朝着最有可能找到目的并产生最优解的方向.它的独特之处是检查最短途径中每个可能的节点时引入了全局信息,对当前节点距终点的间隔 做出估计,并作为评价节点处于最短道路上的可能性的度量.A_算法中引入了评估函数,评估函数为:fn=n)+h(n) 其中:n 是搜索中遇到的任意状态。g是从起始状态到 n 的代价。n)是对 n 到目的状态代价的启发式估计.即评估函数 f ( n) 是从初始节点到达节点 n 处已经付出的代价与节点 n 到达目的节点的接近程度估价值的总和。这里我们定义 n 点到目的点的最小实际间隔 为 h(n)_,A_算法要满足的条件
3、为:hnnelni_;ne_lae wen=lae ;1ne_rahc egsnu wn=ezam r(n i=0;i_mazeij; seaijfa=NITE; ;LLUNtniop.ilas _e_ys_s_ic _e_m_&rs;1=ys_za_ey=&rs;1|uds_,_y)ale|boun(,_ealse ;ldnepe=NULL; ;ys_,_s_H_eg=H_-on_p p_no-_G0; ;_=_-en_ ;y_y_-don_p _oe-F=pnode-_H+_no-_; ;edn_psp。neo _;NO=galf。ys_s_lae _;n_tnip.ys_s_les (y
4、pme.np_!(eli ;)(pot。nep_=edo_p_ ;pnepo it =p_noe-_; t =p_nod-_; _ ;ASgalf。y_aes )i+;i;0= i(of ;0cid+=_ tni ;1iceid+=y ti iout_,ty=false_maetty1|_set_y。fag=SEA) continu; DSIVU=l.yt_laesfi )ye_yte_=_t(fi pin_nde; cou“”-pmet temp-_F=temp-_Gtemp-_H; _ ;)pme(hsupnep esle ;tnip。yt_aes_=pme edoN_euQ G_-pmt
5、1+_-edon_p(fi ;+G-edo_=G_-pe ;on_p=ermet ;H_pme+G_-pmet=Fmet outp,_-py)diw_)1=_nel_= nutr1); y ni,_ ti(Hteg tni ;y-yba)e_(ba nrter i ni(ba tni return ? i:i; pivae: pmc curts eNueu,1n oNeueQrotarepo loo_n2 rtrn _Fn2-_F; ; NeueuQocev,_do_euQueuqytiroipe ,m _pe;/最小堆开放列表) int _ln,wd;/迷宫左边长,上边宽 i _s_,_sy,_,_ey; Sel eal;/动态开拓封闭列表 unsigned char ma;/迷宫地图 ; nt ai( AStr test; ;0 nute 三、 实验目的 通过这次实验,使我对启发式搜索算法有了更进一步的理解,特别是估计函 数 h(所起到的宏大重用.一个好的估计函数对于启发式搜索算法来说是非常关键的.第 3 页 共 3 页
限制150内