《狀態(tài)空間搜索》PPT課件.ppt_第1頁
《狀態(tài)空間搜索》PPT課件.ppt_第2頁
《狀態(tài)空間搜索》PPT課件.ppt_第3頁
《狀態(tài)空間搜索》PPT課件.ppt_第4頁
《狀態(tài)空間搜索》PPT課件.ppt_第5頁
已閱讀5頁,還剩176頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

狀態(tài)空間搜索,狀態(tài)空間搜索策略 數(shù)據(jù)驅動和目標驅動的搜索 圖搜索的實現(xiàn) 深度和廣度優(yōu)先搜索 有界深度優(yōu)先搜索 謂詞演算推理的狀態(tài)空間表示法 邏輯的狀態(tài)空間描述 與/或圖 討論,基于遞歸的搜索 遞歸 遞歸搜索 模式驅動搜索 產(chǎn)生式系統(tǒng) 定義與歷史 產(chǎn)生式系統(tǒng)示例 產(chǎn)生式系統(tǒng)搜索的控制 產(chǎn)生式系統(tǒng)的優(yōu)點,狀態(tài)空間搜索策略 數(shù)據(jù)驅動和目標驅動的搜索 狀態(tài)空間可以從兩個方向進行搜索:從實際問題的給定數(shù)據(jù)向目標搜索或者從目標到數(shù)據(jù)進行搜索。 數(shù)據(jù)驅動搜索,也稱為正向推理。搜索的過程是應用規(guī)則從給定的條件產(chǎn)生新的條件,再用規(guī)則從新的條件產(chǎn)生更多的新條件。這個過程持續(xù)到有一條滿足目標要求的路徑產(chǎn)生為止。,另一種求解方法是:先從欲想達到的目標開始,看哪些規(guī)則或合法移動能產(chǎn)生該目標以及應用這些規(guī)則產(chǎn)生目標時需要哪些條件。這些條件就成為我們要達到的新目標,即子目標。搜索就通過反向的、連續(xù)的子目標不斷地進行,一直到找到問題給定的條件為止。這樣就找到了一條從數(shù)據(jù)到目標的移動或規(guī)則組成的鏈,盡管搜索方向和它正好相反。這種方法稱為目標驅動的推理或反向推理。 在實際的搜索系統(tǒng)中可能兩種方法同時使用,即一方面從數(shù)據(jù)驅動向目標進行,可能搜索到某一個子目標;另一方面又從目標向數(shù)據(jù)方面進行搜索,剛好也搜索到該子目標,這時推理也結束,即假設的目標正確。,圖搜索的實現(xiàn),無論是目標還是數(shù)據(jù)驅動的搜索,其求解問題都是要在狀態(tài)空間圖中找到從初態(tài)到目標狀態(tài)的路徑。而路徑上弧的序列就對應解題的先后步驟。若在選擇解題路徑時能給出絕對可靠的預言或絕對正確的機制,那就不需要搜索了,求解時會一次成功地穿過空間到達目標,構造出一條求解路徑來。但實際問題中沒有絕對可靠的預言,求解時必須嘗試多條路徑直到找到目標為止?;厮菔且环N經(jīng)常使用的技術。,圖搜索的實現(xiàn)(續(xù)),帶回溯的搜索從初始狀態(tài)出發(fā),不停地尋找路徑一直到它到達目標或“不可解端點”。若找到目標,就退出搜索,返回解題路徑,若遇到不可解結點,就回溯到路徑中最近的父結點上,查看是否有當前結點的兄弟結點未擴展,并沿這些分支繼續(xù)搜索。算法在每個結點上的檢查過程遵循下面的遞歸方式:,圖搜索的實現(xiàn)(續(xù)),若當前狀態(tài)S未到達目標的要求,就對它的第一子狀態(tài)Schild1遞歸調用回溯過程。如果在以Schild1為根的子圖中沒有找到目標,就對它的兄弟Schild2調用此過程。此過程重復進行到某個結點的后裔是目標或者所有子結點都搜索完為止。,圖搜索的實現(xiàn)(續(xù)),算法就是以這種方式執(zhí)行直到找到目標或遍歷了狀態(tài)空間為止。下圖給出的是一個假設的狀態(tài)空間的深度優(yōu)先回溯搜索。 1 A 2 B 8 C 10 D E 3 6 F 9 G H I J 4 5 7 一個假設狀態(tài)空間的深度優(yōu)先回溯搜索,圖搜索的實現(xiàn)(續(xù)),下面定義一個回溯搜索的算法:算法使用3張表保存狀態(tài)空間中的結點。 SL狀態(tài)表列出了當前路徑上的狀態(tài)。如果找到了目標,SL就是解題路徑上狀態(tài)的有序集。 NSL新狀態(tài)表,包含了等待評估的結點,其后裔結點還未被擴展。DE不可解端點集,列出了找不到解題路徑的狀態(tài)。如果在搜索中再遇到它們,就會檢測到它們是DE中的成分而立即將其排除。 為了在最普遍的情況下(是圖而不是樹)定義回溯算法,有必 要檢測并刪除多次出現(xiàn)的某些狀態(tài),以避免造成路徑循環(huán)。檢測可以通過對每一個新生成的狀態(tài)判斷它是否在上述3張表中來實現(xiàn),如果它屬于某一張表,就說明它已被搜索過不必再考慮。,圖搜索的實現(xiàn)(續(xù)),當前正在搜索的結點叫CS,即當前狀態(tài)。CS總是等于最近加入SL中的狀態(tài),是當前正在探尋的解題路徑的“前鋒”。博弈中走步用的推理規(guī)則或者其他合適的問題求解操作都可應用于CS,得到一些新狀態(tài),即CS的子狀態(tài)的有序集,重新視該集合中第一個狀態(tài)為當前狀態(tài),其余的按次序放入NSL中,用于以后的搜索。新的CS加入SL中,搜索就這樣繼續(xù)進行。若CS沒有子狀態(tài),就要從SL,NSL中刪除它,將其加入DE,然后回溯查找NSL中的下一個狀態(tài)。,圖搜索的實現(xiàn)(續(xù)),Function backtrack (回溯算法) begin SL:=Start; NSL:= Start; DE := ; CS :=Start; /*初始化*/ while NSL /*還有未檢查的狀態(tài)*/ do begin if CS = 目標(或符合目標的要求) then return (SL); /*成功,返回路徑狀態(tài)的表*/ if CS沒有子狀態(tài)(不包括DE,SL和NSL中已有的狀態(tài)) then begin while(SL非空)and(CS = SL中第一個元素),圖搜索的實現(xiàn)(續(xù)),do begin 將CS加入DE;/*標明此狀態(tài)不可解*/ 從SL中刪除第一個元素;/*回溯*/ 從NSL中刪去第一個元素; CS:=NSL中第一個元素; end; 將CS加入SL; end else begin 將CS子狀態(tài)(不包括DE、SL、NSL中有的)加入NSL;,圖搜索的實現(xiàn)(續(xù)),CS:=NSL中第一個元素; 將CS加入SL; end end; return FAIL end. 假設狀態(tài)空間的深度優(yōu)先回溯搜索中的回溯軌跡如下: 初值:SL = A;NSL= A;DE= ;CS=A;,圖搜索的實現(xiàn)(續(xù)),重復 CS SL NSL DE 0 A A A 1 B BA BCDA 2 E EBA EFBCDA 3 H HEBA HIEFBCDA 4 I IEBA IEFBCDA H 5 F FBA FBCDA EIH 6 J JFBA JFBCDA EIH 7 C CA CDA BFJEIH 8 G GCA GCDA BFJEIH,1 A 2 B 8 C 10 D 3 E 6 F 9 G 4 H 5 I 7 J 一個假想的狀態(tài)空間的深度優(yōu)先回溯搜索,狀態(tài)空間的一般搜索過程 一個問題的狀態(tài)空間是一個三元組,即 S,F,G,其中S是問題所有可能的狀態(tài)的集合,F(xiàn)是操作的集合,G是目標狀態(tài)的集合一般,如果問題的狀態(tài)空間不太大的話,可以用顯式的方式畫出其狀態(tài)空間圖,否則用隱式的方法畫出其狀態(tài)空間圖對狀態(tài)空間的搜索就是從圖中某個初始狀態(tài)出發(fā),尋求一條到達目標狀態(tài)的路徑,狀態(tài)空間的一般搜索過程,對狀態(tài)空間的搜索過程用到兩張表:OPEN表和CLOSED表,它們的結構如下: Open 表 狀態(tài)節(jié)點 父節(jié)點 Closed表 編號 狀態(tài)節(jié)點 父節(jié)點 ,狀態(tài)空間的一般搜索過程,其中open表存放剛生成的節(jié)點,對于不同的搜索策略,節(jié)點在open表中的排列順序是不同的例如對寬度優(yōu)先搜索是先生成的節(jié)點排在前面,而對深度優(yōu)先搜索則是后生成的節(jié)點排在前面 Closed表用于存放將要擴展或者已經(jīng)擴展的節(jié)點搜索的一般過程如下:,狀態(tài)空間的一般搜索過程,(1)把初始節(jié)點S0放進open表,并建立只包含S0的圖,記為 (2)檢查open表是否為空,若為空則問題無解,退出 (3)把open表的第一個節(jié)點取出放入closed表,并記該節(jié)點為n. (4)考察節(jié)點n是否為目標節(jié)點,若是,則求得了問題的解,退出 (5)擴展節(jié)點n,生成一組子節(jié)點把其中不是,狀態(tài)空間的一般搜索過程,節(jié)點n的先輩的那些子節(jié)點記作集合,并把這些子節(jié)點作為節(jié)點n的子節(jié)點加入中 (6)針對中子節(jié)點的不同情況,分別進行如下處理: )對那些未曾在中出現(xiàn)過的成員設置一個指向父節(jié)點(即節(jié)點n)的指針,并把它們放入open表 )對于那些先前已在中出現(xiàn)的成員,確定是否需要修改它指向父節(jié)點的指針 )對于那些先前已在中出現(xiàn)并且已經(jīng)擴展,狀態(tài)空間的一般搜索過程,了的成員,確定是否是需要修改其后繼節(jié)點指向父節(jié)點的指針 (7)按某種搜索策略對open表中的節(jié)點進行排序 (8)轉第步 說明:上面對狀態(tài)空間的搜索過程具有通用性,后面討論的各種搜索策略都可看作是它的一個特例各種搜索策略的主要區(qū)別僅在于open表中節(jié)點的排序準則不同例如在寬度優(yōu)先搜索中是先生成的節(jié)點排在前,在深度優(yōu)先搜索中是后生成的節(jié)點排在前等,狀態(tài)空間的一般搜索過程,一個節(jié)點經(jīng)一個算符操作后一般只生成一個子節(jié)點,但適用于一個節(jié)點的算符可能有多個,此時就會生成一組子節(jié)點在這些子節(jié)點中可能有些是當前擴展節(jié)點(即節(jié)點n)的父節(jié)點,祖父節(jié)點等,此時不能把這些先輩節(jié)點作為當前擴展節(jié)點的子節(jié)點余下的子節(jié)點記作集合,并加入圖中 一個新生成的節(jié)點,它可能是第一次被生成的節(jié)點,也可能是先前已作為其它節(jié)點的后繼節(jié)點被生成過,當前又作為另一個節(jié)點的后繼節(jié),狀態(tài)空間的一般搜索過程,點被再次生成此時,它應該作為哪一個節(jié)點的后繼呢?一般由原始節(jié)點到該節(jié)點上所付出的代價來決定,哪條路徑付出的代價小,相應的節(jié)點就作為它的父節(jié)點,深度和廣度優(yōu)先搜索,深度優(yōu)先搜索、廣度優(yōu)先搜索、有界深度優(yōu)先搜索及最好優(yōu)先搜索都與backtrack方法類似,所不同的是,它們實現(xiàn)了另外一些搜索策略,為求解提供了更靈活的手段。 廣度優(yōu)先搜索采取的是先橫后縱的搜索策略,而深度優(yōu)先搜索采取的是先縱后橫的搜索策略。 A B C D E F G H I J K L M N O P Q R S T U 用于深度和廣度優(yōu)先搜索的例圖,深度和廣度優(yōu)先搜索,例如在上面的深度和廣度優(yōu)先搜索圖中,深度優(yōu)先搜索的順序是: A,B,E,K,S,L,T,F(xiàn),M,C,G,N,H,O,P,U,I,Q,J,R 而在廣度優(yōu)先搜索中結點的順序是: A,B,C,D,E,F(xiàn),G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U 算法中設有兩個表:OPEN表和CLOSED表。 OPEN表中放的是未擴展的結點, CLOSED表中放的是已擴展的結點。,深度和廣度優(yōu)先搜索,可以看出這里的open表與回溯算法中的NSL相似,而closed表則是回溯算法中SL和DE的合并. 當對解的先驗信息有所了解時(比如知道解可能落在最右分枝或最左分枝上時)深度優(yōu)先搜索的速度還是很快的,如果弄錯了方向可能會使搜索落入陷阱中,補救的措施是采用定界的方法有界深度優(yōu)先搜索。其思想是定一個界d,這個界d可以是深度 ,也可以是一個代價。 以上幾種搜索方法都是盲目搜索的典型代表。,寬度優(yōu)先搜索,寬度優(yōu)先搜索的過程如下: 、把初始節(jié)點放入open表 、如果open表為空,則問題無解,退出 、把open表的第一個節(jié)點(記為n)取出放入closed表 、考察節(jié)點n是否為目標節(jié)點,若是則求得了問題的解,退出。 、若節(jié)點n不可擴展,則轉第步 、擴展節(jié)點n將其子節(jié)點放入open表的尾部,寬度優(yōu)先搜索,并為每一個子節(jié)點配置指向父節(jié)點指針,然后轉其圖示如p265的圖所示 例:重排九宮問題在一個的方格棋盤上放置分別標有數(shù)字1,2,3,4,5,6,7,8的張牌,初始狀態(tài)為S0目標狀態(tài)為Sg即: S0為: Sg 為: ,寬度優(yōu)先搜索,可使用的算符有,空格左移,右移,上移,下移 寬度優(yōu)先搜索的圖示如p267頁的圖,深度優(yōu)先搜索,深度優(yōu)先搜索的過程如下: 、把初始節(jié)點放入open表 、如果open表為空,則問題無解,退出 、把open表的第一個節(jié)點(記為n)取出放入closed表 、考察節(jié)點n是否為目標節(jié)點,若是則求得了問題的解,退出。 、若節(jié)點n不可擴展,則轉第步 、擴展節(jié)點n將其子節(jié)點放入open表的首部,深度優(yōu)先搜索,深度優(yōu)先搜索和寬度優(yōu)先搜索的區(qū)別僅在于:寬度優(yōu)先搜索是把節(jié)點n的子節(jié)點放入到open表的尾部,而深度優(yōu)先搜索則是將節(jié)點n的子節(jié)點放入open表的首部深度優(yōu)先搜索重排九宮的例子見p268頁的圖,有界深度優(yōu)先搜索,為了解決深度優(yōu)先搜索不完備的問題,避免搜索過程陷入無窮分支的死循環(huán),提出了有界深度優(yōu)先搜索方法其過程如下: 、把初始節(jié)點放入open表,置S0深度d(S0)=0 、如果open表為空,則問題無解,退出 、把open表的第一個節(jié)點(記為n)取出放入closed表,有界深度優(yōu)先搜索,、考察節(jié)點n是否為目標節(jié)點,若是則求得了問題的解,退出。 、若節(jié)點n的深度d(n)=dm則轉 、若節(jié)點n不可擴展,轉 、擴展節(jié)點n將其子節(jié)點放入open表的首部,并為其配置指向父節(jié)點的指針,轉 如果問題有解,且其路徑長度 dm,則上述搜索過程一定能求得解,若解的路徑長度 dm則上述搜索過程就得不到解即界的選擇很重要的不是越大就越好,有界深度優(yōu)先搜索,有界深度優(yōu)先搜索的例子見p269的 圖,代價樹的寬度優(yōu)先搜索,在上面的搜索中都沒有考慮代價的問題,即假設各邊上的代價是相同的,如果不是這樣,邊上是附有不同的數(shù)字的即代價(這樣的樹稱為代價樹)在代價樹中如果用g(x)表示從初始節(jié)點S0到節(jié)點x的代價,用c(x1,x2)表示從父節(jié)點x1到子節(jié)點x2的代價,則有: g(x2) = g(x1)+ c(x1,x2) 代價寬度優(yōu)先搜索的基本思想就是每次從open表中選擇節(jié)點往closed表傳送時總是選擇代價最小的節(jié)點也就是說open表中的節(jié)點在任一時刻都是按代價從小到大排序的,代價樹的寬度優(yōu)先搜索,其搜索過程如下: 、把初始節(jié)點放入open表,置S0的代價g(S0)=0 、如果open表為空,則問題無解,退出 、把open表的第一個節(jié)點(記為n)取出放入closed表 、考察節(jié)點n是否為目標節(jié)點,若是則求得了問題的解,退出。 5、若節(jié)點n不可擴展,轉,代價樹的寬度優(yōu)先搜索,6、擴展節(jié)點n將其子節(jié)點放入open表中,并為其配置指向父節(jié)點的指針,計算各子節(jié)點的代價,并按代價對open表中的全部節(jié)點按從小到大的順序排序,轉 搜索過程見p270頁的圖 書上例.7給出了求城市間交通圖,現(xiàn)要求從城市到城市的最小費用交通路線求解該問題時首先要把圖轉換成代價樹,代價樹的寬度優(yōu)先搜索,A 4 B 4 4 C 2 D 5 3 E 交通圖,代價樹的寬度優(yōu)先搜索,轉化成代價樹 A 3 4 C1 B1 2 4 5 D1 D2 E1 3 4 2 3 E2 B2 C2 E3 5 E4 交通圖的代價樹,代價樹的寬度優(yōu)先搜索,從起始節(jié)點開始,把與它直接相鄰的節(jié)點作為它的子節(jié)點,若一個節(jié)點已經(jīng)作為某個節(jié)點的直系先輩,則不能再作為該節(jié)點的子節(jié)點為了區(qū)別一個節(jié)點可能在代價樹中的多次出現(xiàn),用下標1,2,標出例如,E1,E2等都是圖中的節(jié)點廣度優(yōu)先搜索的結果是:AC D E 代價樹的深度優(yōu)先搜索類似寬度優(yōu)先搜索,只是把代價當作深度限制搜索的過程,對與/或圖的搜索,對與/或圖的搜索與一般圖的回溯相比,要求保留更多的記錄。對屬于或結點的后裔結點的檢查與回溯算法中一樣;一旦找到一條從初始狀態(tài)沿或結點通向目標的路徑,問題就解決了,除非這條路徑被證明是失敗的,算法就要回溯,探索另一分支。但檢查與結點時,要證明父結點為真,必須證明它所有的子結點為真。 如果在代價樹中計算與結點的代價時,有兩種計算方法:和代價法,最大代價法。具體使用見下圖例。,對與/或圖的搜索(續(xù)),和代價法:取與結點逐子結點的代價之和作為該與結點的代價。 最大代價法:取逐子結點中代價最大的作為該與結點的代價。 S,a1,b1,解樹A,解樹B,a2,a3,a4,a5,a6,b2,t,t,t,b3,b4,b5,5,6,2,4,4,3,4,4,2,4,5,7,3,t,與/或樹的搜索(續(xù)),上圖中原始問題S可以分解成解樹A或解樹B,即只要解決其中一個原始問題S即可解。哪一個花費的代價更少,當然就是我們希望的那個分支。 1、按和代價計算的結果:A樹為25;B樹為23 2、按最大代價法計算結果:A樹為:14;B樹為18 所以規(guī)定好計算方法取代價花費小的即可。,啟發(fā)式優(yōu)先搜索,前面我們介紹的搜索均是盲目搜索的情形,即在尋求下一步應擴展結點時,對解的先驗信息一點都不知道。 啟發(fā)(heuristic)式優(yōu)先搜索就是從狀態(tài)空間中選擇最有希望到達問題解的路徑。它在選擇待擴展結點時利用啟發(fā)式函數(shù)f(x)對OPEN表中的結點進行計算并排序,然后再進行擴展的原則。而不同問題的啟發(fā)式函數(shù)也不同,啟發(fā)式函數(shù)是影響搜索效率的一個關鍵。 啟發(fā)式函數(shù):f(x)=g(x)+ h(x) 其中g(x)是從初始結點到結點x已經(jīng)付出的代價,h(x) 是從結點x到目標結點將要付出代價的估計值。一般影響f(x)的主要因素是h(x)。,啟發(fā)式優(yōu)先搜索 算法,速度比較快的一種搜索是局部擇優(yōu)(也稱瞎子爬山 (hill climbing)法)搜索. 它的特點也是其缺點,是省略了一個OPEN表,速度提高了,但由于它沒有保留所走過的信息,所以它不能修正錯誤的路徑,可能導致它陷入無窮盡地搜索中。 瞎子爬山法在單峰單值的情況,搜索速度較快,可能找到一個最佳解;但在多峰多值的情況下只能找到較好解但不是最好解。,人工智能中Samuel的跳棋程序最早應用的就是該方法。 跳棋程序中根據(jù)幾個不同啟發(fā)值的總合來估算棋局的狀態(tài)。,啟發(fā)式優(yōu)先搜索算法,最好優(yōu)先搜索法(有序搜索法) 在最好優(yōu)先搜索法中也利用兩張表OPEN表和CLOSED表來記錄已生成而未擴展的結點和已擴展的結點。算法中有一步是根據(jù)啟發(fā)函數(shù),按結點距離目標結點的長度大小重排OPEN表中結點的順序。擴展時(或循環(huán)時)只考慮OPEN表中狀態(tài)最好的結點,這就是最好優(yōu)先搜索法。它既不是廣度優(yōu)先中的先進先出,也不是深度中的后進先出而是一個按啟發(fā)函數(shù)計算的大小為序的一個表,有時稱為“優(yōu)先隊”。 最好優(yōu)先搜索的算法描述如下:,最好優(yōu)先搜索法(續(xù)),啟動,把S0放入OPEN表 計算f(x),OPEN=NIL,取OPEN表最前面的結點N放入CLOSED表 并冠以順序編號n,N=Sg?,N可擴展?,失敗,是,否,成功,是,擴展N并用f(x)估計每個子結點Ni 及配上指向N的返回指針,將Ni 并入OPEN表,利用f(x)對OPEN表 重新排序(小的在前),是,否,否,啟發(fā)式函數(shù)的實現(xiàn),前面我們介紹過啟發(fā)式優(yōu)先搜索的關鍵是啟發(fā)式函數(shù)的制定上,不同的問題有不同的啟發(fā)式函數(shù)。下面介紹的是處理重排九宮問題時制定啟發(fā)式函數(shù)的原則。 2 8 3 1 6 4 5 6 0 7 5 2 8 3 1 2 3 1 4 3 4 0 8 4 7 6 5 7 6 5 2 8 3 1 6 4 5 6 0 7 5,位置不符將牌,距離總和,二倍將牌逆轉數(shù),目標,啟發(fā)式函數(shù)的實現(xiàn),2 1 3 1 2 3 8 4 8 4 7 5 6 7 6 5,目標,九宮問題的目標狀態(tài)及有兩個逆轉位置的狀態(tài)1和2,5和6,下面給出重排九宮問題的兩個啟發(fā)式函數(shù): f1(x)= p(x)+w(x) 其中p(x)是x結點和目標結點相比將牌不相符的數(shù)目, w(x)是結點x和目標結點相比每個將牌的距離之和。,啟發(fā)式函數(shù)的實現(xiàn),f2(x)= p(x)+3s(x) 其中p(x)是x結點和目標結點相比每個將牌“離家”的最短距離之和;s(x)是這樣計算的:每個將牌和目標相比,若該將牌的后繼和目標中該將牌的后繼不同,則該將牌得2分,相同則該將牌得0分,中間位置有將牌得1分,沒將牌得0分。顯然f2(x)的啟發(fā)強度要比f1(x)大。對于給定的格局和目標請大家按兩種啟發(fā)式函數(shù)給出搜索的狀態(tài)空間圖。 2 8 3 1 2 3 1 6 4 8 4 7 5 7 6 5,初始狀態(tài),目標狀態(tài),博弈樹的啟發(fā)式搜索策略,下棋、打牌、戰(zhàn)爭等競爭性智能活動稱為博弈。其中最簡單的一種稱為二人零和非偶然性全信息博弈。 所謂二人零和、全信息非偶然性搏弈是指: (1)對壘的雙方A、B輪流采取行動,博弈的結果只有三種情況:A勝,B??;B勝A敗;和局。 (2)對壘的雙方都了解當前的格局和過去的歷史。 (3)任何一方在采取行動之前,都要根據(jù)當前的實際情況進行得失分析,選取對自己最為有利而對對方最不利的對策,不存在碰運氣的偶然因素。,博弈樹的啟發(fā)式搜索策略,在博弈過程中,任何一方都希望自己獲得勝利。因此,在A方有多個行動方案可供選擇時,他總是選對自己有利而對B方不利的方案,站在A方的立場看問題,供A方選擇的方案之間是一種或的關系,因為主動權操在A方的手里,他或者選擇這個方案或這者選擇另一個方案。 但是,若B方也有可供選擇的若干方案,則對A方來說這些方案之間是與的關系,因為這時主動權操在B手里,這些可供選擇的方案中任何一個都可能被B選中,A方必須考慮到對自己最不利的情況發(fā)生。站在任何一方的立場上畫出來的博弈樹都是一棵與或結點交替產(chǎn)生的與/或樹稱為博弈樹。,博弈樹的啟發(fā)式搜索策略,博弈樹的特點如下: (1)博弈的初始格局是初始結點。 (2)在博弈樹中“或”結點和“與”結點是逐層交替出現(xiàn)的。自己一方擴展的結點之間是或關系,對方擴展結點之間是與關系。雙方輪流擴展結點。 (3)所有使自己獲勝的終局都是本原問題,相應的結點是可解結點;所有使對方獲勝的終局都是不可解結點。,博弈樹的啟發(fā)式搜索策略,極大極小分析法: 在二人博弈問題中,為了從眾多可供選擇的方案中選出一個對自己有利的行動方案就需要對當前情況及將要發(fā)生的情況進行分析,從中選出最優(yōu)者。最常用的方法是極大極小分析法。其基本思想是: (1)設博弈的一方是A,另一方是B。極大極小分析就是為其中的一方(例如A方)尋找最優(yōu)行動方案的方法。 (2)為了找到當前的最優(yōu)行動方案,需要對各個方案可能產(chǎn)生的后果進行比較。具體地說就是,就是要考慮每一方案實施后對方可能采取的所有行動,并計算可能的得分。,博弈樹的啟發(fā)式搜索策略,(3)計算得分,需要根據(jù)問題的特性信息定義一個估計函數(shù),用來估算當前博弈樹端結點的得分。此時估算出來的得分稱為靜態(tài)估值。 (4)當端結點的估值計算出來后,再推算父結點的得分。推算的方法是對“或”結點,選其子結點中最大的得分作為父結點的得分,這是為了使自己在可供選擇的方案中選一個對自己最有利的方案;對“與”結點,選其子結點中一個最小的得分作為父結點的得分,這是立足于最壞的情況。這樣計算出來的父結點的得分稱為倒退估值。 (5)如果一個行動方案能獲得較大的倒退估值,則它是當前最好的方案。,博弈樹的啟發(fā)式搜索策略,在博弈問題中,每一個格局可供選擇的行動方案都有很多,因此會產(chǎn)生十分龐大的博弈樹,例如,西洋跳棋完整的博弈樹約有1040 個結點。試圖用完整的博弈樹來進行極大極小分析是很困難的??尚械霓k法是生成一定深度的博弈樹,然后進行極大極小化分析找出當前最好的行動方案。如此進行下去,直到找到勝敗的結果為止。每次生成博弈樹的深度,根據(jù)實際情況而定。 下面是一個比較簡單的二人零和全信息非偶然性博弈的例子。,博弈樹的啟發(fā)式搜索策略 例:一字棋游戲,在一個3*3的方格棋盤中,由A、B兩人對弈,輪到誰走棋誰就往空格上放上自己的一只棋子,誰先使自己的棋子構成三子一線,誰就取得了勝利。設A的棋子用a表示,B的棋子用b表示,假設每次僅擴展兩層。估計函數(shù)定義如下: 設棋局為P,估計函數(shù)為e(P) (1)若P是A必勝的棋局,則e(P)=+ (2)若P是B必勝的棋局,則e(P)= - (3)若P是勝負未定的棋局, 則e(P)=e(+P) - e(-P) 其中, e(+P)表示棋局P上有可能使a成為三子一線的數(shù)目。 e(-P)表示棋局P上有可能使b成為三子一線的數(shù)目。,博弈樹的啟發(fā)式搜索策略 例如對于右面的棋局 : b e(P) = 6-4 =2 a 假定具有對稱性的兩個棋局 算作一個棋局,還假定A先走棋 我們站在A的立場上。下圖給出了A的第一招走棋生成的博弈樹。圖中結點旁的數(shù)字分別表示相應結點的靜態(tài)估值或倒推值。從圖中可以看出對于A來說最好的一著棋是S3,因為S3比S2和S1有較大的倒推值。 在A走S3這一著棋后,B的最優(yōu)選擇是S4,因為這一著棋的靜態(tài)估值較小,對A不利。不管B選擇S4或S5,A都要運用極大極小化分析法產(chǎn)生深度為2的博弈樹,以決定下一步應該如何走棋,其過程與上面類似。,一字棋,博弈樹的啟發(fā)式搜索,a,S0,S1,S2,S3,a,a,a,b,a,b,a,b,a,b,a,b,1,0,1,0,-1,-1,-2,1,b,a,-1,b,a,0,a,b,a,b,-1,0,a b,-2,b,a,1,S4,b,a,2,S5,最佳走步,一字棋的極大極小搜索,博弈樹的啟發(fā)式搜索,從上面的討論當中可以看出上面例子中定義的啟發(fā)式函數(shù)考慮的因素太少了,實際上只給出了路的概念(即整行、整列、整對角線),并且沒有對一條路上已有幾個棋子站位的情況加以區(qū)分,僅僅考慮自己站位的情況。下面定義的一個啟發(fā)式函數(shù)就比較精確。為此,引入以下概念: 0階路:一條路上沒有任何棋子站位。0階路即可屬于A方也可屬于B方,對得分沒有影響,在估值時不予考慮。 1階路:如果一條路上僅有A方(或B方)的一個棋子站位,則稱是留給A方(或B方)的一階路。 2階路:如果一條路上僅有A方(或B方)的兩個棋子站位,則稱是留給A方(或B方)的二階路。,博弈樹的啟發(fā)式搜索,一個比較好的啟發(fā)函數(shù)h2(n)定義如下: 如果n是非終局結點,則A方的靜態(tài)估值函數(shù)是: h2(n) = (A方的一階路數(shù) - B方的一階路數(shù))+4(A方的二階路數(shù) B方的二階路數(shù))+ a 其中 +2 若方出子占了方的階路 a = -2 若方出子占了方的階路 0 其它,博弈樹的啟發(fā)式搜索 例如對下面的格局按h2(n)計算靜態(tài)估值函數(shù): h2(A) = 2 1 +4(1-0)+0 =5 h2(B) = 2 2 +4(0-0)+(-2) = -2,b,a,a,A格局,b,a,a,b,B格局,博弈樹的啟發(fā)式搜索 請按A方的觀點用h2(n)為靜態(tài)估值函數(shù),給出深度為4的極大極小分析過程。,b,a,a,b,專家系統(tǒng),專家系統(tǒng)是人工智能應用領域中最活躍的一個分支,自1968年費根鮑姆等人研制成功第一個專家系統(tǒng)DENDRAL以來,應用于醫(yī)療診斷、圖象處理、石油化工、地質勘探、金融決策、實時監(jiān)控、分子遺傳工程、教學、軍事等不同領域中的專家系統(tǒng)就象雨后春筍般涌現(xiàn)出來。成功的專家系統(tǒng)不僅取得了極大的社會效益和經(jīng)濟效益,同時也促進了人工智能基本理論和基本技術的研究和發(fā)展。,專家系統(tǒng),本章將對專家系統(tǒng)的有關概念及建造技術進行討論,并給出相應的實例。,專家系統(tǒng)(續(xù)),什麼是專家系統(tǒng)? 關于專家系統(tǒng)到現(xiàn)在尚沒有一個嚴格的定義,但專家們共識: 一個專家系統(tǒng)是一個智能程序系統(tǒng),它里面應具有大量相關領域專家的知識,它能應用人工智能技術模擬領域專家求解問題的思維過程進行推理,解決相關領域內的困難問題,并且達到甚至超過領域專家的水平。,專家系統(tǒng)(續(xù)),專家系統(tǒng)的分類: 按照專家系統(tǒng)求解問題的性質,可以把它分為下列幾種類型。 1. 解釋專家系統(tǒng)(expert system for interpretation) 解釋專家系統(tǒng)的任務是通過對已知信息和數(shù)據(jù)的分析與解釋,確定它們的涵義。解釋專家系統(tǒng)具有下列的特點: (1)系統(tǒng)處理的數(shù)據(jù)量很大,而且往往是不準確的、有錯誤的、 或不完全的。,專家系統(tǒng)(續(xù)),(2) 系統(tǒng)能夠從不完全的信息中得出解釋,并能對數(shù)據(jù)作出某些假設。 (3) 系統(tǒng)的推理過程可能很復雜并且很長,因此要求系統(tǒng)具有對自身的推理過程作出解釋的能力。 作為解釋專家系統(tǒng)的例子有語音理解、圖象分析、系統(tǒng)監(jiān)視、化學結構分析和信號解釋等。,專家系統(tǒng)(續(xù)),2. 預測專家系統(tǒng)(expert system for prediction) 預測專家系統(tǒng)的任務是通過對過去和現(xiàn)在已知狀況的分析,推斷未來可能發(fā)生的情況。一個預測專家系統(tǒng)具有下列特點: (1) 系統(tǒng)處理的數(shù)據(jù)隨時間變化,而且可能是不準確和不完全的。 (2) 系統(tǒng)需要有隨時間變化的動態(tài)模型,能夠從不完全和不準確的信息中得出預報,并達到快速響應的要求。 預測專家系統(tǒng)的例子有氣象預報、軍事預測、人口預測、交通預測、經(jīng)濟預測和谷產(chǎn)量預測等。,專家系統(tǒng)(續(xù)),3. 診斷專家系統(tǒng)(expert system for diagnosis) 診斷專家系統(tǒng)的任務是根據(jù)觀察到的情況(數(shù)據(jù))來推斷出某個對象機能失常(即故障)的原因。診斷專家系統(tǒng)具有下列特點: (1)能夠了解被診斷對象或客體各組成部分的特性以及它們之間的關系。 (2) 能夠區(qū)分一種現(xiàn)象及其所掩蓋的另一種現(xiàn)象。 (3)能夠向用戶提出測量的數(shù)據(jù),并從不確切信息中得出盡可能正確的診斷。 診斷專家系統(tǒng)的例子很多,如醫(yī)療診斷,電子機械和軟件故障診斷以及材料失效診斷等。用于抗生素治療的MYCIN、肝功能檢驗的PUFF、青光眼治療的CASNET都是國內外頗有名氣的實例。,專家系統(tǒng)(續(xù)),4. 設計專家系統(tǒng)(expert system for planning) 設計專家系統(tǒng)的任務是根據(jù)設計要求,求出滿足設計問題約束目標的目標配置。一個設計專家系統(tǒng)具有如下的特點: (1)善于從多方面的約束中得到符合要求的設計結果。 (2) 系統(tǒng)需要檢索較大的可能解空間。 (3)善于分析各種子問題,并處理好子問題間的相互作用。 (4)能夠實驗性地構造出可能設計,并易對所得設計方案進行修改。 (5)能夠使用已被證明是正確的設計來解釋當前的(新的)設計。,專家系統(tǒng)(續(xù)),設計專家系統(tǒng)涉及電路(如數(shù)字電路和集成電路)設計、土木建筑工程設計、計算機結構設計、機械產(chǎn)品設計和生產(chǎn)工藝設計等。 5. 規(guī)劃專家系統(tǒng)(expert system for planning) 規(guī)劃專家系統(tǒng)的任務在于尋找出某個能夠達到給定目標的動作序列或步驟。規(guī)劃專家系統(tǒng)的特點如下: (1)所要規(guī)劃的目標是動態(tài)的或靜態(tài)的,因而需要對未來動作做出預測。 (2) 所涉及的問題可能很復雜,要求系統(tǒng)能抓住重點,處理好各子目標間的關系和不確定的數(shù)據(jù)信息,并通過實驗性動作得出可行規(guī)劃。,專家系統(tǒng)(續(xù)),規(guī)劃專家系統(tǒng)可用于機器人規(guī)劃、交通運輸調度、工程項目論證、通信與軍事指揮以及農(nóng)作物施肥方案規(guī)劃等。比較典型的規(guī)劃專家系統(tǒng)的例子有3界3號軍事指揮調度系統(tǒng)、REPOS機器人規(guī)劃專家系統(tǒng)、汽車和火車運行調度專家系統(tǒng)以及小麥和水稻施肥專家系統(tǒng)等。,專家系統(tǒng)(續(xù)),6. 監(jiān)視專家系統(tǒng)(expert system for monitoring) 監(jiān)視專家系統(tǒng)的任務在于對系統(tǒng)、對象或過程的行為進行不斷觀察,并把觀察到的行為與其應當具有的行為進行比較,以發(fā)現(xiàn)異常情況,發(fā)出警報。監(jiān)視專家系統(tǒng)具有以下特點: (1)系統(tǒng)具有快速反應能力,在造成事故之前及時發(fā)出警報。 (2)系統(tǒng)發(fā)出的警要有很高的準確性。在需要發(fā)警報時發(fā)警報在不需要發(fā)警報時不得輕易發(fā)警報(假警報) (3)系統(tǒng)能隨時間和條件的變化而動態(tài)地處理其輸入信息。 監(jiān)視專家系統(tǒng)可用于核電站的安全監(jiān)視、防空監(jiān)視與報警、國家財政的監(jiān)控、傳染病疫情監(jiān)視及農(nóng)作物病蟲害監(jiān)視與報警等。,黏蟲測報專家系統(tǒng)是監(jiān)視專家系統(tǒng)的一個實例。 7. 控制專家系統(tǒng)(expert system for control) 控制專家系統(tǒng)的任務是自適應地管理一個受控對象或客體的全面行為,使之滿足預期要求。 控制專家系統(tǒng)的特點是:能夠解釋當前的情況,預測未來可能發(fā)生的情況,診斷可能發(fā)生的問題及其原因,不斷修正計劃,并控制計劃的執(zhí)行。也就是說,控制專家系統(tǒng)具有解釋、預測、診斷、規(guī)劃和執(zhí)行等多種功能。 空中交通管制、商業(yè)管理、自主機器人控制、作戰(zhàn)管理、生產(chǎn)過程控制和生產(chǎn)質量控制等都是控制專家系統(tǒng)潛在的應用方面。例如,已經(jīng)對海、陸、空自主車、生產(chǎn)線調度和產(chǎn)品質量控制等課題進行控制專家系統(tǒng)的研究。,專家系統(tǒng)(續(xù)),專家系統(tǒng)(續(xù)),8. 調試專家系統(tǒng)(expert sysytem for debugging) 調試專家系統(tǒng)的任務是對失靈的對象給出處理的意見和方法。調試專家系統(tǒng)的特點是同時具有規(guī)劃、設計、預報和診斷等專家系統(tǒng)的功能。,專家系統(tǒng)(續(xù)),9. 教學專家系統(tǒng)(expert system for instruction) 教學專家系統(tǒng)的任務是根據(jù)學生的特點、弱點和基礎知識,以最適當?shù)慕贪负徒虒W方法對學生進行教學和輔導。教學專家系統(tǒng)的特點是: (1) 同時具有調試和診斷功能。 (2) 具有良好的人機界面。 已經(jīng)開發(fā)和應用的教學專家系統(tǒng)有美國麻省理工學院MACSYMA符號積分與定理證明系統(tǒng),我國一些大學開發(fā)的計算機科學相關課程和物理智能計算機輔助教學系統(tǒng)以及聾啞人語言訓練專家系統(tǒng)等。,專家系統(tǒng)(續(xù)),10. 修理專家系統(tǒng)(expert system for repair) 修理專家系統(tǒng)的任務是對發(fā)生故障的對象(系統(tǒng)或設備)進行處理,使其恢復正常工作。修理專家系統(tǒng)具有診斷、調試、計劃和執(zhí)行等功能。,專家系統(tǒng)(續(xù)),專家系統(tǒng)的一般特點 上面我們已經(jīng)介紹了各類專家系統(tǒng)的特點,專家系統(tǒng)還有一些共性的特點。 1. 具有專家水平的專門知識 由于專家系統(tǒng)是模擬人類專家解決問題和處理問題方式的智能程序系統(tǒng),所以它必須具有專家級的知識,能夠象專家那樣工作。,專家系統(tǒng)(續(xù)),一般來說,專家系統(tǒng)中的知識可分為三個層次,即數(shù)據(jù)級、知識庫級和控制級。數(shù)據(jù)級知識是指具體問題所提供的初始事實以及問題求解過程中所產(chǎn)生的中間結論、最終結論等。例如,疾病診斷專家系統(tǒng)中患者的癥狀、化驗結果以及由專家系統(tǒng)推出的病因、治療方案等,這一類知識一般存放在數(shù)據(jù)庫中。知識庫級知識是指專家的知識,例如醫(yī)學常識、書本上的知識和醫(yī)生診治疾病的經(jīng)驗等。這一類知識是構成專家系統(tǒng)的基礎,一個系統(tǒng)性能的高低取決于這種知識的質量和數(shù)量??刂萍壷R是如何運用前兩種知識的知識,如搜索策略就屬于這一種。由于控制級知識是用于控制系統(tǒng)的運行過程及推理的,因而其性能的優(yōu)劣直接關系到系統(tǒng)的智能程度。,專家系統(tǒng)(續(xù)),任何一個專家系統(tǒng)都是面向一個具體領域的,求解的問題僅僅限于一個較窄的范圍,因此,專家系統(tǒng)的知識都具有專門性,它可能很精,但只限于所面向的領域,針對性較強。也正因為如此,專家系統(tǒng)能夠抓住領域內問題的共性與本質,使系統(tǒng)有較高的可信性與效率。,專家系統(tǒng)(續(xù)),2. 能進行有效的推理 專家系統(tǒng)的根本任務是求解領域內的現(xiàn)實問題。問題的求解過程是一個思維過程。這要求專家系統(tǒng)必須具有相應的推理機構,能根據(jù)用戶提供的已知事實,通過運用掌握的知識,進行有效的推理,以實現(xiàn)對問題的求解。由于不同專家系統(tǒng)所面向的領域有所不同,要求解的問題也有很大差別,所以,不同專家系統(tǒng)的推理機制也不盡相同。有的要求進行精確推理,有的要求進行不精確推理、不完全推理以及試探性推理等,需要根據(jù)問題領域的特點分別進行設計,以確保問題求解的有效性。,專家系統(tǒng)(續(xù)),3. 具有獲取知識的能力 專家系統(tǒng)的基礎是知識。為了得到知識就必須有獲取知識的能力。然而令人遺憾的是目前專家系統(tǒng)在這方面的能力還比較弱。當前應用較多的是建立知識編輯器,知識工程師或領域專家通過知識編輯器把領域知識傳授給專家系統(tǒng),以便建立起知識庫。,專家系統(tǒng)(續(xù)),4. 具有靈活性 在大多數(shù)專家系統(tǒng)中,其體系結構都采用了知識庫與推理機分離的構造原則,彼此既有聯(lián)系又相互獨立。這樣做的好處是,既可在系統(tǒng)運行時能根據(jù)具體問題的不同要求分別選取合適的知識構成不同的求解序列,實現(xiàn)對問題的求解,又能在一方進行修改時不致影響到另外一方。特別是對于知識庫,隨著系統(tǒng)的不斷完善,可能要經(jīng)常對它進行增、刪、改操作,由于它與推理機分離,這就不會因知識庫的變化而要求修改推理機的程序。,專家系統(tǒng)(續(xù)),另外,由于知識庫與推理機分離,就有可能使一個技術上成熟的專家系統(tǒng)變?yōu)橐粋€專家系統(tǒng)工具,這只要抽去知識庫中的知識,就可使它變?yōu)橐粋€專家系統(tǒng)外殼。當要建立另外一個其功能與之類似的專家系統(tǒng)時,只要把相應的知識裝入到該外殼的知識庫中即可,這樣將大大節(jié)省開發(fā)的時間。事實上,所謂專家系統(tǒng)開發(fā)工具就是這樣得來的。例如,由專家系統(tǒng)MYCIN得到的構造工具EMYCIN,由PROSPECTOR得到的專家系統(tǒng)外殼KAS等。,專家系統(tǒng)(續(xù)),5. 具有透明性 所謂一個計算機程序系統(tǒng)的透明性是指,系統(tǒng)自身及其行為能被用戶所理解。專家系統(tǒng)具有較好的透明性,這是因為它具有解釋功能。人們在應用專家系統(tǒng)求解問題時,不僅需要得到正確的答案,而且還希望知道得出該答案的依據(jù),也就是希望系統(tǒng)說明為什麼是這樣?是怎麼得出來的等。為此,專家系統(tǒng)都設置了解釋機構,用于向用戶解釋它的行為動機及得出某些推理答案的過程。解釋系統(tǒng)的設置不僅增加了用戶對系統(tǒng)的可信度和系統(tǒng)的透明度,而且能幫助系統(tǒng)設計者和領域專家方便地找出系統(tǒng)隱含的錯誤,便于對系統(tǒng)的維護。,專家系統(tǒng)(續(xù)),6. 具有交互性 專家系統(tǒng)一般都是交互式系統(tǒng)。一方面它需要與領域專家或知識工程師進行對話以獲取知識,另一方面它需要與用戶對話以索取求解問題時所需要的已知事實以及回答用戶的詢問。專家系統(tǒng)的這一特征為用戶提供了方便,亦是它得以廣泛應用的原因之一。,專家系統(tǒng)(續(xù)),7. 具有實用性 專家系統(tǒng)是根據(jù)領域問題的實際需求開發(fā)的,這一特點就決定了它具有堅實的應用背景。 另外,專家系統(tǒng)擁有大量高質量的專家知識,可使問題求解達到較高的水平,再加上它所具有的透明性、交互性等特征,就使得它容易被人們接受和應用。事實證明,專家系統(tǒng)已經(jīng)被用于多種領域中,取得了巨大的經(jīng)濟效益和社會效益。,專家系統(tǒng)(續(xù)),8. 具有一定的復雜性及難度 專家系統(tǒng)擁有知識,并能運用知識進行推理,以模擬人類求解問題的思維過程。但是,人類的知識是豐富多彩的,人們的思維方式也是多種多樣的,因此要真正實現(xiàn)對人類思維的模擬還是一件十分困難的工作,有賴于其它多種學科的共同發(fā)展。從這個意義上說,專家系統(tǒng)的發(fā)展也必然促進其它學科的發(fā)展。專家系統(tǒng)是一個智能程序系統(tǒng),它和一般的程序系統(tǒng)有什麼區(qū)別呢?,專家系統(tǒng)(續(xù)),(1)常規(guī)的計算機程序是對數(shù)據(jù)結構以及作用于數(shù)據(jù)結構上的確定算法的表述,即 常規(guī)程序 = 數(shù)據(jù)結構 + 算法 而專家系統(tǒng)是通過運用知識進行推理,力求在問題領域內推導出滿意的解答,即 專家系統(tǒng) = 知識 + 推理 (2)常規(guī)程序把關于求解問題的知識隱含于程序中,而專家系統(tǒng)則把應用領域中關于問題求解的知識單獨組成一個知識庫。換句話說,常規(guī)程序將其知識組織為兩級,數(shù)據(jù)級和程序級,而專家系統(tǒng)則將其知識組織成三級,即數(shù)據(jù)級、知識庫級和控制級。,(3)常規(guī)程序一般是通過查找或計算來求取問題的答案,基本上是面向數(shù)值計算和數(shù)據(jù)處理的,而且在問題求解過程中先做什麼后做什麼都是由程序規(guī)定的;而專家系統(tǒng)是通過推理來求取問題的答案或證明某個假設,本質上是面向符號處理的,其推理過程隨著情況的變化而變化,具有不確定性和靈活性,專家系統(tǒng)(續(xù)),。,(4)常規(guī)程序處理的數(shù)據(jù)多是精確的,對數(shù)據(jù)的檢索是基于模式的布爾匹配;而專家系統(tǒng)處理的數(shù)據(jù)及知識大多是不精確的、模糊的,知識的模式匹配也多是不精確的,需要為其設定閥值。 (5)常規(guī)程序一般不具有解釋功能,而專家系統(tǒng)一般具有解釋機構,可對自己的行為作出解釋。,專家系統(tǒng)(續(xù)),專家系統(tǒng)(續(xù)),專家系統(tǒng)的一般結構 不同的專家系統(tǒng),其功能與結構雖然不盡相同,但通常一個完美專家系統(tǒng)應包括以下幾個部分: 人機接口部分, 數(shù)據(jù)庫部分, 知識庫部分, 推理機, 解釋部分, 學習部分。 一個完美專家系統(tǒng)的結構圖如下圖所示。,專家系統(tǒng)(續(xù)),黑板,計劃,議程,知識庫,事實與規(guī)則,協(xié)調器,執(zhí)行器,調度器,學習器,用戶,中間解,解釋器,接口,推理機,一個完美專家系統(tǒng)的結構圖,專家系統(tǒng)(續(xù)),*接口是人與系統(tǒng)進行信息交流的媒介,它為領域域專家或知識工程師及一般用戶提供了方便的交互手段。接口的功能是識別與解釋用戶向系統(tǒng)提供的命令、問題、詢問和數(shù)據(jù)等信息,并把這些信息轉化為系統(tǒng)的內部表示形式。另一方面,接口也將系統(tǒng)向用戶索要的信息、得出的結果和作出的解釋以用戶易于理解的形式提供給用戶。 在輸入輸出過程中,人機接口需要進行內部表示形式與外部表示形式的轉換。如在輸入時它將把領域專家、知識工程師或一般用戶輸入的信息轉換成系統(tǒng)的內部表示形式,然后分別交給相應的機構去處理;輸出時,它將把系統(tǒng)要輸出的信息由內部形式轉換成人們易于接受的外部形式顯示給用戶。,專家系統(tǒng)(續(xù)),在不同的系統(tǒng)中,由于硬件、軟件環(huán)境不同,接口的形式與功能有較大的差別。如有的系統(tǒng)可用簡單的自然語言與系統(tǒng)交互,而有的系統(tǒng)只能用最基本的方式(如編輯軟件)實現(xiàn)與系統(tǒng)的信息交流。在硬件、軟件配置不高的情況下,可用下面兩種接口方式: 1. 菜單方式 系統(tǒng)把有關功能以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論