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

什么是产生式

产生式

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

产生式系统基本结构


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

规则库

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

综合数据库

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


控制系统(推理机构)

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

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

(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