人工智能 - 球星產生式系統

什麼是產生式

產生式git

  一組產生式,互相配合/協調,其中一個產生式產生的結論能夠做爲另外一個產生式的事實使用,以求解問題。github

產生式系統基本結構

以下圖爲產生式系統的基本結構 

  

 

規則庫

  用於描述相應領域內過程性知識的產生式集合。對知識進行合理的組織與管理,提升問題求解效率。算法

綜合數據庫

   綜合數據庫(事實庫、上下文、黑板等):存放問題求解過程當中的各類信息的數據結構,包括初始狀態、原始證據、中間結論、最終結論,其內容在推理過程當中在動態、不斷變化的。數據庫

控制系統(推理機構)

  由一組程序組成,負責整個產生式系統的運行,實現對問題的求解。數據結構

控制系統要作一下幾項工做

  (1)從規則庫中選擇與綜合數據庫中的已知事實進行匹配。
  (2)匹配成功的規則可能不止一條,進行衝突消解。
  (3)執行某一規則時,若是其右部是一個或多個結論,則把這些結論加入到綜合數 據庫中:若是其右部是一個或多個操做,則執行這些操做。
  (4)對於不肯定性知識,在執行每一條規則時還要按必定的算法計算結論的不肯定性。    
  (5)檢查綜合數據庫中是否包含了最終結論,決定是否中止系統的運行。

ide

球星識別系統案例

球星識別系統謂詞

starIs      球星是
itIs       類別是
evidence    事實

球星識別系統規則庫

itIs("火箭隊"):-evidence("西部第八")
itIs("雷霆隊"):-evidence("西部第三")
itIs("騎士隊"):-evidence("東部第一")
itIs("熱火隊"):-evidence("東部第四")
itIs("勇士隊"):-evidence("西部第一")
starIs("杜蘭特"):-itIs("雷霆隊"),evidence("35號"),evidence("前鋒")
starIs("哈登"):-itIs("火箭隊"),evidence("13號"),evidence("後衛")
starIs("霍華德"):-itIs("火箭隊"),evidence("12號"),evidence("中鋒")
starIs("庫裏"):-itIs("勇士隊"),evidence("30號"),evidence("後衛")
starIs("韋德"):-itIs("熱火隊"),evidence("3號"),evidence("後衛")
starIs("詹姆斯"):-itIs("騎士隊"),evidence("23號"),evidence("前鋒")

 球星產生式系統效果

設置系統名稱

  

設置系統謂詞

  

正向推導

  

反向推導

  

若是推導失敗則提示錯誤

  

 

項目代碼

  (GitHub-Jayvee) https://github.com/wjw1014/ProductionSystemspa

相關文章
相關標籤/搜索