2015年5月13日 星期三

AI - Ch9 邏輯(2), 專家系統 Expert System

 

專家系統 (Expert system)
專家系統是早期人工智慧的一個重要分支,它可以看作是一類具有專門知識和經驗的計算機智能程序系統,一般採用人工智慧中的知識表示和知識推理技術來模擬通常由領域專家才能解決的複雜問題。一般來說,專家系統 = 知識庫 + 推理機,因此專家系統也被稱為基於知識的系統。

一個專家系統必須具備三要素
  • 領域專家級知識
  • 模擬專家思維
  • 達到專家級的水平



知識庫(Knowledge base)
知識庫是用於知識管理的一種特殊的資料庫,以便於有關領域知識的採集、整理以及提取。知識庫中的知識源於領域專家,它是求解問題所需領域知識的集合,包括基本事實、規則和其它有關信息。



推理機 (Inference engine)
推理機是實施問題求解的核心執行機構,常見於專家系統。它是對知識進行解釋的程序,根據知識的語義,對按一定策略找到的知識進行解釋執行,並把結果記錄到動態庫的適當空間中去。


推理機優缺點
  • 優點:推理機的程序與知識庫的具體內容無關,所以對知識庫的修改不需要改動推理機。
  • 缺點:純粹的形式推理會降低問題求解的效率。因此一般採用推理機和知識庫相結合的方法。

推理策略
  • 正向推理:數據驅動,其基本思想是:從問題已有的事實(初始證據)出發,正向使用規則,當規則的條件部分與已有的事實匹配時,就把該規則作為可用規則放入候選規則隊列中,然後通過衝突消解,在候選隊列中選擇一條規則作為啟用規則進行推理,並將其結論放入資料庫中,作為下一步推理時的證據。如此重複這個過程,直到再無可用規則可被選用或者求得了所要求的解為止。


  • 反向推理:目標驅動,它是首先提出某個假設,然後尋找支持該假設的證據,若所需的證據都能找到,說明原假設是正確的;若無論如何都找不到所需要的證據,則說明原假設不成立,此時需要另做新的假設。


推論器的問題解決演算法可以區分為三個層次
推論器會根據知識庫、使用者的問題及問題的複雜度來決定適用推論層次。
  • 一般途徑:利用任意檢索(Blind Search)隨意尋找可能的答案,或利用啟發式檢索(Heuristic Search)嘗試尋找最有可能的答案。
  • 控制策略:有前推式(Forward Chaining)、回溯式(Backward Chaining)及雙向式(Bi-directional)三種。前推式是從已知的條件中尋找答案,利用資料逐步推出結論;回溯式則先設定目標,再證目標成立。
  • 額外的思考技巧:用來處理知識庫內數個概念間的不確定性,一般使用模糊邏輯(Fuzzy Logic)來進行演算。



Reference

The Rule Engine

Wiki - 專家系統





技術提供:Blogger.