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