第五章 系統(tǒng)知識的控制和推理
人類專家具有商效率求解復雜問題的能力,主要表現(xiàn)在兩方面:一是專家具有大量的專門知識;二是專家具有選擇和應用知識的能力。本章討論的是圓柱齒輪減速器專家系統(tǒng)設計中知識的控制和推理策略。
知識的選擇過程本文稱為控制策略,其任務是控制推理過程的執(zhí)行和選擇推理方式。推理是指從已有事實推出新的事實(結論)的過程。推理過程所要解決的問題是:在問題求解的每個狀態(tài)下,如何選擇知識而加以靈活的應用。推理以知識庫的已有知識為基礎,是一種基于知識的推理。推理的機算機實現(xiàn)構成推理機,是專家系統(tǒng)的另一核心部分。
5.1符號的模式匹配
符號的棋式匹配是比較兩個符號表達式以判明它們彼此是否相似的過程,盡管當前的模式匹配只是從形式上檢查而不管其含義,但它仍是構成模式表、斷言表和推理機的核心部分。所以說,符號的模式匹配是推理機的關鏈部分。
符號的棋式匹配是一遞歸結構函數(shù)過程,其主要功能如下:
·完全匹配;
·任意字與字組合匹配,
·變夏匹配;
·約束匹配;
·限制條件匹配,
·計算值匹配,
·條件范圍匹配等。
以上匹配方式基本滿足了圓柱齒輪減速器專家系統(tǒng)設計的需要。
5.2框架知識的控制和推理
本文在第三章中介紹了圓柱齒輪減速器專家系統(tǒng)設計的框架知識元,本節(jié)介紹框架知識的控制和推理過程。框架知識元的選擇是通過各設計子任務調用相應的知識元實現(xiàn),對框架知識的推理,通過如下方式進行。
1.規(guī)格化框架:對于規(guī)格化框架知識元,有一套控制程序,實現(xiàn)框架知識的存儲、取值、修改、刪除,進行框架知識的運行和求值,這主要由下列函數(shù)完成:
(1)存函數(shù)FPUT,它交所需要的知識存入指定的框架、柄、側面下;
(FPUT′coefflcient′lubricate′K1
′((6.2 12.0 21.0 29.0 45.0 60.0 75.0 100.0 150.0 190.0 225.0)
(0.82 0.83 0.85 0.88 0.91 0.93 0.96 1.00 1.05 1.09 1.12)))
將K1值(數(shù)表)存入coefficient框架的lubricate側面下。
(2)取函數(shù)FGET,它將給出指定框架側面下的所有信息,若該側面無或下面無信息,函數(shù)返回HIL值;
(FGET'coefficient'lubricate'K1)返回K1的值。
(3)刪函數(shù)FREMOVE、FDELETE,根據(jù)需要,F(xiàn)REMOVE能夠刪除指定框架的特定側面或槽;FDELETE用于刪除指定的框架;如
(FREMOVE'coefficient'lubricate'K1)刪除K1側面的值。
(FREMOVE'coefficient'lubricate)刪除lubricate槽的各側面。
(REMOVE'coefficient)刪除coefficient框架。
2.變體框架:變體框架是為了適應知識的各種不同表面而建立的框架知識元,對每一各變體框架知識元通常作為一個整體使用,其建立和刪除過程采用對原子的建表和解除原子的約束的方法實現(xiàn)。變體框架知識元的運行和推理是通守相應的知識控制與推理程序實現(xiàn)的。例如,框架知識(表3-3)含有四個側面,它們分別是formula側面、condition側面、value側面、notice側面,此框架知識的推理過程如下(以箱體底座壁厚為例):
首先測試條件(condition)側面,若條件側面有值,則進行求值。如c1的求值方法為:若選擇的齒輪材料系列為order1(滲碳、淬火系列),則c1=0.025;否則,c1=0.025。c2的求值方法是:若減速器傳動級數(shù)grade=1則c2=3;否則,c2=5。
然后,測試公式(formula)側面并計算其值;如計算公式delta=c1*a+c2的值。
最后,測試取值條件(value)側面,若對取值有限制,則檢驗所計算值是否滿足紅束條件;如對delta值的限制,若delta≤8,則取delta=8。對箱體知識的求值過程的LISP函數(shù)如表5-1:
其它變提框架知識元的處理,論文以后還將介紹,這里不再一一細述。
5.3產生式規(guī)則的控制與推理
圓柱齒輪減速器設計專家系統(tǒng)是一個多階段的設計過程。不同設計階段的產生式知識元構成圓柱齒輪減速器設計專家系統(tǒng)的規(guī)則庫。不同設計任務的產生式知識元的控制是通過主控框架選擇應用的。
推理策略是應用產生式知識元時,控制推理的執(zhí)行過程。常用的推理控制策略有正向推理、反向推理、正反向混合推理、元控制策略等。作者研制的圓柱齒輪減速器專家設計系統(tǒng)中,采用正向、反向、正反向混合推理,現(xiàn)分別介紹如下:
1.正向推理機的開發(fā)
正向推理策略是前向鏈控制策略(也稱為數(shù)據(jù)驅動控制)。這種控制的基本思想是:從問題已有的信息(事實)開始,正向使用規(guī)則,當規(guī)則的前題被已有事實匹配時,該規(guī)則即為可用規(guī)則,然后通過沖突消解,在可用規(guī)則中選擇一條啟用規(guī)則,啟用規(guī)則結論的使用又導致上下文的改變,從而引起新的規(guī)則的匹配,如此地循環(huán)往復,直到到達一個問題狀態(tài)沒有可用規(guī)則或求得了所要求的解為止。例如,下列規(guī)則的推理過程為:
RULES==>(…
(rule lubrication-8
(if (there is no rule for lubrication))
(then(the lubricating method is bath lubrication)))
…
(rule lubrication-10
(if (the lobricating method is bath lubrication)
(gearbox is 2 grades transmission))
(then (the depth of oil is 2-3 gear tooth height of
heigh speed gear)))
…)
若系統(tǒng)的上下文中沒有能夠啟用潤滑方式的規(guī)則的話,則規(guī)則8 被啟用(默認規(guī)則),并將其結論部分(the lubricating?method is bath lubrication)加入系統(tǒng)的上下文,由于上下文中加入了新的事實,推理機對規(guī)則集再次進行遍歷,其結果,規(guī)則10(假設此時設計的speedged gear)加入系統(tǒng)上下文中,這樣反復進行,直到再沒有新的事實加入上下文中為止。
正向推理系統(tǒng)中,用戶先輸入與當前問題有關的信息,構成當前數(shù)據(jù)庫(上下文)。正向推理的示意圖如圖5-l。
圓柱齒輪減速器的設計過程,是一個由初始條件向設計結果的轉變過程。因而,圓柱齒輪減速器設計專家系統(tǒng)中,大量采用前向鏈的推理控制策略。它的優(yōu)點是:用戶可以主動提供有關問題的信息,而不必等到系統(tǒng)要求時才提供,系統(tǒng)可以很快地對用戶輸入的事實作出響應。但其不足在于知識的啟用與執(zhí)行似乎漫無目標,系統(tǒng)求解過程中可能要執(zhí)行許多與解無關的操作,導致推理過程的低效率。
2.反向推理機的開發(fā)
反向推理是一種后向鏈控制策略(也稱為目標驅動控制)。這種控制的基本思想是:預先假設一個目標,然后在知識庫中找出那些其結論部分可能導致這個目標為真的規(guī)則集,再檢查規(guī)則集中每條規(guī)則的前題部分,如果某條規(guī)則的前題中所含有的各條件均能通過用戶的會話得到滿足,或者能被用戶已經提供的上下文的事實所匹配,則把規(guī)則的結論部分(即目標)加到上下文中,從而該目標被證明。否則把規(guī)則的條件項目作為新的子目標,遞歸執(zhí)行上述過程,直到各“與”關系的子目標的全部和“或”關系的子目標中有一個出現(xiàn)在上下文中時,目標被求解,或者直到子目標不能進一步分解而且上下文不能實現(xiàn)上述滿足時,這個預先假設的目標失敗,系統(tǒng)此時需要重新假設新的目標。
目標驅動控制只考慮那些對假設目標是可用的規(guī)則。為證明一個假設目標G,可以根據(jù)可用規(guī)則集把G分解為許多子目標,每個子目標又可以進一步分解,當出現(xiàn)某條規(guī)則分解的全部子目標均為已出現(xiàn)的高層次目標時,推理過程便會進入死循環(huán),控制過程需要作這種檢測。
與正向推理類似,反向推理控制也會出現(xiàn)可用規(guī)則的沖突消解問題,反向推理控制先把結論相同的規(guī)則集中在一起,對于一個給定的目標(或子目標)如果有一條以上的規(guī)則其結論部分均能達到這個目標或子目標時,就產生了沖突。在目標驅動的后向推理中,沖突消解問題顯得難度更大、更重要,因為所選擇得規(guī)則左部就成為子目標,規(guī)則的選擇等于目標的選擇。
反向推理過程示意圖見圖5-2 。
圓柱齒輪減速器專家系統(tǒng)設計中,反向推理機制是局部使用的,即系統(tǒng)在假設目標的選取上,是選規(guī)則的條件項目作為假設目標。這主要是基于下面的考慮:
專家系統(tǒng)在實際使用中,所設計的對象情況千變萬化的,而專家系統(tǒng)許多知識依賴于一般的常識性假設。這些假設在通常情況下是合理的,但有時不適合于特殊情況。為此,專家系統(tǒng)在某些必要的環(huán)節(jié),的使用情況見§6.2.2。
3.混合推理機構的開發(fā)
從上面的討論中可以看出,正、反向推理各具有獨自的優(yōu)點,在第六章的系統(tǒng)輸入中我們將會看到,圓柱齒輪減速器原始的輸入條件包括許多項。事實上,一般由用貨單位提供的任務書,其初始條件是不完備的。這時,由于條件的不完備,僅僅使用正向推理難以使設計進行下去。圓柱齒輪減速器設計專家系統(tǒng)除采用默認推理的方法外,就是用混合推理的方法;旌峡刂撇呗缘幕舅枷胧牵航Y合使用正向推理和反向推理的各自優(yōu)點,先通過正向推理幫助選擇初始目標,然后通過反向推理求解這個目標,理中初始目標選擇的盲目性,也克服了正向推理中推理的盲目性,從而兩種推理本身得到了相互補充;旌贤评砣粢运惴枋龅脑挘溥^程如下:
Procedure Alternate-chain(KB,context)
repeat
Goals←Forward-dhain(KB,context)
G:=Ghoose=Goal(Goals)
P←Backward-chain(G,KB)
until Pis ture
END這里先用自向推理方式以用戶已經提供的數(shù)據(jù)信息(上下文)得到部分結果,這部分結果可能含有反向推理過程的各子目標,Choose-Goal過程利用這些部分結果決定或猜測總目標的選擇,所選擇的總目標至少不會同這些部分結果發(fā)生矛盾。因此混合控制交替使用了正向推理和反向推理這兩算法:通過用戶所提供的信息選擇一個目標,然后當證明這個目標時又反過來詢問用戶以獲取更多的信息。
推理的過程中,系統(tǒng)除采用演繹推理外,還采用非單調的推理方式。非單調推理是一種基于默認信息的推理。圓柱齒輪減速器設計過程中存在有大量的默認信息,默認信息并非無信息,而是一種常識性知識。從理論意義上講,默認信息的含義是指:當且僅當沒有事實說明S不成立時,S總是成立的。減速器設計中,有如一般生產條件(其含義是指加工機城零件,在經濟梢度能條件下,采用的生產加工方法)等;谀J信息的推理即默認推理(或稱缺省推理)是一種非單調推理。默認推理是當條件不充分、把握的事實不完備時依據(jù)常識性內容所作的一些有益的猜測。在推理或者進一步的計算過程以后,新的事實被認識,原來基于默認推理的某些結論可能要被否認。在減速器設計的過程中,許多的判斷和決策是在不完全和不確定的信息狀態(tài)下進行的,求解過程并不因為信息的不完全和不確定而優(yōu)柔寡斷、停止設計,而采用相應的策略,去解決那些設計產生的默認狀態(tài)不一致問題。
5.4 沖突消解策略
推理機在運用產生式知識元的知識進行推理時,一條知識的可用與否取決于這條知識的條件部分同問題當前數(shù)據(jù)庫的匹配。一般情況下,在問題求解的每一中間狀態(tài),可用知識不止一條,因此,推理機需要有沖突的消解策略。
本文研究的專家系統(tǒng)所采用的沖突消解策略如下:
(1)知識庫的組織形式按它們所對應的問題求解狀態(tài)所描述的上下文分塊,求解某一問題時,只能選取此問題相對應的產生式知識元。即產生式知識元的調用,是根據(jù)設計的當前子任務進行的;
(2)a,b兩條知識,若a的前提(條件)比b更具體與復雜,則優(yōu)先選用a。因為a的情況更為特殊、具體;
(3)對知識庫的知識預先排序,按先后次序啟用;
(4)對于反向推理,假設目標的選擇通常是經過優(yōu)選的,即先假設最一般的情況。
5.5 數(shù)表、圖線知識的處理
1。數(shù)表知識:知識以數(shù)表形式表示時,通過一控制和操作數(shù)表的函數(shù),則可方便地對數(shù)表知識進行處理。如表5-2所示的函數(shù)段是處理表3-5 軸伸數(shù)據(jù)的,該函數(shù)的運行方式:
(shaftnose 80)返回結果==>(80 0.030 0.010 130)
由此,就可方便地決定軸伸公差及長度等參數(shù)。
類似這種處理的方法,圓柱齒輪減速器中還有許多,例如,軸承數(shù)據(jù)、公差數(shù)據(jù)、鍵數(shù)據(jù)、齒輪模數(shù)、中心距、成本、軸上各類數(shù)據(jù)(如倒角,過渡圓角)等等均采用這一處理方法。
數(shù)表形式的其它表達方式的知識的按相應的控制與推理策略進行。
2.圖線知識:圖線知識的處理方法是根據(jù)其表達形式確定的。對于公式化的圖線知識可按公式的處理辦法求解。對數(shù)據(jù)化的圖線知識,按一定的方式取得數(shù)據(jù)后,通過插值函數(shù)INTRPOLATE求出所需值。
上一頁
下一頁