所 謂數 據驅 動即指推理過程從初始證據開始直到目標結束;而目 標驅 動則是 指推 理過程 從目 標開 始進 行反向推理,直到出現與初始證據相吻合的結果。血液融漿機按照對推理方向的控制,推理可分為正向 推理、反向推理、混合推理及雙向推理四種情 況。無論 采用哪 一種 推理 方式,智能 系統 都應 該有一個知識庫用于存放知識、一個綜合數據 庫用于 存放 初始證 據及 中間結 果和 一個 推理 機用于推理求解。推理的限制策略是為了防止無 窮的 推理過 程,或者 說為了 防止 推理 過程 太長導致時間及空間的復雜性增加而對推理的深度、寬度、時間、空間等進行的限制;推理的 求解策略是指在利用推理求解問題時,求多少個解以及求什么樣的解,例如,是求所有的解? 還是求一個解或者是最優解?沖突消解策略則是指當推理過程中有多條知識或規則與推理 輸入的條件或假設匹配時,如何從這多條匹配 知識或 規則 中選出 一條 知識或 規則 作為 啟用 知識或規則用于推理。下面按照推理方向來對各種推理方式進行討論。 1. 正向推理 正向推理是一種從已知事實出發、正向
使 用推理 規則 的推 理方式,它 是一 種數據(或證 據)驅動的推理方式,又稱前項鏈推理或自底向上推理。正向使用推理規則是指用綜合數據 庫中的已知事實與知識庫中知識的前提條件(或規 則前件)進 行匹 配來選 擇知 識(或規 則)。 正向推理的基本思想是:用 戶 事先 提供 一組 初始 證 據,并將 其放 入綜 合數 據 庫。推 理開 始 后,推理機根據綜合數據庫中的已有事實,到知識 庫中 尋找當 前匹 配知 識,形 成一 個當 前匹 配知識集,然后按照沖突消解策略,從該知識集中 選擇 一條知 識作 為啟 用知識 進行 推理,并 將新 推出的 事實 加入綜 合數 據庫,作 為后面 繼續 推理時 可用 的已 知事實,如 此重 復這 一過 程,直到求出所需要的解或者知識庫中再無可用知識為止。 正向推理過程可用如下算法描述: (1) 把用戶提供的初始證據或已知事實放入綜合數據庫。 (2) 檢查綜合數據庫中是否包含了問題的解,若有,則求解結束,并 成功退出;否則 執行 (3)。 3.1 推 理 概 述 85 (3) 檢查知識庫中是否有與綜合數據庫中已有事實相匹配的知 識,若有,則將所有 的匹 配知識構成當前匹配知識集,轉(4);否則轉(5)。 (4) 按照某種沖突消解策略,從 當前 匹配知 識集 中選 出一條 知識 作為啟 用知 識用 于進 行推理,并將推出的新事實或證據加入綜合數據庫中,然后轉(2)。 (5) 詢問用戶是否可以進一步補充新的事實或證據,若可補充,則 將補充 的新事實 或證 據加入綜合數據庫中,然后轉(3);否則表示無解,失敗退出。 該算法的示意圖如圖3.1所示。 正向推理的
算法表面上看好像比較簡單,但實際上推理的每一步都還有許多工作要做。 例如,如何根據綜合數據庫中的已有事實從知識庫中選出那些匹配的知識;當知識庫中有多 條知識與綜合數據庫中的已有事實匹配時,應該選擇哪一條知識作為進行推理的啟用規則? 這涉及到知識的匹配方法和沖突消解策略,將在后面討論。 正向推理的優點是比較直觀,允許用戶主動提供有用的事實信息,適合于診斷、設計、預 測、監控等領域的問題求解。其主要缺點是推理無明確目標,求解問題時可能會執行許多與 求解無關的操作,導致推理效率較低。 2. 反向推理 反向推理是一種以某個假設目標為出發點,反向運用推理規則的推理方式,它是一種目 標驅動的推理方式,又稱反向鏈推理或自頂向下推理。所謂反向運用推理規則,就是在進行 推理時,用事實數據庫中的已知事實(實際就是假 設的目 標或 推理出 的子 目標)與 知識 庫中 知識的結論部分(或規則后件)進行匹配,選擇可用的知識或規則。反向推理的基本思想是: 首先根據問題求解的要求,將要求證的目標(稱為假設)構成一個假設集,然后從假設集中