推理機 (Inference Engine) 是專家系統中實現基於知識推理的核心模組之一。 推理機主要包括推理和控制二個方面, 是知識系統中不可缺少的重要組成部分。 其工作效率的高低直接影響到專家系統的性能。
推理方法
推理是根據一定的原則公理或者規則從已知的事實或者判斷推出新的事實或者另外的判斷的思維過程,其中推理所依據的事實叫做前提或者條件,由前提所推出的新的事實叫做結論。
推理按推理的範圍可分為演繹推理和歸納推理;按精確程度分為精確推理與不精確推理;按單調性分為單調推理與非單調推理。
(1)演繹推理和歸納推理
演繹推理是從一般性較大的前提推理出一般性較小的結論的推理方式,它是從具有一般性的原理或原則中推理出關於個別事物的結論,其思維過程是由一般到個別。這種推理方式的結論和前提的聯繫是必然的,只要前提真實且推理形式正確,則結論一定可靠,但是演繹推理不能增加新知識。
與演繹推理相反,歸納推理是從一般性較小的前提推理出一般性較大的結論的推理方式,其思維方式是從個別到一般。歸納推理的前提是個別的、特殊的知識,和經驗、實驗直接相關,所以前提、結論的關係在很多情況下不是必然的,其結論的性質有的確實可靠,有的卻帶有可能性,但歸納推理一般能誕生出新知識。此外,歸納推理還包括完全歸納推理、簡單枚舉法、科學歸納法、類比法和統計推理等。
總的來說,歸納和演繹是相互聯繫、相互補充並且密不可分的。演繹離不開歸納,在演繹推理中,作為推理的大前提就是歸納的產物;同樣,歸納也離不開演繹,要研究客觀對象間的因果關係,分析個別中的一般,總是遵循一般性原理。
(2)精確推理和不精確推理
精確推理是指前提與結論之間有確定的因果關係,並且事實與結論都是確定。演繹推理是以數學邏輯為基礎,它所求解的事實與結論之間有明確的因果關係,所以演繹推理是精確推理。但在人類的知識中,有很大一部分都是由主觀判斷所得出的,是不精確的和含糊的,所以這就要用到不精確的推理。不精確推理是一種基於不精確知識進行推理而得出結論的推理方式,不精確推理一般包括兩部分:一個是得出結論,即推理;另一個是計算結論的可信度,即可信度算法。
(3)單調推理和非單調推理
建立在謂詞邏輯基礎上的推理所得的結果是單調的,也就是說,由推理而得出的真命題數目隨著推理時間而嚴格增加的。但是,人類思維並不是單調的,人們對世界中各種事物的認識、觀點處於不斷變化和調整之中的。人類在獲取新知識的過程中,可能會需要對原有知識加以修改,甚至拋棄,這種推理就是非單調推理。非單調推理的特點是:當公理增加時,公理系統中定理的數目並不一定隨之增加,也有可能減少。它的推理方式主要有兩種:默認推理和約束推理。
反向推理策略
反向推理也稱自頂向下控制、目標驅動控制、後向推理等。反向推理控制策略的基本思想是:在推理過程中首先從目標出發,不斷地找出能夠滿足目標的所有情況、條件,反向地向著最初的情況、條件逼近,重複完成此項工作,直至達到或符合最初的或最原始的情況條件。同正向推理一樣,要實現反向推理也需要具備資料庫、知識庫和推理機三個部分。
反向推理的工作程式為:先假設一個目標,之後在知識庫中找出結論部分導致這個目標的知識集合,再檢查每條知識的條件部分,如果某條知識的所有條件都能得到滿足,或得到內容的匹配,則把當前知識的結論加入當前資料庫中,從而該目標被證明;否則把該條知識的條件作為新的子目標,遞歸上述過程,直至各“與”關係子目標全部、“或”關係子目標有一個出現在資料庫,目標得以證明;或者子目標無法進一步分解且資料庫無法實現匹配,這個假設目標為假。
搜尋策略
專家系統推理機在進行規則匹配操作時,會有以下可能的結果。
(1)有一條規則匹配成功;
(2)沒有規則匹配成功;
(3)有兩條以上的規則匹配成功。
在推理過程中,如果需要對推理結果做出解釋,那么可以建立專家系統解釋機構,這將從某種程度上提高了專家系統的性能。根據診斷的知識表示,診斷推理的過程本質上是在網路上以某種搜尋策略進行搜尋的過程。診斷過程實際就是搜尋匹配的過程,專家系統根據輸入或選擇的值及症狀用判斷規則引導搜尋深入,直到找到一個規則。
搜尋策略分為兩類:盲目搜尋和啟發式搜尋。盲目搜尋不需要前後相關的或有關問題域的專門信息。啟發式搜尋需要分析問題域的專門信息,即啟發式知識,並縮小了搜尋空間,從而提高搜尋的效率。