系統(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,根據需要弱卡,FREMOVE能夠刪除指定框架的特定側面或槽乃正;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ù)據驅動控制)象瓤。這種控制的基本思想是:從問題已有的信息(事實)開始,正向使用規(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ù)據庫(上下文)。正向推理的示意圖如圖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样悟,可以根據可用規(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ō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ù)據信息(上下文)得到部分結果吕得,這部分結果可能含有反向推理過程的各子目標亮倍,Choose-Goal過程利用這些部分結果決定或猜測總目標的選擇,所選擇的總目標至少不會同這些部分結果發(fā)生矛盾浴誉。因此混合控制交替使用了正向推理和反向推理這兩算法:通過用戶所提供的信息選擇一個目標纠惧,然后當證明這個目標時又反過來詢問用戶以獲取更多的信息。
推理的過程中孝速,系統(tǒng)除采用演繹推理外杖进,還采用非單調的推理方式。非單調推理是一種基于默認信息的推理宿拔。圓柱齒輪減速器設計過程中存在有大量的默認信息,默認信息并非無信息鼓临,而是一種常識性知識视甩。從理論意義上講,默認信息的含義是指:當且僅當沒有事實說明S不成立時角黍,S總是成立的电爹。減速器設計中,有如一般生產條件(其含義是指加工機城零件料睛,在經濟梢度能條件下丐箩,采用的生產加工方法)等⌒羯罚基于默認信息的推理即默認推理(或稱缺省推理)是一種非單調推理屎勘。默認推理是當條件不充分、把握的事實不完備時依據常識性內容所作的一些有益的猜測。在推理或者進一步的計算過程以后概漱,新的事實被認識丑慎,原來基于默認推理的某些結論可能要被否認。在減速器設計的過程中瓤摧,許多的判斷和決策是在不完全和不確定的信息狀態(tài)下進行的竿裂,求解過程并不因為信息的不完全和不確定而優(yōu)柔寡斷、停止設計照弥,而采用相應的策略腻异,去解決那些設計產生的默認狀態(tài)不一致問題。
5.4 沖突消解策略
推理機在運用產生式知識元的知識進行推理時壳晨,一條知識的可用與否取決于這條知識的條件部分同問題當前數(shù)據庫的匹配铣修。一般情況下,在問題求解的每一中間狀態(tài)那梭,可用知識不止一條超丛,因此,推理機需要有沖突的消解策略竣恃。
本文研究的專家系統(tǒng)所采用的沖突消解策略如下:
(1)知識庫的組織形式按它們所對應的問題求解狀態(tài)所描述的上下文分塊逢棺,求解某一問題時,只能選取此問題相對應的產生式知識元筝驱。即產生式知識元的調用篱馅,是根據設計的當前子任務進行的;
(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ù)據的咪辱,該函數(shù)的運行方式:
(shaftnose 80)返回結果==>(80 0.030 0.010 130 )
由此振劳,就可方便地決定軸伸公差及長度等參數(shù)。

類似這種處理的方法梧乘,圓柱齒輪減速器中還有許多澎迎,例如,軸承數(shù)據选调、公差數(shù)據夹供、鍵數(shù)據、齒輪模數(shù)臭呀、中心距喂磷、成本、軸上各類數(shù)據(如倒角聊树,過渡圓角)等等均采用這一處理方法欲访。
數(shù)表形式的其它表達方式的知識的按相應的控制與推理策略進行。
2.圖線知識:圖線知識的處理方法是根據其表達形式確定的峦筏。對于公式化的圖線知識可按公式的處理辦法求解宏动。對數(shù)據化的圖線知識,按一定的方式取得數(shù)據后蒂鹏,通過插值函數(shù)INTRPOLATE求出所需值斜孩。