資源描述:
《《搜索與或圖搜索》PPT課件》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第四章與或圖搜索內(nèi)容4.0與或樹表示4.1與/或樹的一般搜索4.2與/或樹的廣度優(yōu)先搜索4.3與/或樹的深度優(yōu)先搜索4.4與/或樹的啟發(fā)式搜索4.5博弈樹的啟發(fā)式搜索與或圖搜索24.0與或樹表示不同于狀態(tài)空間方法的另外一種形式化方法?;舅枷耄寒?dāng)一個問題比較復(fù)雜時,直接進(jìn)行求解往往比較困難??赏ㄟ^歸約(分解或變換),將它轉(zhuǎn)化為一系列較簡單的問題。通過對這些較簡單問題的求解來實現(xiàn)對原問題的求解。與或圖搜索34.0與或樹表示【例4.0】設(shè)有四邊形ABCD和A′B′C′D′,證明它們?nèi)?。與或圖搜索44.0與或樹表示分析:原問題分解為兩個子問題:與或圖搜索54.0與或樹表示與或圖搜索64
2、.0與或樹表示4.0.1分解問題P可以歸約為一組子問題{P1,P2,……,Pn}。只有當(dāng)所有子問題Pi(i=1,2,……,n)都有解時,原問題P才有解。即分解所得到的子問題的“與”和原問題P等價。與樹K-連接符P1P2P3P…...K個與或圖搜索74.0與或樹表示4.0.2等價變換問題P可以歸約為一組子問題{P1,P2,……,Pn}。這些子問題Pi中只要有一個有解則原問題P就有解,只有當(dāng)所有子問題Pi都無解時原問題P才無解。即變換所得到的子問題的“或”與原問題P等價?;驑浒岩粋€原問題變換為若干個子問題可用一個“或樹”來表示。P1P2P3P與或圖搜索84.0與或樹表示4.0.3與或樹
3、如果一個問題既需要通過分解,又需要通過變換才能得到其本原問題,則其歸約過程可用一個“與/或樹”來表示。PP1P2P3P31P32P33P11P12原始問題本原問題(終止節(jié)點)端節(jié)點———沒有子節(jié)點的節(jié)點,即葉子節(jié)點;終止節(jié)點——可解節(jié)點,即本原問題。t與或圖搜索94.0與或樹表示Pttt4.0.4解樹由可解節(jié)點構(gòu)成,并且由這些可解節(jié)點可以推出初始節(jié)點(它對應(yīng)著原始問題)為可解節(jié)點的子樹。在解樹中一定包含初始節(jié)點。與或圖搜索104.0與或樹表示【例4.1】三階梵塔問題。解:用三元組表示問題在任一時刻的狀態(tài):(i,j,k)i:代表金片C所在的鋼針號;j:代表金片B所在的鋼針號;k;代表
4、金片A所在的鋼針號;123123ABC與或圖搜索11123(1,1,1)123(1,2,2)123(3,2,2)123(3,3,3)ABC與或圖搜索12(1,1,1)->(3,3,3)(1,1,1)->(1,2,2)(1,2,2)->(3,2,2)(3,2,2)->(3,3,3)(1,1,1)->(1,1,3)(1,1,3)->(1,2,3)(1,2,3)→(1,2,2)(3,2,2)->(3,2,1)(3,2,1)→(3,3,1)(3,3,1)→(3,3,3)三階梵塔問題的與或樹在該與/或樹中,有7個終止節(jié)點,它們分別對應(yīng)著7個本原問題。如果把這些本原問題從左至右排列起來,即得到
5、了原始問題的解:與或圖搜索134.0與或樹表示目標(biāo)目標(biāo)初始節(jié)點sabc與或圖搜索14內(nèi)容4.0與或樹表示4.1與/或樹的一般搜索4.2與/或樹的廣度優(yōu)先搜索4.3與/或樹的深度優(yōu)先搜索4.4與/或樹的啟發(fā)式搜索4.5博弈樹的啟發(fā)式搜索與或圖搜索154.1與/或樹的一般搜索與/或樹的搜索過程實際上是一個不斷尋找解樹的過程。其一般搜索過程如下:(1)把原始問題作為初始節(jié)點S0,并把它作為當(dāng)前節(jié)點;(2)應(yīng)用分解或等價變換操作對當(dāng)前節(jié)點進(jìn)行擴(kuò)展;(3)為每個子節(jié)點設(shè)置指向父節(jié)點的指針;(4)選擇合適的子節(jié)點作為當(dāng)前節(jié)點,反復(fù)執(zhí)行第(2)步和第(3)步,在此期間需要多次調(diào)用可解標(biāo)記過程或不
6、可解標(biāo)記過程,直到初始節(jié)點被標(biāo)記為可解節(jié)點或不可解節(jié)點為止。與或圖搜索164.1與/或樹的一般搜索在與/或樹中,除端節(jié)點和終止節(jié)點外,一個節(jié)點的可解性完全是由其子節(jié)點來決定的。對與節(jié)點,只有其所有子節(jié)點都為可解時它才為可解,只要有一個子節(jié)點不可解它就是不可解的;對或節(jié)點,只要有一個子節(jié)點可解它就是可解的,僅當(dāng)所有子節(jié)點都是不可解時它才為不可解??山鈽?biāo)記過程由可解子節(jié)點來確定其父節(jié)點、祖父節(jié)點為可解節(jié)點的過程。不可解標(biāo)記過程由不可解子節(jié)點來確定其父節(jié)點、祖父節(jié)點為不可解節(jié)點的過程。與或圖搜索174.1與/或樹的一般搜索搜索解樹的過程中,節(jié)點刪除策略:①如果搜索過程確定某個節(jié)點為可解節(jié)
7、點,則其不可解的后裔節(jié)點就可從搜索樹中刪去;②如果搜索過程能確定某個節(jié)點為不可解節(jié)點,則其后裔節(jié)點也可從搜索樹中刪去。與或圖搜索18內(nèi)容4.0與或樹表示4.1與/或樹的一般搜索4.2與/或樹的廣度優(yōu)先搜索4.3與/或樹的深度優(yōu)先搜索4.4與/或樹的啟發(fā)式搜索4.5博弈樹的啟發(fā)式搜索與或圖搜索194.2與/或樹的廣度優(yōu)先搜索與/或樹的廣度優(yōu)先搜索算法:(1)把初始節(jié)點S0放人Open表中;(2)把Open表的第一個節(jié)點取出放入Closed表,并記該節(jié)點為n;(3)如果節(jié)