999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數(shù)碼迷題求解算法的比較及A*算法的簡(jiǎn)單介紹

2011-05-03 02:26:44畢智超

畢智超

摘 要:數(shù)碼謎題源于一古老的智力游戲,是人工智能領(lǐng)域中的經(jīng)典問題。本文著眼于8數(shù)碼問題求解的具體實(shí)現(xiàn)。分析了數(shù)碼迷題求解的搜索策略。對(duì)三種搜索算法進(jìn)行了比較權(quán)衡,并對(duì)經(jīng)典啟發(fā)式搜索算法A*算法進(jìn)行了簡(jiǎn)單介紹,介紹了該算法框架下的啟發(fā)函數(shù)及Open表結(jié)構(gòu)。

關(guān)鍵詞:數(shù)碼迷題;啟發(fā)式搜索;A*算法;定理化判斷

中圖分類號(hào):O14 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-0118(2011)-03-0018-01

一、引言

8數(shù)碼迷題又稱重排九宮,問題描述如下:用數(shù)字1~8標(biāo)注的棋子擺放在一個(gè)3×3共9個(gè)格子的棋盤上,空出一個(gè)格子使棋子能在盤內(nèi)水平滑動(dòng),8個(gè)符號(hào)在棋盤上的排列稱為8數(shù)碼的狀態(tài),游戲要求給定一個(gè)初始的狀態(tài)和一個(gè)終止?fàn)顟B(tài),且每次只能移動(dòng)一個(gè)棋子,求從任一初始棋局變化到另一目標(biāo)棋局是否有解,以及有解時(shí)的解法。

二、定理化判定可解性

按從左往右,從上到下的順序?qū)⑵寰譅顟B(tài)表示為一個(gè)數(shù)列P=a1a2a3a4a5a6a7a8,ai為1,2…8八個(gè)數(shù)碼中的一個(gè),P是1,2…8的一個(gè)排列,稱P是該棋局的狀態(tài)數(shù)列。在序列P中對(duì)iaj,則稱aj出現(xiàn)了一個(gè)逆序,元素aj的逆序數(shù)記為R(aj)。于是序列P的逆序數(shù)記為R(P),定義為除元素0外所有元素的逆序個(gè)數(shù)之和。序列P的元素存放在數(shù)組S[1∽n×n]中。

三、搜索算法的分析比較

(一)三種搜索算法的數(shù)據(jù)結(jié)構(gòu)分析。首先簡(jiǎn)單介紹下Open表和Closed的動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu),前者記錄當(dāng)前未考察的結(jié)點(diǎn),后者記錄考察過的結(jié)點(diǎn)。擴(kuò)展所得子結(jié)點(diǎn)按其估值的大小插入Open表中合適的位置,每次從中選出估值最小的加以擴(kuò)展。每個(gè)結(jié)點(diǎn)都保留父結(jié)點(diǎn)的信息,這保證了搜索完畢后,能通過Closed表返回完整的搜索路徑。

一般圖的搜索算法中,提高效率的關(guān)鍵在于Open表中結(jié)點(diǎn)的排列方式,若每次排在表首的結(jié)點(diǎn)都最終搜索到解的路徑上,則算法不需擴(kuò)展任何多余的結(jié)點(diǎn)就可快速結(jié)束搜索。所以排列方式成為研究搜索算法的焦點(diǎn),并由此形成了多種搜索策略。

(二)三種搜索算法的比較及適用范圍。對(duì)于,實(shí)際問題,深度優(yōu)先搜索一般不能保證找到最優(yōu)解,雖然通過與回溯結(jié)合可以找到最優(yōu)解,但是在最壞的情況下,搜索空間等同于窮舉。而且對(duì)于許多問題,其狀態(tài)空間的搜索樹的深度可能無限深,或者可能至少要比某個(gè)可接受的解答序列的已知深度上限還要深。為了避免考慮太長(zhǎng)的路徑,往往給出一個(gè)結(jié)點(diǎn)擴(kuò)展的最大深度,稱深度界限。任何結(jié)點(diǎn)如果達(dá)到了深度界限,那么都將把它們作為后繼結(jié)點(diǎn)處理。即便應(yīng)用了深度界限的規(guī)定,由于一個(gè)有解的問題樹可能含有無窮分支,深度優(yōu)先搜索如果誤入無窮分支,或解出現(xiàn)在深度界限之外,則不可能找到目標(biāo)結(jié)點(diǎn)。所以,深度優(yōu)先搜索策略是不完備的。另外,應(yīng)用此策略得到的解不一定是最佳解,如果深度限制過小的話,甚至得不到解。因此這里就有了一個(gè)如何定義深度的問題,太小得不到結(jié)果,太大就很容易引起“結(jié)點(diǎn)爆炸”。

三種搜索算法運(yùn)用于八數(shù)碼問題的求解時(shí),對(duì)于深度優(yōu)先搜索有時(shí)候會(huì)得不到解答,而且具有不確定的時(shí)間效率;對(duì)于寬度優(yōu)先搜索,雖然得到的都是最優(yōu)解,但是由于生成了大量的結(jié)點(diǎn),因此每次生成的結(jié)點(diǎn)要判斷是否為全新結(jié)點(diǎn)都要對(duì)已經(jīng)生成的結(jié)點(diǎn)進(jìn)行遍歷和比較,不但損失了空間效率,甚至還會(huì)影響時(shí)間效率;對(duì)于A*算法,理論上是能夠擴(kuò)展最少的結(jié)點(diǎn),最快的找到解答,但是如果評(píng)估函數(shù)選的不好,也會(huì)影響效率。因此對(duì)啟發(fā)式搜索的啟發(fā)函數(shù)的研究就顯得特別有意義了。

四、啟發(fā)式搜索策略A*算法的簡(jiǎn)單介紹

(一)算法估價(jià)函數(shù)簡(jiǎn)介。數(shù)碼重排最簡(jiǎn)單的啟發(fā)函數(shù)h(n)就是計(jì)算當(dāng)前狀態(tài)與目標(biāo)狀態(tài)相比位置不符的數(shù)碼數(shù)目。該方法雖然計(jì)算量較小,但其結(jié)點(diǎn)擴(kuò)展量大,搜索效率低。

所以將g(n)定義為從初始結(jié)點(diǎn)到n結(jié)點(diǎn)移動(dòng)的數(shù)碼數(shù)目,即搜索樹中n結(jié)點(diǎn)的深度;h(n)定義為在n結(jié)點(diǎn)狀態(tài)下各數(shù)碼到達(dá)目標(biāo)狀態(tài)的距離之和,即h(n)=∑(|xi1-xi2|+|yi1-yi2|),xi1、xi2分別為數(shù)碼i在當(dāng)前狀態(tài)和目標(biāo)狀態(tài)下的橫坐標(biāo),同理y為縱坐標(biāo)。

(二)算法的實(shí)現(xiàn)框架。A*算法是指滿足條件h(n)≤h*(n)的啟發(fā)式搜索,h*(n)為從n結(jié)點(diǎn)到目標(biāo)結(jié)點(diǎn)的實(shí)際最優(yōu)代價(jià),多數(shù)情況下h*(n)無法計(jì)算,但要判定h(n)是否大于h*(n)是可能的。求解數(shù)碼的A*算法框架流程如下:

1、判斷問題可解性;若無解,則退出。

2、初始化,將初始結(jié)點(diǎn)放入Open表,令Closed表為空。

3、若Open表不為空,循環(huán)執(zhí)行以下操作:

(1)選取Open表的表頭作為當(dāng)前結(jié)點(diǎn);若該結(jié)點(diǎn)是目標(biāo)結(jié)點(diǎn),跳轉(zhuǎn)至Step4。

(2)將當(dāng)前結(jié)點(diǎn)從Open表中移除,放入Closed表中。

(3)求出當(dāng)前結(jié)點(diǎn)的所有子結(jié)點(diǎn)。

(4)計(jì)算子結(jié)點(diǎn)的估價(jià)值。

(5)如果子結(jié)點(diǎn)不在Open表和Closed表中,將其插入到Open表。

(6)按照結(jié)點(diǎn)的估價(jià)值,以遞增順序重排Open表。

4、回溯得解。

五、結(jié)束語

本文對(duì)于問題首先直接應(yīng)用定理進(jìn)行可解化判定,其次對(duì)深度、廣度優(yōu)先搜索與A*算法搜索進(jìn)行了分析比較,得出三者的性能特點(diǎn)。最后著重于介紹啟發(fā)式搜索策略A*算法,為進(jìn)一步研究奠定下堅(jiān)實(shí)的基礎(chǔ)。由于筆者的能力有限,文章中有敘述不透徹的地方望各位讀者海涵,期待通過更加深入的研究和實(shí)驗(yàn)?zāi)艿玫礁玫恼莆铡?/p>

參考文獻(xiàn):

[1]許精明.智能搜索中啟發(fā)函數(shù)的選擇及啟發(fā)能力分析[J].昆明理工大學(xué)學(xué)報(bào),2007,32(5):31-34.

[2]黃沛杰.重排九宮問題的分析與實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī),2003,(12).

[3]陳世福,陳兆乾.人工智能與知識(shí)工程[M].南京大學(xué)出版社,1997.

主站蜘蛛池模板: 热久久这里是精品6免费观看| 国产精品香蕉在线观看不卡| 少妇露出福利视频| 欧美精品亚洲精品日韩专区| 无码专区第一页| 婷婷亚洲综合五月天在线| 手机精品视频在线观看免费| 一级毛片免费播放视频| 香蕉网久久| 亚洲第一成网站| 成人午夜久久| 毛片在线看网站| 久久亚洲美女精品国产精品| 国产乱子伦视频在线播放| 亚洲AV永久无码精品古装片| 日本精品αv中文字幕| 精品久久久久久成人AV| 亚洲精品你懂的| 国产在线视频福利资源站| 色欲色欲久久综合网| 久久婷婷五月综合色一区二区| 2020最新国产精品视频| 国产男女XX00免费观看| 亚洲国产成熟视频在线多多 | 国产aⅴ无码专区亚洲av综合网| 国产69精品久久| 精品亚洲麻豆1区2区3区| 日韩免费无码人妻系列| 精品人妻AV区| 最新日韩AV网址在线观看| 国产白浆一区二区三区视频在线| 成年A级毛片| 538国产在线| 中文字幕调教一区二区视频| 国产菊爆视频在线观看| 57pao国产成视频免费播放| 国内精品视频区在线2021| 色久综合在线| 九一九色国产| 国产麻豆91网在线看| 欧美日韩国产系列在线观看| 亚洲综合久久成人AV| 国产网站免费| 亚洲经典在线中文字幕| 亚洲无码高清一区| 日韩欧美一区在线观看| 国产精品极品美女自在线看免费一区二区| 欧美日本在线观看| 亚洲成AV人手机在线观看网站| 无码丝袜人妻| 亚洲国产成人麻豆精品| 色婷婷综合激情视频免费看 | 999精品视频在线| 91福利国产成人精品导航| 成人毛片在线播放| 精品黑人一区二区三区| 婷婷六月天激情| 欧洲高清无码在线| 欧美亚洲国产日韩电影在线| 日本成人福利视频| 91po国产在线精品免费观看| 99热国产这里只有精品无卡顿"| 亚洲国产精品日韩专区AV| 亚洲精品自产拍在线观看APP| 日本亚洲成高清一区二区三区| 97久久精品人人做人人爽| 国产成人永久免费视频| 精品人妻AV区| 操操操综合网| 亚洲国产精品一区二区高清无码久久| 成年女人18毛片毛片免费| 视频二区中文无码| 日韩天堂视频| 日韩精品无码免费专网站| 91精品在线视频观看| 亚洲高清国产拍精品26u| 国产精品成人免费视频99| 91年精品国产福利线观看久久| 婷婷五月在线视频| 无套av在线| 国产人人乐人人爱| 亚洲欧洲一区二区三区|