Questions tagged [rete]

The rete algorithm is frequently used in rules engines / systems, which provides an efficient pattern matching algorithm to determine which rules should fire based on a knowledge base of facts.

The rete algorithm is frequently used in rules engines / systems, which provides an efficient pattern matching algorithm to determine which rules should fire based on a knowledge base of facts.

The original rete algorithm was developed by Dr Charles L Forgy between 1974 and 1979 and has been released to the public domain.

Rete is used by many commercial rules engines including:

38 questions
11
votes
2 answers

Prolog backtracking VS Rete backtracking

In my class I have been taught the Prolog backtracking algorithm and the Rete forprop algorithm, but I have also been told that Rete can be used to do backprop. How does that work? In which ways is it similar / different to Prolog backtracking? For…
Jsevillamol
  • 2,425
  • 2
  • 23
  • 46
6
votes
3 answers

How to use Rete Algorithm

How can i use Rete Algorithm in java? Do i need to write my own algorithm implementation? Or is there already implemented library available?
sabbir
  • 686
  • 1
  • 9
  • 15
5
votes
2 answers

Drools rules writing best practice

I have been reading an article about Drools performance ( JBoss Drools – Performance and Memory Internals ) , it explains how Rete trees and nodes are created, how Drools indexes them, and why increasing number of objects in Drools hardly effects…
Luciano
  • 598
  • 9
  • 21
5
votes
2 answers

Does JBoss Drools really execute all rules in parallel?

I've read a lot of documentation of JBoss Drools but cannot find a definitive answer as to if all rules are executed concurrently (certainly they are fired concurrently). More specifically, for a single input and a rule set of say 1000 rules, do…
user1393285
  • 73
  • 1
  • 4
4
votes
2 answers

Are function symbols allowed in rule engines / Rete algorithm?

AI: A Modern Approach brings up the Rete algorithm when discussing inference in first-order logic. However, all descriptions of the Rete algorithm I found seem to use rules free of function symbols. In other words, rules look like a(X) ∧ b(X, Y) →…
MWB
  • 11,740
  • 6
  • 46
  • 91
4
votes
1 answer

Is this a proper way of defining a rule in NRules?

public class AllowAtleastOneCountryRule : Rule { public override void Define() { Profile profile = null; string str = @"At least one country has to be defined as 'permitted'"; bool enabled =…
talaa123
  • 123
  • 1
  • 2
  • 14
3
votes
1 answer

OWL2 RL via RETE algorithm

I am currently trying to implement OWL2 RL via Rete algorithm. I have run into the following issue: How to implement lists needed for example in this rule: eq-diff2 (W3C reccomendation)? Thanks.
malejpavouk
  • 4,297
  • 6
  • 41
  • 67
2
votes
1 answer

Rete network without beta network?

I'm trying to draw a Rete network for a sample rule which has no binding between variables in different patterns. I know that beta network is used to make sure that the bended variable in different patterns are consistent. (defrule R1 (type1 c1…
Salahuddin
  • 1,617
  • 3
  • 23
  • 37
2
votes
1 answer

Fast handling of rules in a simulation

If you only have a few rules in a discrete event simulation this is not critical but if you have a lot of them and they can interfere with each other and you may want to track the "which" and "where" they are used. Does anybody know how to get the…
Christoph
  • 6,841
  • 4
  • 37
  • 89
2
votes
2 answers

How to do optimal write rule definition in NRules

The code of NRules SimpleRule define the following rule: public class PreferredCustomerDiscountRule : Rule { public override void Define() { Customer customer = null; IEnumerable orders = null; When() …
Jens
  • 2,327
  • 25
  • 34
2
votes
3 answers

NRules: match a collection

I'm trying to figure out the BRE NRules and got some examples working but having a hard time to match a collection. IEnumerable orders = null; When() .Match>(o => o.Where(c => c.Cancelled).Count() >= 3) …
Elger Mensonides
  • 6,930
  • 6
  • 46
  • 69
1
vote
0 answers

Is RETE algorithm still relevant in year 2022 OR we have better alternatives, do we have any other stable rule engine libs in JavaScript except nools?

I am working with a user input that has to be processed based on the set of rules. Using nools but its a pain in the back when comes to javascript ES6 operations like IIFE, map-reduce, nested sort. Talking about RETE algo in 2022 might sound…
1
vote
1 answer

Drools Eclipse cannot show Rete view

I am trying to study Drools to build a Rule Based System. I installed Drools plugin for Eclipse. I created a new Drools project with sample, but when I opened Sample.drl file then select "Rete Tree" I got an error "Rete Tree Build…
tienthanhakay
  • 396
  • 1
  • 4
  • 17
1
vote
1 answer

Rete Library giving error with React JS : ReferenceError: regeneratorRuntime is not defined

Rete library is giving this below error upon installing. Below is the error that I am getting. (anonymous function) node_modules/rete/build/rete.esm.js:413 410 | value: function () { 411 | var _build = _asyncToGenerator( 412 | …
amit singh
  • 21
  • 4
1
vote
1 answer

Drools RETE algorithm confusion

I am having an issue understanding RETE algorithm Beta node JoinNode and notNode? Documentation says : There are two two-input nodes, JoinNode and NotNode, and both are types of BetaNodes. BetaNodes are used to compare 2 objects, and their …
Kimchy
  • 501
  • 8
  • 24
1
2 3