Rete网络没有Beta网络?

Sal*_*din 2 expert-system clips rete

我正在尝试为示例规则绘制Rete网络,该规则在不同模式的变量之间没有绑定。我知道使用beta网络来确保不同模式下的弯曲变量保持一致。

(defrule R1
  (type1 c1 c2)
  (type2 c3)
 =>
)

(defrule R2
  (type2 c3)
  (type3 c4 v1)
  (type4 c5 v1)
 =>
) 
Run Code Online (Sandbox Code Playgroud)

在R1中,两个模式之间没有绑定变量,那么我该如何在Rete网络中合并它们的结果?在R2中,两个规则绑定了变量,而第三个没有绑定。如何在网络中结合这三个规则?我在这种情况下搜索了Rete网络示例,但未找到任何示例。我试图绘制网络,下面是我的网络。这样对吗?

更新:基于加里的答案的新网络

在此处输入图片说明 谢谢

Gar*_*ley 5

Beta节点存储部分匹配项,而不管模式中是否指定了需要检查一致性的变量。变量绑定仅用于过滤存储在beta内存中的部分匹配项。如果没有变量,则所有生成的部分匹配项都将存储在Beta存储器中。

您的图应如下所示:

a1    a2   a3   a4
  \  /  \  /    /
   b1    b2    /
   |       \  /
   r1       b3
            |
            r2
Run Code Online (Sandbox Code Playgroud)