陳小玉
(南陽理工學院 計算機科學與技術系,南陽 473000)
現實中大多數問題是非精確、非完備和模糊的,具有一定程度的不確定性,因此,關于不確定性推理及其方法的研究就成為人工智能的一個重要課題,并已提出了多種理論和方法[1]。推理機是專家系統的“思維”機構,使得計算機能夠運用知識進行推理,求解問題,構成了專家系統的核心部分。本文研究與開發了一套基于專家系統的推理機平臺,能夠處理多種不同組織形式的知識,對于推理機的設計提出了更高的要求,不僅適用于某一具體專家系統,還具有可擴充性,對于處理不同問題的專家系統,具有實用性、高效性。利用該平臺,農業專家可以很方便地輸入各種農業知識規則,形成具體的農業專家系統。對于不同結構形式或表現形式的知識,可以選擇各自合適的推理機。
可信度是指人們根據以往經驗對某個事物或現象為真的程度的一個判斷,或者說是人們對某個事物或現象為真的相信程度。顯然,可信度具有較大的主觀性和經驗性,其準確性是難以把握的。但是,對某一具體領域而言,由于該領域專家具有豐富的專業知識及實踐經驗,還是完全有可能給出該領域的可信度的。因此,可信度方法不失為一種實用的不確定性推理方法[2]。
以溫度,濕度,肥力等級等因素決定選用的辣椒品種為例:
規則1:IF 溫度>23度,濕度<8,肥力等級=高 THEN 辣椒品種=辣椒1號。
前提是知識(規則)的前項,一條知識一般包含多個子前提,在規則1中,“溫度>23度、濕度<8、肥力等級=高”是該知識的前提項。結論與前提相對應,是知識(規則)的后項,一條知識可能產生多個結論,但在本推理方法中,為了處理上的方便,只產生一個結論。對于多結論的情況,只需進行簡單的分解即可。在規則1中,得出的結論是“辣椒品種=辣椒1號”。證據是用戶輸入的原始事實;結果是推理機從初始證據出發,運用知識,最終推出的合理或者基本合理的最終輸出。若用戶輸入證據為“溫度=25度,濕度=6,肥力等級=高”,推理機從這些初始證據出發,運用規則1最終推出結果“辣椒品種=辣椒1號”。
在該不確定性推理方法中,知識是用產生式規則表示的,知識的表示形式是:

1)子前提Ti(i=1, 2, …, n)是知識的前項。子前提Ti的可信度cfi(i=1, 2, …, n)表示在沒有提供任何證據時,前提Ti的真實程度[3]。知識的不確定性采用規則強度CF(H,T)來描述,CF(H,T)是指當規則中的前提為真時結論為真的可信程度,它反映了前提對結論的支持程度,實際上是對規則正確性程度的一個估計值。cfi與CF(H,T)在[0,1]上取值,其值由領域專家給出。
2)wi是子前提Ti(i=1, 2, …, n)的權值,表示子前提的相對重要程度,在[0,1]上取值,且應滿足條件:。wi的值由領域專家給出。
3)λ為規則閾值(0<λ<1),其值也由領域專家給出。
證據的不確定性也是用可信度因子來表示的,其可信度CF(E)反映了已知事實的確定性程度,在[0,1]上取值。對初始證據E,若對能肯定它為真,則使CF(E) =1;若它以某種程度為真,則使CF(E)取區間(0, 1)中的某一個值,即0<CF(E)<1;若它以某種程度為假,或者不確定,則使CF(E) =0。
當知識的前提與相應的證據不完全一致時,可用匹配度來表示兩者相似的程度。用相應的不確定性匹配算法檢查匹配度是否落在閾值指定的限度內。如果落在閾值指定的限度內,就認為它們是可匹配的,相應的知識可被利用;如果沒有落在閾值指定的限度內,則認為它們是不可匹配的,相應知識不可用于當前的推理中。
本文用貼近度來描述匹配度。貼近度是指兩個概念或事實的貼近程度,可直接用來做匹配度。設有兩個集合A,B,則將式(1)

定義為集合A,B的匹配度。其中:

設對于第k條規則

有如下的證據存在:

根據公式(1)計算前提項Ti和證據項Ei的匹
配度公式為:
規則匹配度M k(T,E)表示證據集E={E1,E2,…,En}, 與知識庫中的第k條規則前提集T k={T1,T2, …,Tn}, 相似的程度,其值由下式計算:

則不確定性算法為M k(T,E)≥λ。當規則匹配度M k(T,E)≥λ時,第k條知識被激活。
不確定推理實際上是從不確定性的初始證據出發,不斷運用相關的不確定性知識,逐步推出最終結果和該結果的可信度的過程。而每次運用不確定性知識,都需要由證據的不確定性和知識的不確定性去計算結果的不確定性。
通過利用上述的不確定匹配算法,判斷出知識的前提條件與相應的證據匹配,則結果的可信度計算公式如下:

推理機的性能與構造一般與知識的表示方式及組織方式有關[5]。首先簡要介紹一下本系統的知識表示及其組織方式。
本系統采用“規則架+規則題”規則組知識表示策略[4],知識庫主要包括決策模塊表、決策項目表及決策項目-模塊管理表和權重表等。決策模塊表對應規則組知識表示的規則架,字段主要由前提因素集組成,另外包括用于系統管理、推理的其他信息,各前提因素的不確定性因子也在該表中給出;決策項目表對應規則體,記錄包含了因素之間求解的具體指示,可以是運算公式,也可以是一組規則,也記錄了知識的可信度、閾值,一個決策模塊一般包括多個決策項目;權重表記錄知識各前提項的權重;事實表用來存放用戶提供的初始事實、問題描述以及系統運行過程中得到的中間結果、最終結果等。
本推理機采用的是以事實作為出發點的正向推理,并結合以可信度為基礎的模式匹配和沖突消解策略。假設需要對某問題進行推理,則首先需要向推理輸入決策模塊和決策項目名,然后根據用戶的輸入,檢查數據表中是否包含了問題的解,若數據表中不存在問題的解,則在決策項目表中檢查,檢查出可適用的知識,利用上述的推理算法進行推理,直至成功或失敗結束。
利用該專家系統開發平臺,可以高效地開發出多個實用的專家系統。現以辣椒專家系統中的辣椒品種選擇決策為例,說明推理機的工作過程及算法實現:
1)用戶選擇決策模塊及決策,輸入事實證據送入數據表。
2)數據表中包含問題的解?是成功退出,否則轉向3)。
3)決策項目表中有適用的知識?是轉向5),否則轉4)。
4)判斷用戶可補充新事實,如果有,把用戶提供的新事實加入到數據轉向3),否則退出。
5)把項目表中所有適用的知識選出來形成可用知識集。
6)判斷可用知識集為空,是轉向7),否則轉向 4)。
7)對各條可用知識進行推理,將推理得出的結果送入結果,從結果集中選出可信度最大的結果,輸出,將新事實加入到數據表中。
設決策項目表中有一組知識:(不一定準確,只是為了舉例說明)

其中:T1=地區在北方;T2=地區在南方;
T3=土壤肥力等級為高;T4=肥力等級為中;T5=肥力等級為低;
T6=溫度大于或等于20度;T7=溫度小于20度;
H1=種子為辣椒1號;H2=種子為辣椒2號;H3=種子為辣椒3號
用戶輸入的一條證據為:

其中:E1=地區在北方;E2=土壤肥力等級為中;E3=溫度小于20度
檢查決策項目表,判斷是否存在可適用的知識。首先檢查各條知識,篩選出知識Rule2;第二步根據公式(3),計算匹配度,判斷Rule2是否被激發,是否為可適用的知識:

顯然,0.4675>0.25,即匹配度M(T,E)大于閾值λ,所以知識Rule2被激活;最后利用Rule2進行系統推理,推理結果為“種子為辣椒2號”,并且根據結果可信度得計算公式(4)得出結果的可信度為:

我們利用該專家系統開發平臺開發的辣椒專家系統,對上例的推理界面如圖1所示。
系統允許有不確定性的因素,譬如肥力等級無法確定,則可以選擇?項,系統同樣可以進行推理,推導出最有可能的結果。推理中,需要用戶輸入事實證據及證據的可信度,證據的可信度的默認值為1。
本文所提出的不確定性推理算法,結合了可信度方法的基本思想,將其改進使之適合應用于專家系統開發平臺的推理機制,從而很大程度上改善了推理機制的性能和效率。

[1] 王永慶.人工智能原理與方法[M].西安: 西安交通大學出版社, 1998.
[2] 王萬森.人工智能原理及其應用[M].北京: 電子工業出版社, 2000.
[3] 肖偉躍.模糊規則中的不確定推理研究[J].應用科學學報.2002(3), 94-98
[4] 熊范綸.農業專家系統及開發工具[M].北京: 清華大學出版社, 1999.
[5] Joseph Giarratano, Grary Riley.Expert System Principles and programming.Beijing: China Machine Press, 2000.