




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第第3章章 搜索的基本策略搜索的基本策略 3.1 盲目的搜索方法盲目的搜索方法l 盲目搜索方法又叫非啟發(fā)式搜索,是一種無信息搜索,一般只適用于求解比較簡單的問題。下面我們要討論的幾個搜索方法,它們均屬于盲目搜索方法。3.1.1 寬度優(yōu)先搜索寬度優(yōu)先搜索l 如果搜索是以同層鄰近節(jié)點依次擴展節(jié)點的, 那么這種搜索就叫寬度優(yōu)先搜索,這種搜索是逐層進行的, 在對下一層的任一節(jié)點進行搜索之前,必須搜索完本層的所有節(jié)點。 3.1.1 寬度優(yōu)先搜索寬度優(yōu)先搜索寬度優(yōu)先搜索寬度優(yōu)先搜索算法如下: 1. 令N為一個由初始狀態(tài)構成的表; 2. 若N為空退出,標志失敗; 3. 令n為N中第一個點,將n從N中刪除;
2、4. 若n是目標,則退出,標態(tài)成功; 5. 若n不是目標,將n的后繼點加入到N表的尾部,轉(zhuǎn)2。 3.1.1 寬度優(yōu)先搜索寬度優(yōu)先搜索l寬度優(yōu)先搜索的優(yōu)點是:若問題有解,則可找出最優(yōu)解;l寬度優(yōu)先搜索的缺點是:效率低,組合爆炸問題難以解決。 3.1.2 深度優(yōu)先搜索深度優(yōu)先搜索在深度優(yōu)先搜索中,我們首先擴展最新產(chǎn)生的(即最深的)節(jié)點。深度相等的節(jié)點可以任意排列。 3.1.2 深度優(yōu)先搜索深度優(yōu)先搜索深度優(yōu)先搜索算法如下:1. 令N為一個由初始狀態(tài)構成的表;2. 若N為空退出,標態(tài)失敗;3. 令n為N中第一個點,將n從N中刪除;4. 若n是目標,則退出,標態(tài)成功;5. 若n不是目標,將n的后繼加入
3、到N表的首部轉(zhuǎn)2。 3.1.2 深度優(yōu)先搜索深度優(yōu)先搜索l 深度優(yōu)先搜索的優(yōu)點:節(jié)省大量時間和空間;l 深度優(yōu)先搜索的缺點:不一定能找到解。因為在無限搜索樹的情況下,最壞的情況可能是不停機。3.1.3 分枝有界搜索分枝有界搜索(Branch-and-Bound)l 分枝有界搜索也是一種深度優(yōu)先搜索,但每個分支都規(guī)定了一個統(tǒng)一的搜索深度,搜索到這個深度后,如果沒有找到目標便自動退回到上一層,繼續(xù)搜索。3.1.3 分枝有界搜索分枝有界搜索1. 令N為一由初始狀態(tài)構成的表;2. 若N為空退出,標志失?。?. 令n為N中第一個點,將n從N中刪除;4. 若n是目標,則退出,標態(tài)成功;5. 若n深度=預先
4、定好的一個界dmax,則轉(zhuǎn)2;6. 若n不是目標,將n的后繼加入到N表的首部轉(zhuǎn)2;3.1.4 迭代加深搜索迭代加深搜索(Iterative deepening)l 迭代加深搜索是在分枝有界搜索的基礎上,對dmax進行迭代,即逐步加深。這是一種同時兼顧深度和廣度的搜索方法。在限定的深度內(nèi),保證了對廣度節(jié)點的搜索,如果沒有找到解,再加深深度。3.2 啟發(fā)式搜索方法啟發(fā)式搜索方法l 如果能夠找到一種方法用于排列待擴展節(jié)點的順序,即選擇最有希望的節(jié)點加以擴展,那么,搜索效率將會大大提高。啟發(fā)式搜索就是基于這種想法,它是深度優(yōu)先的改進。搜索時不是任取一個分枝,而是根據(jù)一些啟發(fā)式信息,選擇最佳一個分枝或幾
5、個分枝往下搜索。3.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示1啟發(fā)式搜索的依據(jù)啟發(fā)式搜索的依據(jù)(1)人們善于利用一些線索來幫助自己選擇搜 索 方 向 , 這 些 線 索 統(tǒng) 稱 為 啟 發(fā) 式(Heuristics)信息。(2)現(xiàn)實問題往往只需一個解,而不要求最優(yōu)解或全部解。(3)啟發(fā)式信息可以避免某些領域里的組合爆炸問題。 3.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示啟發(fā)信息按其形式可分為下列2種:(1)表示為估計函數(shù))表示為估計函數(shù)l 確定一個啟發(fā)式函數(shù)f(n), n 為被搜索的節(jié)點,它把問題狀態(tài)的描述映射成問題解決的程度,通常這種程度用數(shù)值來表示,就是啟發(fā)式函數(shù)的值。這個值的大小用來決定
6、最佳搜索路徑。3.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示(2)表示成規(guī)則)表示成規(guī)則如程序AM的一條啟發(fā)式規(guī)則為: 如果存在一個有趣的二元函數(shù)f(x,y),那么看看兩變元相同時會發(fā)生什么?l若f表示乘法:導致發(fā)現(xiàn)平方;l若f表示集合并運算:導致發(fā)現(xiàn)恒等函數(shù);l若f表示思考:導致發(fā)現(xiàn)反省;l若f表示謀殺:導致發(fā)現(xiàn)自殺。3.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示2啟發(fā)式函數(shù)的表示方法啟發(fā)式函數(shù)的表示方法l啟發(fā)式函數(shù)是一種映射函數(shù),它把對問題狀態(tài)的描述映射成一種希望的程度。l啟發(fā)式函數(shù)設計得好,對有效引導搜索過程有著重要的作用。非常簡單的啟發(fā)式函數(shù)搜索路徑能夠作出非常令人滿意的估計。3.2.1
7、啟發(fā)式信息的表示啟發(fā)式信息的表示l如何構造啟發(fā)式函數(shù)?(1)啟發(fā)式函數(shù)能夠根據(jù)問題的當前狀態(tài),確定用于繼續(xù)求解問題的信息。 這樣的啟發(fā)式函數(shù)能夠有效地幫助決定那些后繼節(jié)點應被產(chǎn)生。3.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示 2 8 3 1 6 47 5 例2.7 八數(shù)碼問題。 1 2 3 8 47 6 5 a11 a12 a13 a21 a22 a23a31 a32 a33 問題空間為: S0 Sg 3.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示各狀態(tài)間的轉(zhuǎn)換規(guī)則為:Pr1: 空格上移 If i,j and i1 then ai-1,j i,j Pr2: 空格下移 If i,j and i3
8、then aI+1,j i,j 3.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示Pr3: 空格左移 If i,j and j1 then ai,j-1 i,j Pr4: 空格右移 If i,j and j3 then ai,j+1 i,j 啟發(fā)式函數(shù)f1= 數(shù)字錯放位置的個數(shù),f1=0,則達到目標。 2 8 3 1 6 47 52 8 31 6 4 7 52 8 31 47 6 52 8 3 1 47 6 52 31 8 47 6 52 8 3 1 6 47 52 8 31 47 6 52 8 31 6 47 53.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示 當f1值相同時如何決定走步? 現(xiàn)在定義:
9、f2 = 所有數(shù)字當前位置以最短路徑走到正確位置的步數(shù)之和。 在這個定義之下,各狀態(tài)的啟發(fā)式函數(shù)值為: 數(shù)碼 1 2 3 4 5 6 7 8 F2(S0)= 1 + 1 +0 +0 + 0 + 1 +0 + 2 =5 F2(S1)= 1 + 1 +0 +0 + 0 + 0 +0 + 2 =43.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示數(shù)碼 1 2 3 4 5 6 7 8 F2(S2)= 1 + 1 +0 +0 + 0 + 1 +1 + 2 =6 F2(S3)= 1 + 1 +0 +0 + 1 + 1 +0 + 2 =6F2(S4)= 1 + 1 +0 +0 + 0 + 0 +0 + 1 =3F
10、2(S5)= 1 + 1 +0 +0 + 0 + 1 +0 + 2 =5 F2(S6)= 1 + 2 +0 +0 + 0 + 0 +0 + 2 =53.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示 (2) 啟發(fā)式函數(shù)應能夠估計出可能加速達到目標的程度 這可以幫助確定當擴展一個節(jié)點時,那些節(jié)點應從搜索樹中刪除。 啟發(fā)式函數(shù)對搜索樹(圖)的每一節(jié)點的真正優(yōu)點估計得愈精確,解題過程就愈少走彎路。3.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示l例 2 . 8 八 皇 后 問 題 ( 8 - Q u e e n s problem) 在8*8棋盤要求放下8個皇后,要求沒有一個皇后能夠攻擊其它皇后,即要使得在任
11、何一行、一列或?qū)蔷€上都不存在兩個或兩個以上的皇后。3.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示求解這個問題的過程為: (a)定義狀態(tài)空間。 設狀態(tài)空間的一點為:8*8矩陣。 (b)定義操作規(guī)則。 按如下規(guī)則放置皇后:3.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示 第一個皇后放第一行。 第二個皇后放在第二行且不與第一個皇后在同一列或?qū)蔷€的空格上。 第i個皇后放在第i行且不與前面i 1個皇后在同一列或?qū)蔷€的空格上。 3.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示可使用如下啟發(fā)式函數(shù):l設x為當前要放置Queen的空格lf(x)= 剩下未放行中能夠用來放Queen的空格數(shù)l不難看出,f(x)愈大愈
12、好,應選擇f(x)最大的空格來放置皇后。例如,在放置了三個Q后,第4個Q可放在第4行的A,B,C三個位置。 Q Q Q A BC abc bc ab bc c ac abc b acb ac acabbc 3.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示a為第4行A處放了皇后剩下可放Q的位置; b為第4行B處放了皇后剩下可放Q的位置; c為第4行C處放了皇后剩下可放Q的位置。 按照以上定義,可求得: f(A)=8, f(B)=9, f(C)=10。所以搜索可以從C對應的空格放置一個皇后開始,其余的空格對應的搜索樹可以刪除。3.2.1 啟發(fā)式信息的表示啟發(fā)式信息的表示(c)定義搜索策略。第i個皇后放
13、到第i行中的那個與前面i-l個皇后不在同一列或?qū)蔷€上且f(x)值最大的空格中。啟發(fā)式信息是某些領域里的知識信息,它能使計算機系統(tǒng)在這些知識信息提示以后可能采取的某些可能的動作或避免某些不可能的動作。 搜索方向的選擇搜索方向的選擇 搜索過程:在問題空間中找出從開始狀態(tài)到目標狀態(tài)的一條最好的或較好的路徑。這種搜索可按兩個方向進行: 正向搜索:從初始狀態(tài)朝著目標狀態(tài)方向搜索; 逆向搜索:從目標狀態(tài)朝著初始狀態(tài)方向搜索。 將以上兩種搜索方法結合起來,就產(chǎn)生了雙向搜索 搜索方向的選擇搜索方向的選擇l正向搜索 和 逆向搜索 S0 S0 Sg Sg 搜索方向的選擇搜索方向的選擇(1) 朝分枝因子低的方向更
14、有效。l 分子因子指從一點出發(fā)可以直接到達的平均結點數(shù)。朝著分枝因子低的方向搜索意味著朝著“收斂”的方向搜索,例如定理證明, 一般是從公理或定理出發(fā),推出新的定理。公理是有限的,而定理是大量的。 搜索方向的選擇搜索方向的選擇(2) 由狀態(tài)少的一方出發(fā),朝著大量的可識別的狀態(tài)的方向搜索l 例如符號積分問題, 正向搜索意味著從被積函數(shù)出發(fā),按照積分規(guī)則,尋找原函數(shù)。而逆向搜索,則要從大量的原函數(shù)的任意組合出發(fā),通過積分規(guī)則,找出被積函數(shù),這顯然要困難得多,我們在人工演算積分問題時決不會這么去做。搜索方向的選擇搜索方向的選擇 (3) 依據(jù)用戶可接受的方向l 特別是需要向用戶解釋推理過程時,順應用戶的
15、心理,選擇搜索方向會使系統(tǒng)顯得更自然一些。在建造專家系統(tǒng)時,向用戶解釋為什么系統(tǒng)會得出某個結論, 這一步驟是必不可少的,所以尤其要考慮這個問題。3.2.2 幾種最基本的搜索策略幾種最基本的搜索策略 l下面主要介紹采用Best-first策略的幾個基本方法,這些方法構成了許多數(shù)AI系統(tǒng)的構架,其效率取決于問題所在領域知識的利用與開發(fā)。由于這些方法的通用性,并且難于克服搜索過程的組合爆炸問題,所以又稱為弱法(Weak method)。3.2.2 幾種最基本的搜索策略幾種最基本的搜索策略l 弱法主要包括:最佳優(yōu)先法 生成測試法爬山法廣度優(yōu)先法問題歸約法約束滿足法手段目的分析法。1生成測試法生成測試法
16、(Generate-and-test) 生成測試法的基本步驟為: 1. 生成一個可能的解,此解是狀態(tài)空間一個點,或一條始于S0的路徑。 2. 用生成的“解”與目標比較。 3. 達到目標則停止,否則轉(zhuǎn)第一步。1生成測試法生成測試法(Generate-and-test)l 此方法屬于深度優(yōu)先搜索(depth-first-search), 因為要產(chǎn)生一個完全的解后再判斷,若不是目標又要生成下一個“解”。這種方法幾乎接近耗盡式搜索,因而效率低。 于是人們考慮能否利用反饋信息以幫助決定生成什么樣的解,這種改進就是下面要講的爬山法。 2爬山法爬山法(Hill-climbing) 1 生成第一個可能的解。若
17、是目標,則停止;否則轉(zhuǎn)下一步。2 從當前可能的解出發(fā),生成新的可能解集。 3 以當前最佳元素為起點,轉(zhuǎn)()。 2爬山法爬山法(Hill-climbing) 爬山法在生成的元素中尋找最優(yōu)解,這種最優(yōu)是局部最優(yōu)。爬山法會產(chǎn)生下述問題: (1)找到的是局部最大值。(如左圖) (2)碰到平頂時無法處理。(如右圖)2爬山法爬山法(Hill-climbing) (3)碰到山脊時無法處理。碰到山脊的克服辦法是: (1) 退回較大一步,即允許回朔。(2) 向前跨一大步。(3) 多設幾個初始點,從幾個初始點同時或先后進行搜索。3最佳優(yōu)先搜索最佳優(yōu)先搜索(Best-first search)1 生成第一個可能的解
18、。若是目標,則停止;否則轉(zhuǎn)下一步。 2 從該可能的解出發(fā),生成新的可能解集。3 從解集中挑選最好的元素作為起點,再轉(zhuǎn) 4. 模擬退火法模擬退火法(simulated Annealing) 退火是冶金專家為了達到某些特種晶體結構重復將金屬加熱或冷卻的過程, 該過程的控制參數(shù)為溫度T。這種思想應用于許多優(yōu)化問題就產(chǎn)生了模擬退火算法, 模擬退火法的基本思想是, 在系統(tǒng)朝著能量減小的趨勢這樣一個變化過程中, 偶爾允許系統(tǒng)跳到能量較高的狀態(tài),以避開局部極小點, 最終穩(wěn)定到全局最小點。 4. 模擬退火法模擬退火法(simulated Annealing)l如圖所示,若使能量在C點突然增加h,就能跳過局部極小點B, 而找到全局最小點A 。l現(xiàn)在的問題是何時增加能量?應該增加多少能量?為此,柯克帕特里克(S.Kirkpatri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 甲供材料合同范本
- 幼兒園托管協(xié)議合同8篇
- 居間合同居間合同
- 2025年克拉瑪依c1貨運從業(yè)資格證考試內(nèi)容
- 工程施工監(jiān)理合同
- 專項工程承包合同文本
- 建筑工程項目分包合同
- 增加附錄條款魚種購銷合同
- 運輸水合同范本
- 卷煙戰(zhàn)略市場規(guī)劃報告
- GB/T 30797-2014食品用洗滌劑試驗方法總砷的測定
- GB/T 20057-2012滾動軸承圓柱滾子軸承平擋圈和套圈無擋邊端倒角尺寸
- GB/T 19808-2005塑料管材和管件公稱外徑大于或等于90mm的聚乙烯電熔組件的拉伸剝離試驗
- 班組建設工作體系課件
- 第章交通調(diào)查與數(shù)據(jù)分析課件
- 中醫(yī)院情志養(yǎng)生共64張課件
- 慢性心功能不全護理查房
- 秘書理論與實務教案
- 社區(qū)矯正人員工作手冊
- 淺圓倉滑模及倉頂板施工方案
- 應用文第一章緒論2016春
評論
0/150
提交評論