rete_Rete之外的生活– RIP Rete 2013 :)
rete
我只是对我的新算法做最后的修改。 它融合了Leaps , 面向集合的Match和Left / Right取消链接的概念 ,以及我自己的一些想法。 该代码已提交,但我正在积累工作并编写更多测试。 我将在一周左右的时间内写一个完整的博客,详细介绍它,并希望为人们提供一个alpha版本。 该算法解决了Rete的贪婪和浪费性质。 如果我们使用GWT进行JS移植,这将使其适合于更受限的环境,例如移动设备或浏览器。 此外,它在设计时考虑了多核的使用-尽管我还没有实现。 对于那些了解术语的人,这里是我到目前为止所做的要点列表。
规则解除连结
- 使用细分来保留共享。 位掩码用于正确的输入和段,以进行有效检查。
- 当所有正确的输入都设置了位时,Segment设置了位。
- 当每个段都设置了位时,将链接一个规则。
- 在一条规则都完全链接到议程中之前,不会进行beta测试(请参阅惰性规则评估)
- 当任何正确的输入没有数据时,可以取消链接的规则
- 将保留所有完整和部分联接数据。
- 我怀疑我们可以使用弧度一致性来进一步延迟设置的时间,而不是简单地存在正确的输入
懒惰规则评估
- 链接时不会评估Rule的beta网络。 而是将其添加到优先级队列中,仅当它弹出时,我们才评估其Beta网络
面向集合的传播
- 为正确的输入暂存所有插入,更新和删除操作,直到评估规则为止。
- Beta网络评估从根本开始
- 所有插入/更新/删除操作将一起处理,从而导致一组元组被传播到下一个节点
- 确保课程粒度节点评估,是多核调度的理想选择。
- 单次传播而不是典型的Rete,深度搜索会影响网络。
- 请注意,我们还没有进行面向集合的匹配,这会折叠节点中的匹配空间。
- 当我们借用集合传播概念时,面向集合的匹配的碎片整理过程需要更多考虑,因为它有缺点。
就地修改/差异更新
- 修改是真实的,而不是撤消+断言
- 允许补偿“撤消”操作,因为我们知道真正删除了什么,更新了什么。
- 保留对象,以避免GC命中。
物业React
- 模式可以侦听并对特定的属性更改做出React
- 将其视为属性更改侦听器,而不是当前类更改侦听器
基于树的图
- 撤回只需要迭代图
- 允许有效的“就地修改”
子网支持
- 不存在,积累可以支持的嵌套组和模式
- 作为单程网络评估的一部分得到支持
- 我们的元组集到达左输入,然后递归地评估subetnworks。
虽然还不完善,但我可以想到以下一些TODO项目,以提出近期和长期的想法:
更有效的子网
- 新的设计允许子网内更有效的执行,但是我们还没有利用这一点。
GC加盟
- 如果未使用联接,则允许它们在一段时间后进行GC处理,但还必须在不使规则执行顺序无效的情况下支持重新创建(即,如果已触发,则不能再次触发该规则)
不同的网络拓扑
- Rete网络始终从左到右连接,这并不总是有效的。 Treat和Gator网络着眼于不同的拓扑如何减少加入尝试的次数,它还可以改善与我们新的基于分段的网络的共享。
多核工作
- 该设计现在已经基于队列,并且支持粗粒度的工作单元。 现在,我们需要开始创建线程模型,并更好地隔离和分离alpha网络传播过程。 这涉及重构我们现有的锁定模型。
- 需要对重叠规则进行有效测试-即一个规则与另一条规则共享段。 这将使我们能够评估规则,而无需同步点。
智能链接
- 当正确的输入接收到单个事实时,通过设置位完成链接。 弧度一致性可用于进一步延迟此链接过程,仅在实现弧度一致性时才在规则段以及规则中进行链接。
MVCC和交易
- 传播模型应支持多版本并行控制。 这对于获得更好的多核支持是必不可少的,它将使事务支持成为可能。
参考: Drools&jBPM博客上来自JCG合作伙伴 Geoffrey De-Smet的《超越Rete的生活– RIP Rete 2013:》 。
翻译自: https://www.javacodegeeks.com/2013/04/life-beyond-rete-r-i-p-rete-2013.html
rete
rete_Rete之外的生活– RIP Rete 2013 :)相关推荐
- Rete之外的生活– RIP Rete 2013 :)
我只是对我的新算法进行最后的修改. 它合并了Leaps , 面向集合的Match和Left / Right取消链接的概念 ,以及我自己的一些想法. 该代码已提交,但我正在积累工作并编写更多测试. 我将 ...
- RIP RETE时间获得PHREAKY
我刚刚完成了我称为PHREAK的新规则算法的一些高级文档,这是混合推理中的一个文字游戏. 它仍然有点粗糙和高水平,但希望仍然很有趣. 它建立在ReteOO之上,非常好阅读. ReteOO算法 Rete ...
- 数据可视化 饼图_饼图之外的生活:合适工作的合适可视化效果
数据可视化 饼图 I deal with a lot of data in my day job. We're always trying to figure out the right way to ...
- 2013再见,2014你好!
时间过得真是匆匆,2013再见,2014你好,今天元旦放假,刚好总结梳理下自己的2013,然后也写写自己的2014规划,希望自己能做得更好. 总结2013 关于学习和工作 2013年的6月份终于读完了 ...
- 别顾着学习工作,没了生活
首先,需要说明的是这是一篇无码的文章,这里不谈任何关于技术的问题,只是写写学习工作之外的生活. 好久没更新博客了,因为自己太忙了,也太累了,剩下的空闲时间都是拿来休息了,所以,迟迟没有动笔,说来,最近 ...
- CSDN博客 论坛—— 我的2013 年度征文活动火爆进行中 【已结束】
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 2013 ...
- Conflux人物志-李沛伦:佛系青年的巴适生活
在我们过往的认知中,Conflux技术团队的"天之骄子"们普遍具有理科生非常明显的性格特点,那就是认真.甚至有一些执拗,不管对待科研还是生活都同样的一丝不苟.就在这群严谨的技术男当 ...
- 普通人做抖音生活号怎么赚钱?掌握这几点日入500+。丨国仁网络资讯
抖音根本不缺粉丝,只要你能够持续更新,用心做内容,相信涨粉并不是一件难事. 最近有人说,5G 时代最大的营销是抖音营销. 这个观点并没有错.我也认为,新媒体营销是时代给我们的机遇.而,抖音是新媒体营销 ...
- CSDN博客论坛——“我的2013”年度征文活动火爆进行中!【已结束】
2013年即将过去,在这一年里你可能毕业参加工作.可能跳槽到新公司.可能开始涉猎新的技术领域.可能在CSDN遇上技术牛人.可能参与了极富挑战的项目.可能升职做经理总监.可能和志同道合的朋友们创业.也有 ...
最新文章
- 开源心得:一个Ubuntu用户的使用体悟
- mysql消息队列的原理_PHP和MySQL实现消息队列
- CSS3手机端侧滑菜单 4种滑动菜单特效
- c#给定二维数组按升序排序_在数组中按升序对数字进行排序| 8086微处理器
- CSS3中的3D变换与简易立方体的制作
- 毕业生,管好你的档案和户口
- 我中的第一标:4000人中脱颖而出的威客
- ATF DSP PC-Tool(电脑调音软件)v3.20官方版
- 窗函数的介绍以及画出常见窗函数(汉宁窗,矩形窗,汉明窗,布莱克曼窗)的时域图和频谱图
- 【Windows10】利用分区助手扩展C盘分区
- Edraw Max(亿图图示)新手福音:教你思维导图的简单画法!
- unity教程之Unity引擎
- Eclips 快捷键设置
- JAVA XML转对象 对象转XML
- 人工智能机器人网站合集
- Unity移动---鼠标拖拽物体在3D空间移动(地面和非地面)
- SHARP GP2Y1014笔记
- < Echarts地图Json数据获取:可获取地图geo.json数据( 省、市、县、区、城镇、街道 ) >
- 《一人之下》佳句欣赏
- 光伏全年数据,风电数据,光伏出力。 因素 辐射 温度 气压 湿度 可用于人工神经网络数据分析;
热门文章
- java中遍历树形菜单,你可能不知道还有这样的方法
- FastDFS(分布式文件系统)
- 对查询出来的结果进行筛选(having)
- 定西市计算机考试,2019年3月甘肃省定西市计算机等级考试时间
- linux软件可以在所有发行版运行吗,Linux通用的跨发行版的3大软件包管理器
- python简单爬虫课题_VS2019python爬虫入门
- java国际化——消息格式化+文本文件和字符集
- spring 配置只读事务_只读副本和Spring Data第1部分:配置数据库
- java oauth2.0_OAuth 2.0 Java指南:5分钟保护您的应用程序安全
- hibernate删除记录_Hibernate记录:常见问题的提示和解决方案