規則推理引擎也叫產生式系統,是由基於規則的專家系統發展而來。基於規則的專家系統是人工智能領域中專家系統的
一個分支,它模擬人類的推理方式,使用試探性的方法進行推理,並使用人類能理解的術語解釋和證明它的推理結論。
基於規則的專家系統,使用的知識包括:
- 事實: 事實是用來表示已知的數據或信息。
- 規則: 即產生式規則,用來表示系統推理的有關知識。 規則由條件和動作組成,格式一般為:
IF 條件
Then 動作
基於規則的專家系統主要包括以下三個部分:
- 規則庫(Rule Base): 一個用規則來表達的知識集,包括執行推理所需要的知識。
- 工作區(Working Memory): 一個事實的集合,包含執行推理所需要的數據。
- 推理引擎(Inference Engine): 完成推理的過程,找出當前周期中哪條規則需要激活。
結構圖如下:
推理引擎主要包含三個部分:
模式匹配器(Pattern Matcher)、議程(Agenda)和執行引擎(Execution Engine)。
推理引擎工作過程的三個階段:
- 將事實輸入到Working Memory中。
- 使用Pattern Matcher比較規則庫中的規則和工作區中的事實,判斷能夠和事實匹配的規則,即激活規則。
- 如果執行規則存在沖突,即同時激活了多個規則,將沖突的規則放入沖突集合。
- 解決沖突,將激活的規則按順序放入Agenda。
- 使用推理引擎執行Agenda中的規則。重復步驟2至5,直到執行完所有Agenda中的規則。
推理引擎工作過程如下: