首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >没有beta网络的Rete网络?

没有beta网络的Rete网络?
EN

Stack Overflow用户
提问于 2017-08-26 11:37:30
回答 1查看 224关注 0票数 2

我试图为一个样本规则绘制一个Rete网络,它在不同模式的变量之间没有绑定。我知道beta网络是用来确保不同模式中的弯曲变量是一致的。

代码语言:javascript
运行
复制
(defrule R1
  (type1 c1 c2)
  (type2 c3)
 =>
)

(defrule R2
  (type2 c3)
  (type3 c4 v1)
  (type4 c5 v1)
 =>
) 

在R1中,这两种模式之间没有绑定变量,那么如何将它们在Rete网络中的结果结合起来呢?在R2中,有两个规则绑定了变量,而第三个没有绑定变量。如何将网络中的三条规则结合起来?我搜索了Rete网络的例子,但没有找到任何这样的情况。我试着画网络,下面是我的网络。是对的吗?

更新:基于Gary的应答的新网络

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-26 20:06:06

无论模式中是否有需要检查一致性的变量,Beta节点都会存储部分匹配。变量绑定只用于过滤存储在beta内存中的部分匹配。如果没有变量,那么所有生成的部分匹配将存储在beta内存中。

您的图表应该如下所示:

代码语言:javascript
运行
复制
a1    a2   a3   a4
  \  /  \  /    /
   b1    b2    /
   |       \  /
   r1       b3
            |
            r2
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45894927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档