版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系第第 1 1 章章 搜索問題搜索問題什么是形狀空間?回溯戰(zhàn)略。圖搜索戰(zhàn)略無信息的圖搜索戰(zhàn)略啟發(fā)式圖搜索戰(zhàn)略A*算法。A*算法的性質(zhì)。搜索算法的討論。人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系形狀空間計算機(jī)對傳統(tǒng)的問題求解方法帶來了根本性的改動。 傳統(tǒng)方法, 由專家給出公式, 運(yùn)用者的義務(wù)是了解公式, 運(yùn)用公式。 有些問題用傳統(tǒng)方法描畫很困難, 例如本節(jié)的幾個例子 公式的推導(dǎo)需求很高的程度, 與實踐問題相差較遠(yuǎn),對運(yùn)用者要求很高。2. 計算機(jī)利用本人強(qiáng)大的計算才干和存儲才干, 采用猜的方式, 試探法. 能處理問題的領(lǐng)域更廣, 更結(jié)合實踐.人工智能吉林大學(xué)
2、珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系例 智力游戲問題:傳教士與野人渡河問題 傳教士與野人渡河問題:有 3 個傳教士帶 3 個野人渡河,河的岸邊有一條船, 每次最多可載 2 人,要求無論在河的哪一邊,野人的數(shù)目不能超越傳教士的數(shù)目,問為平安起見, 應(yīng)如何安排傳教士與野人渡河? 一種較為簡單的表示方式3 元向量x, y, z x: 河此岸的傳教士數(shù), y: 河此岸的野人數(shù)。 x,y 取值范圍0,1,2,3 z: 船在此岸,z取值范圍0,1 人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系初始形狀: 3,3,1目的形狀: 0,0,02831 647512386475初始形狀I(lǐng)nitial 目的形狀 Goal例 設(shè)有
3、 8 數(shù)碼難題如下:在 33 的框架中有 8 個標(biāo)有數(shù)字的硬紙片, 這些硬紙片上標(biāo)的數(shù)字分別是 1, 2, , 8, 每個紙片都可以移進(jìn)相鄰的空格, 8 數(shù)碼難題的初始形狀和目的形狀分別列出如下,問如何把這個問題由初始形狀移向目的形狀? 人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系2831 647512386475Initial Goal8 數(shù)碼難題8-puzzle的矩陣描畫 對于8 數(shù)碼難題, 我們選用直接的矩陣描畫,解題過程中的任何一個中間情況都對應(yīng)一個 3*3的矩陣, 用0,1,2,, 8這9個數(shù)的一個陳列依次去充填這個矩陣的各個單元,就是求解問題的一個能夠的情況, 共有 9!種。人工智能
4、吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系1 4 3 7 65 8 21 3 7 4 65 8 21 4 3 7 65 8 21 2 3 7 8 65 21 2 3 7 65 8 2 1 3 7 4 65 8 21 3 7 4 65 8 21 4 3 1 7 65 8 21 4 3 5 7 68 21 4 3 7 8 6 5 21 4 3 7 8 65 21 4 37 6 35 8 21 4 3 7 6 25 8 人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系例 游覽推銷員問題ABDCE75100125125501005075125100125問題表示, 方式為(A*)的字符串和(A*A)的字符串。其中*
5、為B,C, D, E 的陳列. 問題的節(jié),方式為(A*A)的字符串, 其中*為B,C, D, E 的陳列.人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系游覽推銷員問題的搜索空間EADCBCDEAEDADCEAE10012510075150175425225325275375300250人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系1.1 回溯戰(zhàn)略 回溯戰(zhàn)略的主要思想: 只保管從初始形狀到當(dāng)前形狀的一條解途徑, 給變換形狀的規(guī)那么給出一個排序方法, 對當(dāng)前形狀運(yùn)用規(guī)那么產(chǎn)生新的形狀, 不斷地向前延伸解途徑. 當(dāng)沒有規(guī)那么可用, 或向前延伸的形狀都是無解形狀(稱為死點,deadend)時, 沿解途徑后退到
6、前一個形狀(回溯), 重新開場搜索, 直至找到解或宣布失敗. 回溯戰(zhàn)略是一種窮盡的搜索方法.人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系 2.1 回溯算法Backtracking Strategies 遞歸過程A simple recursive procedure 輸入: 問題的初始形狀. . The input: the initial state. 輸出:一個規(guī)那么表. 運(yùn)用這個規(guī)那么表可以把初始形狀變?yōu)槟康男螤? 否那么回答FAIL. The output of the procedure, a list of rules, using it we can get the goal fr
7、om the initial state. If the procedure can not find the solution, it return FAIL.Recursive procedure BACKTRCK(DATA)1 if TERM(DATA), return NIL;2 if DEADEND(DATA), return FAIL;3 RULES APPRULES(DATA);人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系4 LOOP: if NULL(RULES), return FAIL;5 R FIRST(RULES);6 RULES TAIL(RULES);7 RDATA
8、R(DATA);8 PATH BACKTRACK( RDATA);9 if PATH = FAIL , go LOOP;10 return CONS( R, PATH)人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系In step 3, after get the list of rules using the function APPRULES, we need to order the rules in the lists. The ordering is very important. If the “betterrule is put in the front of the list, it
9、 can be used firstly, the efficiency of the system is high. If the “worse rule is put in the front, the system needs to trymore rules, the efficiency of the system is poor. The Example of Backtracking procedure. The 4 queen problem * * *在利用APPRUKES 得到規(guī)那么表之后, 需求對表中的規(guī)那么排序, 把好的規(guī)那么放在表的前面優(yōu)先運(yùn)用, 這個排序?qū)λ惴ǖ男?/p>
10、有很大影響.人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系The problem representation the global database: 4*4 array the rule: Rij If i= 1 : there are no queen in the array 1 i= 4: There is a queen in the row i-1 then put a queen in the row i, column jWe order the rules according to the column.我們用Rij表示在棋盤的第 i 行第 j 列放一個王后. 按行的添加順序依
11、次放皇后, 在規(guī)那么的排序上依列的上升次序排序. Termination condition: there are 4 queens in the chess board, they can not kill each other.終止條件: 4 皇后都放到棋盤上, 且不能相互殺死. 人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系Order of rules: R11, R12, R13, R14R21, R22, R23,R24deadenddeadenddeadenddeadenddeadenddeadenddeadenddeadenddeadend deadendThere many bac
12、ktrackNIL ()(R43)(R31,R43)(R24,R31,R43)(R12,R24,R31,R43)人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系We can use more informed rule ordering using function diag(i,j)我們可以采用含有較多信息的函數(shù)diag(i,j) . Diag(i,j) = the length of the longest diagonal passing through cell(i,j) diag(i,j) 是經(jīng)過單元(i, j)的最長對角線的長度, 我們按diag(i,j)排序, we order Rmn
13、 before Rij, if diag(m,n) diag(i,j) Rin before Rij, If diag(i,n) = diag(i,j) and n BOUND, return FAIL;6 RULES APPRULES(DATA);人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系7 LOOP: if NULL(RULES), return FAIL;8 R FIRST(RULES);9 RULES TAIL(RULES);10 RDATA R(DATA);11 RDATALIST CONS( RDATA, DATALIST);12 PATH BACKTRACK( RDATALIST
14、);13 if PATH = FAIL , go LOOP;14 return CONS( R, PATH)人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系1.2 圖搜索戰(zhàn)略graph-search strategies 回溯算法只包含一條探求途徑, 假設(shè)發(fā)現(xiàn)deadend節(jié)點或無規(guī)那么可用時要退回來, 因此能夠產(chǎn)生把探求過的節(jié)點擦掉后又重新產(chǎn)生的景象. 在圖搜索算法中.將一切搜索過的形狀用一個圖(搜索圖)記錄下來, 圖的弧反映形狀之間的關(guān)系.在圖中選擇節(jié)點加以擴(kuò)展, 直至把搜索圖擴(kuò)展到充分大, 包含解途徑在內(nèi).人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系The main idea of graph
15、searchIn the backtracking procedure, we preserve only a pathfrom the initial state to the current state, so sometimes we need to product some states again after the states were removed. However, in graph search method, We preserve a graph in the memory, the graph include all the states we passed thr
16、ough and the relation of their sequences. When we find some node(state) in the graph is suited to expand for search, we expand it, continue our searching, until a solution is finded.人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系圖論與形狀空間表示 有向圖 G是一個偶對(N, E), 其中 N 是節(jié)點集合,E是有向弧的集合。 DECBA有向圖中的有關(guān)概念,父親節(jié)點, 兒子節(jié)點, 葉節(jié)點,途徑, 回路, 有向樹。人工智能吉
17、林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系用有向圖表示問題的形狀空間是一種很自然的方式, 節(jié)點代表形狀描畫, 弧代表形狀之間的轉(zhuǎn)移。但是, 問題的形狀描畫與有向圖又有許多本質(zhì)上的不同, 需求引起我們留意:1。 圖論中研討的有向圖是有限的,我們可以把有向圖全部畫出來。而人工智能中描畫問題的有向圖普通說來是無限的, 或者說雖然有限, 但是非常大,我們不能夠?qū)⑵洚嫵鰜怼?。圖論中的問題求解是在對圖完全了解的情況下進(jìn)展。而我們對形狀空間搜索解的過程是邊產(chǎn)生圖邊求解, 這里所產(chǎn)生的圖是表示形狀空間的無限圖的顯式部分, 從求解的效率 思索, 就有把這個無限圖的顯式部分向哪個方向以何種方式擴(kuò)展的問題。人工智能吉林大學(xué)
18、珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系Motivation: the limitation of backtracking procedureSometimes, after analyzing we need to reproduce some states again. DB1 DB2 DB3 DB4R1R2R3人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系2.2 graph-search strategies2.2 graph-search strategies Motivation: the limitation of backtracking procedure Sometimes, after a
19、nalyzing we need to reproduce some states again. DB1 DB4R2人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系 DB1 DB2 DB4R1R2 DB1 DB2 DB3 DB4R1R2R3人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系問題的形狀和它們之間的關(guān)系可以用一個圖隱含地加以描畫. 形狀用圖的節(jié)點表示, 形狀之間的關(guān)系用圖中的弧表示.the states and their relations are defined by a graph implicitly: states nodes rule applications arcs但是, 我們也
20、應(yīng)該留意到它們之間的區(qū)別: However, generally the graph is endless , We can not draw the graphsin ordinary way.人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系Starting from the initial state, we generate an sub-graph(an explicit part of the graph implicitly defined by production system), then we select the node in the sub-graph to expand
21、it, if the sub-graph does not contain the goal node, we continue to expand it, until the sub-graph is large enough to include the goal node , and we find the solution path from the initial node to the goal node.The procedure GRAPHSEARCH input : the production system(the initial nose, production rule
22、, goal node) output: the solution path from the initial node to a goal node人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系 Procedure GRAPHSEARCHG=s, OPEN=(s); G為搜索圖, 初始化為問題的初始形狀s, 建立OPEN表,初始化為只含初始形狀s.CLOSED = (),建立CLOSED表,初始化為空表.LOOP: IF OPEN=(), THEN EXIT(FAIL)n=FIRST(OPEN), REMOVE(n, OPEN), ADD(n, CLOSED); 稱n為當(dāng)前節(jié)點.IF GOAL(
23、n) THEN EXIT(SUCCESS); 由n循指針前往s, 可以獲得解途徑.EXPAND(n)mi, G=ADD(mi, G), 子節(jié)點集mi中不包含n的父輩節(jié)點.人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系 7 標(biāo)志和修正指針 ADD(mj, OPEN), 并標(biāo)志mj銜接到n的指針, mj是未在OPEN和CLOSED中出現(xiàn)過的子節(jié)點. 計算能否需求修正mk, ml到n的指針; mk是出如今OPEN表中的子節(jié)點, ml是出如今CLOSED表中的子節(jié)點, Mi=MjMkMl 計算能否需求修正mi到其后記節(jié)點的指針.8.對OPEN表中的節(jié)點按某種原那么重新排序.9.GO LOOP. 人工智能吉
24、林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系對 GRAPHSEARCH算法的幾點闡明:兩個圖, G: 搜索圖, 它是記錄算法訪問過的一切節(jié)點的圖,初始化為問題的初始形狀s, 在搜索過程中不斷地擴(kuò)展. T: G的有向支撐樹, 與G有同樣的節(jié)點, 由指針定義. 記錄由該節(jié)點到s的最短途徑, 在搜索過程中需求不斷調(diào)整.2. 兩個表: OPEN和CLOSED, OPEN表記錄搜索圖的前沿, CLOSED表記錄曾經(jīng)擴(kuò)展過的節(jié)點.3. 樹T的指針的建立和調(diào)整. 樹T中節(jié)點的指針記錄從該節(jié)點到初始節(jié)點s的最短途徑, 隨著算法的進(jìn)展, 圖的擴(kuò)展, 這些指針需求不斷地調(diào)整. 對新產(chǎn)生的節(jié)點, 為其建立指針. 對OPEN和C
25、LOSED表中的節(jié)點, 需求思索調(diào)整其指針, 對于CLOSED表中節(jié)點, 還需求思索調(diào)整其后繼節(jié)點的指針.人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系Notes about the procedure GRAPHSEARCH 1. Two graphs: G: The explicit part of the graph generated by the production system, its initial node is the initial state, it is expanded constantly. T: the directed support tree of G, it
26、 has same nodesas the graph G, his arc(only one outgoing arc from a node) direct the shortest path from one node to another node. The arcs are marked by pointers. In order to preserve the character, the procedure need to readjust the arcs of the tree constantly.人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系2. Two list: OPEN
27、 the frontier nodes of graph G, from which, we select a node to expand. CLOSED the interior nodes of graph G, the node have been expanded. 3. The establishment and readjustment of the pointers of tree T. For the newly generated nodes, we need to establish the pointer for them. For the nodes in the l
28、ists on OPEN and CLOSED , we need to consider to readjust their pointers. For the nodes of CLOSED, we need to consider the readjustment of their descendants, for the adjustment of the nodes of CLOSED may influence their descendants pointers 人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系s12人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系12人工智能吉林大學(xué)珠海學(xué)院
29、計算機(jī)科學(xué)與技術(shù)系1.3 1.3 無信息的圖搜索過程無信息的圖搜索過程 深度優(yōu)先和寬度優(yōu)先深度優(yōu)先和寬度優(yōu)先 深度優(yōu)先和寬度優(yōu)先的思想在數(shù)據(jù)構(gòu)造中曾經(jīng)講過深度優(yōu)先和寬度優(yōu)先的思想在數(shù)據(jù)構(gòu)造中曾經(jīng)講過, , 在在數(shù)據(jù)構(gòu)造中是作為樹的遍歷的方法講的數(shù)據(jù)構(gòu)造中是作為樹的遍歷的方法講的, , 人工智能中在形狀人工智能中在形狀空間中搜索解的過程也類似于遍歷空間中搜索解的過程也類似于遍歷. . 所不同的是這里搜索的所不同的是這里搜索的是圖而不是樹是圖而不是樹. .所以這里我們只討論與解有關(guān)的問題所以這里我們只討論與解有關(guān)的問題 寬度優(yōu)先在搜索解的過程中總是在探求了層數(shù)小于或等寬度優(yōu)先在搜索解的過程中總是在
30、探求了層數(shù)小于或等于于n n的節(jié)點之后才進(jìn)入到的節(jié)點之后才進(jìn)入到n+1n+1層節(jié)點的探求層節(jié)點的探求, , 所以這中方法獲所以這中方法獲得的解具有最短的解途徑得的解具有最短的解途徑. .但假設(shè)圖的分枝系數(shù)很高但假設(shè)圖的分枝系數(shù)很高, , 或者解或者解途徑很長途徑很長, ,效率會很低效率會很低. . 深度優(yōu)先可以很快地使實驗解途徑延伸到很長深度優(yōu)先可以很快地使實驗解途徑延伸到很長, , 假設(shè)剛假設(shè)剛好在延伸的過程中遇到解好在延伸的過程中遇到解, , 這種方法的效率會很高這種方法的效率會很高, , 但不能但不能保證找到有最短的解途徑保證找到有最短的解途徑. . 甚至即使在原問題有解的時候甚至即使在
31、原問題有解的時候, , 也會發(fā)生會在錯誤的方向上無限延伸下去而找不到解的情況也會發(fā)生會在錯誤的方向上無限延伸下去而找不到解的情況, , 人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系深度優(yōu)先算法Procedure DEPTH-FIRTST SEARCH1 G=s, OPEN=(s), CLOSED = ().2 LOOP: IF OPEN=(), THEN EXIT(FAIL) n=FIRST(OPEN);4 IF GOAL(n) THEN EXIT(SUCCESS); 5 REMOVE(n, OPEN), ADD(n, CLOSED); 6 EXPAND(n)mi, G=ADD(mi, G);
32、ADD(mi, OPEN), 并標(biāo)志mi到n的指針, 把不在OPEN和 CLOSED 中的節(jié)點放在最前面, 使深度大的節(jié)點可以優(yōu)先擴(kuò)展.8 GO LOOP人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系運(yùn)用 DEPTH-FIRST-SEARCH搜索的例D6C4B4A5H3G4F5E5O2JIKP3TSKKLMNgoal人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系為保證深度優(yōu)先算法在問題有解的情況下總能找到解, 需求添加深度限制, 而且深度限制必需超越解的長度.人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系 1.4 1.4 啟發(fā)式搜索啟發(fā)式搜索4 4。0 0 簡介簡介 heuristicheuristicO
33、f or relating to a usually speculative Of or relating to a usually speculative formulation serving as a guide in the formulation serving as a guide in the investigation or solution of a problem:investigation or solution of a problem: 探求的探求的, ,做為調(diào)查或處理問題的導(dǎo)游的一種通常做為調(diào)查或處理問題的導(dǎo)游的一種通常為推測性系統(tǒng)論述為推測性系統(tǒng)論述 回溯式搜索,
34、回溯式搜索, 深度優(yōu)先和寬度優(yōu)先都不運(yùn)深度優(yōu)先和寬度優(yōu)先都不運(yùn)用領(lǐng)域知識,用領(lǐng)域知識, 效率很低。效率很低。 啟發(fā)式搜索運(yùn)用關(guān)于領(lǐng)域的信息指點,啟發(fā)式搜索運(yùn)用關(guān)于領(lǐng)域的信息指點, 使使搜索向著有利于獲得解的方向進(jìn)展。假設(shè)運(yùn)用得搜索向著有利于獲得解的方向進(jìn)展。假設(shè)運(yùn)用得好,可以明顯地減少搜索空間,好,可以明顯地減少搜索空間, 提高搜索效率提高搜索效率 例如,例如, 在九宮游戲中運(yùn)用啟發(fā)式搜索,在九宮游戲中運(yùn)用啟發(fā)式搜索, 就可以顯著地減少搜索空間就可以顯著地減少搜索空間人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系MINMAX人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系在九宮游戲中運(yùn)用啟發(fā)式搜索: 運(yùn)
35、用啟發(fā)函數(shù) h(s) = MAX 已投下的子可以占據(jù)的行, 列和對角線數(shù)人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系MINMAX54432434445人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系 啟發(fā)式搜索算法啟發(fā)式搜索算法 最正確優(yōu)先搜索。最正確優(yōu)先搜索。 根據(jù)啟發(fā)函數(shù)對尚為探求的節(jié)點進(jìn)根據(jù)啟發(fā)函數(shù)對尚為探求的節(jié)點進(jìn)展排序,展排序, 把最有希望的節(jié)點排再前面,把最有希望的節(jié)點排再前面, 在擴(kuò)展節(jié)點時把最在擴(kuò)展節(jié)點時把最有希望的節(jié)點拿出來思索。有希望的節(jié)點拿出來思索。 最正確優(yōu)先搜索算法最正確優(yōu)先搜索算法 function best-first-searchfunction best-first-
36、search 算法保管算法保管 2 2 個表,個表, 一個是一個是openopen表,表, 記錄曾經(jīng)產(chǎn)生但尚記錄曾經(jīng)產(chǎn)生但尚未探求的節(jié)點,未探求的節(jié)點, 另一個是另一個是closed closed 表,表, 記錄曾經(jīng)探求過的節(jié)記錄曾經(jīng)探求過的節(jié)點,點, 算法把新產(chǎn)生的節(jié)點參與到算法把新產(chǎn)生的節(jié)點參與到open open 表中,表中, 然后按啟發(fā)函然后按啟發(fā)函數(shù)值將它們排序,數(shù)值將它們排序, 把最有希望的節(jié)點排在前面,把最有希望的節(jié)點排在前面, 選出來加選出來加以測試和擴(kuò)展以測試和擴(kuò)展人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系啟發(fā)式搜索算法A評價函數(shù) 根據(jù)領(lǐng)域知識, 對形狀空間的形狀的好壞程度的
37、度量。 通常運(yùn)用的評價函數(shù)為: f(n)=g(n)+h(n) g*(n) 初始節(jié)點到節(jié)點 n 的間隔. h*(n) 節(jié)點 n 到目的節(jié)點g 的間隔. f*(n)=g*(n)+h*(n), 從初始節(jié)點到目的節(jié)點 g 的間隔. f(n),g(n),h(n)分別是 f*(n), g*(n), h*(n)的估計值.人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系A(chǔ)算法Procedure A1 G=s, OPEN=(s), CLOSED = ().2 LOOP: IF OPEN=(), THEN EXIT(FAIL)3 n=FIRST(OPEN);4 IF 4 IF GOAL(n) THEN EXIT(SUC
38、CESS); 5 REMOVE(n, OPEN), ADD(n, CLOSED); EXPAND(n)mi, G=ADD(mi, G); 建立和調(diào)整指針, 計算各節(jié)點的f 值. 并按各點的f值調(diào)整指針.7 把OPEN表中的節(jié)點按f值從小到大排序.8 GO LOOP人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系2 8 31 6 47 52 8 31 6 4 7 52 8 31 47 6 52 8 31 6 47 541+5=61+3=41+5=61 2 38 47 6 5目的形狀h 值是偏離目的位置的塊數(shù)W(n)人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系2 8 31 6 47 52 8 31 6 4
39、 7 52 8 31 47 6 52 8 31 6 47 5 2 8 3 1 47 6 52 31 8 47 6 52 8 31 47 6 5 2 31 8 47 6 52 31 8 47 6 51 2 3 8 47 6 51 2 38 47 6 51 2 37 8 4 6 5 8 32 1 47 6 52 8 37 1 4 6 512345Goal node6s4A6B4C6D5E5F6G6H7I5J7K5L5M77人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系初始化. Open = s4; closed = 1. 測試s4, Open = B4, A6, C6; closed = s42. 測
40、試B4, Open = D5, E5,A6, C6, F6; closed = s4, B4 3. 測試D5, Open = E5,A6, C6, F6,G6, H7; closed = s4, B4, D5 4. 測試E5, Open = I5,A6, C6, F6,G6, H7, J7; closed = s4, B4, D5,E5 5. 測試I5, Open = K5,A6, C6, F6,G6, H7, J7; closed = s4, B4, D5,E5, I5 6. 測試K5, Open = L5,A6, C6, F6,G6, H7, J7, M7; closed = s4, B4
41、, D5,E5, I5,K5 7. L = goal, 勝利找到了解人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系2 8 31 6 47 52 8 31 6 4 7 52 8 31 47 6 52 8 31 6 47 5 2 8 3 1 47 6 52 31 8 47 6 52 8 31 47 6 5 2 31 8 47 6 52 31 8 47 6 51 2 3 8 47 6 51 2 38 47 6 51 2 37 8 4 6 5 8 32 1 47 6 52 8 37 1 4 6 512345Goal node644646556675755772 8 31 6 47 52 8 31 6 47
42、 5 Closed表中的節(jié)點open表中的節(jié)點選擇節(jié)點 D 擴(kuò)展時的Open表和closed 表人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系2. 爬山法 f(n)=h(n)分支界限法 f(n)=g(n)4. 動態(tài)規(guī)劃法 對分支界限法的改良, 假設(shè)有多條到達(dá)某一節(jié)點的途徑, 只保管費(fèi)用最小的一條.人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系分支界限法sDAEFtBC32534544設(shè)有 7 城市, 城市之間的間隔如圖, 求從s到t的最短通路人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系分支界限法sDA1g=02g=33g=4人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系分支界限法sDA1g=02g=33g=
43、4DB5g=76g=8人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系分支界限法sDA1g=02g=33g=4DB5g=76g=8EA7g=94g=6人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系分支界限法sDA1g=02g=33g=4DB5g=76g=8EA7g=94g=6Bg=11g=13F109人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系分支界限法sDA1g=02g=33g=4DB5g=76g=8EA7g=94g=6ECg=11g=121112109Bg=11g=13F人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系分支界限法sDA1g=02g=33g=4DB5g=76g=8EA7g=94g=6ECg=1
44、1g=12BEg=10g=11Bg=13FDFBFACtg=14g=16g=15g=14g=15g=15g=1311128109人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系動態(tài)規(guī)劃法sDA1g=02g=33g=4DB5g=76g=8EA7g=94g=6ECBg=11Fg=10tg=14g=131112109人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系5. 5. 最正確圖搜索算法最正確圖搜索算法A A* * 在啟發(fā)式搜索中運(yùn)用評價函數(shù)在啟發(fā)式搜索中運(yùn)用評價函數(shù) f(n) = g(n) + h(n) f(n) = g(n) + h(n) 其中,其中, g(n) g(n) 是從初始形狀到是從初始形狀到
45、n n 費(fèi)用;費(fèi)用; h(n) h(n)是從是從 n n 到目的的啟發(fā)式估計費(fèi)用到目的的啟發(fā)式估計費(fèi)用把運(yùn)用這種估值函數(shù)的啟發(fā)式程序叫做把運(yùn)用這種估值函數(shù)的啟發(fā)式程序叫做A A算法。算法。 假設(shè)形狀空間的圖搜索問題存在解途徑,假設(shè)形狀空間的圖搜索問題存在解途徑, 搜索算搜索算法法 f f 一定能找到該問題的最優(yōu)解途徑,一定能找到該問題的最優(yōu)解途徑, 那么稱算那么稱算法法 f f 是可采用的。是可采用的。 假設(shè)在假設(shè)在A A算法中運(yùn)用的啟發(fā)函數(shù)滿足算法中運(yùn)用的啟發(fā)函數(shù)滿足 h(n) h h(n) h* *(n) (n) 那么稱之為那么稱之為 A A* * 算法。算法。人工智能吉林大學(xué)珠海學(xué)院計算
46、機(jī)科學(xué)與技術(shù)系 A*算法是可采用的假設(shè)存在從初始節(jié)點s到目的節(jié)點t的途徑, 那么A*算法必能找到最正確解途徑。 例如, 在寬度優(yōu)先搜索中, h(n) 0,滿足 h(n) h*(n) , 是可采用的。和前面舉例的f(n) = g(n) + h(n)中, h(n)取為偏離目的位置的塊數(shù), 滿足h(n) h*(n) ,也是可采用的。人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系單調(diào)性單調(diào)性 在算法在算法 A 中,中, g(n)是是 g*(n) 的估計值,的估計值, 定義為在曾經(jīng)產(chǎn)生定義為在曾經(jīng)產(chǎn)生的節(jié)點中從初始節(jié)點到的節(jié)點中從初始節(jié)點到 n 的最短途徑的費(fèi)用,的最短途徑的費(fèi)用, 在算法進(jìn)展的在算法進(jìn)展的
47、過程中,過程中, 我們需求不斷地計算,我們需求不斷地計算, 比較和調(diào)整這條最短途徑,比較和調(diào)整這條最短途徑, 這要耗費(fèi)大量的計算時間,因此也影響算法的效率,假設(shè)能這要耗費(fèi)大量的計算時間,因此也影響算法的效率,假設(shè)能對啟發(fā)函數(shù)添加某些限制條件,對啟發(fā)函數(shù)添加某些限制條件, 使得在這種限制條件下,實使得在這種限制條件下,實際上就可以證明際上就可以證明 g(n) 就是就是 g*(n), 那么為獲得那么為獲得 g(n)所需求的計所需求的計算就可以省略了。算就可以省略了。 這個條件就是單調(diào)性。這個條件就是單調(diào)性。 定義:定義: 單調(diào)性單調(diào)性 啟發(fā)函數(shù)單調(diào)的條件是:啟發(fā)函數(shù)單調(diào)的條件是: 1。 對于一切的
48、形狀對于一切的形狀ni和和nj, 其中其中nj是是ni的后繼的后繼 h(ni) - h(nj) cost(ni, nj) cost(ni, nj)是節(jié)點是節(jié)點ni和和nj之間的實踐最小費(fèi)用之間的實踐最小費(fèi)用 2。 h(goal) = 0 人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系啟發(fā)函數(shù)的比較啟發(fā)函數(shù)的比較 設(shè)有兩個算法,設(shè)有兩個算法, 分別運(yùn)用兩個啟發(fā)函數(shù)分別運(yùn)用兩個啟發(fā)函數(shù) 算法算法1, f1(n) = g1(n) + h1(n) 算法算法2, f2(n) = g2(n) + h2(n) 哪一個更好一些呢?哪一個更好一些呢?定義定義 信息度信息度 對于兩個對于兩個A*啟發(fā)式函數(shù)啟發(fā)式函數(shù)h
49、1(n)和和 h2(n), 假設(shè)對于搜索假設(shè)對于搜索空間中的一切的節(jié)點空間中的一切的節(jié)點 n, 都有都有 h1(n) h2(n)那么稱那么稱h2(n) 比比 h1(n)有更高的信息度。有更高的信息度。 假設(shè)假設(shè)h2(n) 比比 h1(n)有更高的信息度,有更高的信息度, 那么算法那么算法2所擴(kuò)展所擴(kuò)展的節(jié)點一定會被算法的節(jié)點一定會被算法1所擴(kuò)展,所擴(kuò)展, 換句話說,換句話說, 算法算法2所擴(kuò)展所擴(kuò)展的節(jié)點比算法的節(jié)點比算法1擴(kuò)展的節(jié)點少。擴(kuò)展的節(jié)點少。人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系 A*算法的運(yùn)用舉例算法的運(yùn)用舉例. (1) 8 數(shù)碼問題數(shù)碼問題 h(n) = P(n), P(n)
50、為每一方塊與目的位置的間隔的總和為每一方塊與目的位置的間隔的總和. (2) 傳教士與野人問題傳教士與野人問題 h(n)=0 h(n)=M+C h(n)=M+C-2B傳教士與野人渡河問題:有 N 個傳教士帶 N 個野人渡河,河的岸邊有一條船, 每次最多可載 K 人,要求無論在河的哪一邊,或是在船上,野人的數(shù)目不能超越傳教士的數(shù)目,問為平安起見, 應(yīng)如何安排傳教士與野人渡河?N=5, K=3。人工智能吉林大學(xué)珠海學(xué)院計算機(jī)科學(xué)與技術(shù)系2 8 31 6 47 52 8 31 6 4 7 52 8 31 47 6 52 8 31 6 47 5 2 8 3 1 47 6 52 31 8 47 6 52 8 31 47 6 5 2 31 8 47 6 52 31 8 47 6 51 2 3 8 47 6 51 2 38 47 6 51 2 37 8 4 6 5 8 32 1 47 6 52 8 37 1 4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 國慶假期活動方案
- 國慶節(jié)酒店漲價活動方案
- 2、3、4的乘法口訣(說課稿)-2024-2025學(xué)年二年級上冊數(shù)學(xué)人教版
- Unit1 There is a horse in this photo(說課稿)-2024-2025學(xué)年外研版(三起)四年級上冊001
- 17《他們那時候多有趣啊》(說課稿)-2023-2024學(xué)年統(tǒng)編版語文六年級下冊
- 13 我能行(說課稿)-統(tǒng)編版(五四制)道德與法治二年級下冊
- 2025建筑工程勞務(wù)分包合同
- 2023九年級數(shù)學(xué)下冊 第2章 圓2.2 圓心角、圓周角2.2.2 圓周角第2課時 圓周角(2)說課稿 (新版)湘教版
- 6《千人糕》說課稿-2023-2024學(xué)年二年級下冊語文統(tǒng)編版
- 1986電站用工合同范例
- 水利水電工程監(jiān)理平行檢測表部分
- 分部分項工程質(zhì)量檢驗計劃表
- 社區(qū)衛(wèi)生服務(wù)中心醫(yī)療服務(wù)推薦病-2023版1-4-10
- HY/T 266-2018外壓中空纖維超濾膜表面親水性的測試接觸角法
- GB/T 4857.3-2008包裝運(yùn)輸包裝件基本試驗第3部分:靜載荷堆碼試驗方法
- 【英文原版小說】the things they carried《負(fù)荷》
- 領(lǐng)導(dǎo)干部如何管理壓力與情緒課件
- 2022-2023年度神農(nóng)中華農(nóng)業(yè)科技獎科研和科普類推薦書和摘要表(樣本)
- 《鄉(xiāng)土中國-差序格局》學(xué)案-統(tǒng)編版高中語文必修上冊
- 大學(xué)成績單中文(word版)
- 海南省儋州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃代碼居民村民委員會
評論
0/150
提交評論