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

版权声明:本博文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处! https://blog.csdn.net/weixin_42776111/article/details/89850323

什么是产生式

产生式

  一组产生式,互相配合/协调,其中一个产生式产生的结论可以作为另一个产生式的事实使用,以求解问题。

产生式系统基本结构

如下图为产生式系统的基本结构 

  

规则库

  用于描述相应领域内过程性知识的产生式集合。对知识进行合理的组织与管理,提高问题求解效率。

综合数据库

   综合数据库(事实库、上下文、黑板等):存放问题求解过程中的各种信息的数据结构,包括初始状态、原始证据、中间结论、最终结论,其内容在推理过程中在动态、不断变化的。

控制系统(推理机构)

  由一组程序组成,负责整个产生式系统的运行,实现对问题的求解。

控制系统要做一下几项工作

  (1)从规则库中选择与综合数据库中的已知事实进行匹配。
  (2)匹配成功的规则可能不止一条,进行冲突消解。
  (3)执行某一规则时,如果其右部是一个或多个结论,则把这些结论加入到综合数 据库中:如果其右部是一个或多个操作,则执行这些操作。
  (4)对于不确定性知识,在执行每一条规则时还要按一定的算法计算结论的不确定性。    
  (5)检查综合数据库中是否包含了最终结论,决定是否停止系统的运行。

球星识别系统案例

球星识别系统谓词

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/ProductionSystem

猜你喜欢

转载自blog.csdn.net/weixin_42776111/article/details/89850323