规则推理算法:Treat

Treat算法是针对AI生产系统的一种匹配算法,它引入了conflict-set support,与传统的rete算法相比,在5个OPS5程序中表现更优。Treat通过减少删除操作时的工作,降低了计算复杂度,而rete的优势在于状态保存和节点共享,但在并行环境中面临挑战。Treat算法处理增加和删除wme的操作,通过condition membership、memory support和conflict set support优化匹配过程。

参考自《Treat: A Better Match Algorithm for AI Production Systems》

引言
文中提出Treat算法并引入了一种新的状态保存方法,叫conflict-set support,并对Treat和rete算法进行了性能比较。结论是在5个不同的OPS5产生式程序中,TREAT优于rete。
通常来说,一个产生式系统由一组规则或产生式作为规则库,和一些事实(working memory elements)wme组成,每个产生式由LHS和RHS组成,LHS包含一组条件也就是pattern来匹配事实,RHS就是规则触发后要执行的动作,包括对working memory的更新等等。产生式系统一直重复执行Match(事实匹配规则)、Select(从触发规则集中选规则执行其RHS)、Act(就是选到的规则执行的动作)。
一般来说,执行过程中很多working memory都不怎么改变,所以递增地计算conflict set及状态保存是有意义的。(也算是rete等算法高效的依据)。rete算法被认为是对于这类问题最好的算法。然而,没有对它和其他算法进行比较的相关的文献,并且McDermott, Newell and Moore三个人提出一个猜测,就是rete中的状态保存机制可能是没有价值的。
匹配算法的发展:
1、类比关系数据库,单个条件的匹配可以看做数据库中一个对象的查询,多个条件一起的匹配,就像数据库中的join操作一样。
2、状态保存减少计算,介绍几种可保存的状态。McDermott, Newell and Moore提出了三种可以合并到算法中的知识和状态信息分别是Condition Membership、Memory Support、Condition Relationship,Treat算法提出第四种conflict-set。
-Condition Membership,每个条件使用一个count变量来记录满足条件的wme,如果一个规则的所有(非否定)条件对应的count都不为0,那这个规则就是active的,匹配算法忽略那些不是active的规则。
-M

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值