- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我真的很高兴在 Node 中看到一个规则引擎,也在 Java 世界中查看 Drools 并阅读文档(特别是:http://docs.jboss.org/drools/release/6.1.0.Final/drools-docs/html_single/index.html#PHREAK)found,Drools 6.0 已经发展,现在使用 PHREAK 方法进行规则匹配。具体段落感兴趣的是:
Each successful join attempt in RETE produces a tuple (or token, or partial match) that will be propagated to the child nodes. For this reason it is characterised as a tuple oriented algorithm. For each child node that it reaches it will attempt to join with the other side of the node, again each successful join attempt will be propagated straight away. This creates a descent recursion effect. Thrashing the network of nodes as it ripples up and down, left and right from the point of entry into the beta network to all the reachable leaf nodes.
最佳答案
只有当您想尝试应用并发性和并行性时,网络抖动才会成为问题,这需要锁定区域。由于 NodeJS 是单线程的,这不会成为问题。我们也还没有尝试在 Drools 中解决这个领域——但 Phreak 的工作是考虑到这一点,从我们在 Rete 实现中发现的问题中学习。另请注意,Rete 过去曾使用分区算法进行并行处理,这项工作与它试图解决的问题处于同一领域。
对于单线程机器,惰性规则评估更有趣。然而,正如文档所指出的,单个连接规则在 Phreak 和 Rete 之间的性能上不会有所不同。当您添加大量规则时,惰性自然避免了潜在的工作,从而节省了所有 cpu 周期。该算法对于大量写得不好的规则也更加宽容,并且性能下降的幅度应该较小。例如,它不需要用于驱动规则选择和短路浪费匹配的传统 Rete 根“上下文”对象 - 这将被视为 Phreak 中的反模式,并且实际上可能会减慢它的速度,因为你吹走了匹配它可能在 future 再次使用。
http://www.dzone.com/links/rip_rete_time_to_get_phreaky.html
当规则中使用多个子网时,面向集合的传播也是相关的,例如多个累加。
http://blog.athico.com/2014/02/drools-6-performance-with-phreak.html
我还对反向链接和堆栈评估基础结构进行了跟进:
http://blog.athico.com/2014/01/drools-phreak-stack-based-evaluations.html
马克(Phreak的创造者)
关于node.js - Nools 和流口水,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26051726/
我真的很高兴在 Node 中看到一个规则引擎,也在 Java 世界中查看 Drools 并阅读文档(特别是:http://docs.jboss.org/drools/release/6.1.0.Fin
嗨,我正在使用 Node.js 开发 nools。当我运行该程序时发生错误: throw new Error("Invalid expression '" + expression + "'") In
var RuleEngine = require('node-rules'); var titan = { "product": "Titan", "amount":"500"
我是一名优秀的程序员,十分优秀!