跳轉到內容

專家系統/議程

來自華夏公益教科書,開放的書籍,開放的世界

議程是一個佇列,包含所有條件已經滿足並且能夠觸發的規則。推理引擎將檢查議程上的規則,並確定哪些規則將被執行。

當議程上存在兩個或多個規則時,即當多個規則的條件已經滿足並且準備被觸發時,就會發生衝突。在這些情況下,推理引擎需要決定觸發哪些規則以及按照什麼順序觸發它們。

規則順序

[編輯 | 編輯原始碼]

推理引擎可以採用多種不同的方式來決定觸發議程上的哪些規則以及按照什麼順序觸發它們。

先進先出

[編輯 | 編輯原始碼]

先進先出 (FIFO) 表示規則按照它們在知識庫中出現的順序新增到議程中,推理引擎按照規則在議程中出現的相同順序觸發它們。

優先順序

[編輯 | 編輯原始碼]

在優先順序系統中,每個規則都會被賦予一個優先順序值,優先順序更高的規則會被優先觸發。這些系統的問題是,程式設計師可能會傾向於以一種複製程式程式的方式分配優先順序值。

手動編寫規則觸發的確切順序通常是一個不好的主意。當知識工程師收集在任何順序觸發都為真的規則時,專家系統會更加健壯。

先行項數量

[編輯 | 編輯原始碼]

具有更多先行項的規則,因此具有更多要求,可能更準確,也更有可能快速導致目標。這種邏輯導致了基於先行項數量來觸發規則的系統。

華夏公益教科書