test

產生式系統

產生式系統是給定事實與推理規則,進行自動推理的推理系統。python

產生式系統由3個部分組成:總數據庫產生式規則控制策略數據庫

  • 總數據庫是存放求解過程當中各類當前信息的數據結構,包括已知事實與推理過程當中獲得的結論
  • 產生式規則是一個規則庫,存放形如"if <前提>, then <結論>" 的推理規則.
  • 控制策略決定了推理過程當中如何應用規則,即肯定下一步應該選用什麼規則,類比於圖搜索中的圖搜索策略(DFS,BFS,etc.)
產生式系統 圖搜索
初始事實數據 初始節點
目標條件 目標節點
產生式規則 狀態轉換規則
問題變換規則
規則集 操做集
動態數據庫 節點(狀態/問題)
控制策略 搜索策略

按照搜索方向,產生式系統可分爲正向推理逆向推理雙向推理數據結構

例 正向推理 設$P_1,P_2,P_3,P_4$ 爲謂詞公式或命題, 初始總數據庫 $DB=\{P_1\},$ 規則庫 $R=\{R_1:P_1\to P_2, R_2:P_2\to P_3, R_3:P_3 \to P_4 \},$ 則推理步驟以下code

  1. $P_1 \in DB,$ 在規則庫$R$中尋找到可用的規則 $R_1:P_1\to P_2,$ 獲得 $P_2,$ 當前$DB=\{P_1,P_2\}$
  2. $P_2 \in DB,$ 在規則庫$R$中尋找到可用的規則 $R_2:P_2\to P_3,$ 獲得 $P_3,$ 當前$DB=\{P_1,P_2,P_3\}$
  3. $P_3 \in DB,$ 在規則庫$R$中尋找到可用的規則 $R_3:P_3\to P_4,$ 獲得 $P_4,$ 當前$DB=\{P_1,P_2,P_3,P_4\}$
if True:
    print('hello')
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息