人工智能 - 球星产生式系统

什么是产生式

产生式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

相关文章
相关标签/搜索