Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Rete algorithm
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Variants== ===Rete II=== In the 1980s, [[Charles Forgy]] developed a successor to the Rete algorithm named '''Rete II'''.<ref>[http://www.pst.com/reteII.html RETE2] from Production Systems Technologies</ref> Unlike the original Rete (which is public domain) this algorithm was not disclosed. Rete II claims better performance for more complex problems (even orders of magnitude<ref>[http://www.pst.com/clipsr2_benchmark.html Benchmarking CLIPS/R2] from Production Systems Technologies</ref>), and is officially implemented in CLIPS/R2, a C/++ implementation and in OPSJ, a Java implementation in 1998. Rete II gives about a 100 to 1 order of magnitude performance improvement in more complex problems as shown by KnowledgeBased Systems Corporation<ref>[http://www.kbsc.com KBSC]</ref> benchmarks. Rete II can be characterized by two areas of improvement; specific optimizations relating to the general performance of the Rete network (including the use of hashed memories in order to increase performance with larger sets of data), and the inclusion of a [[backward chaining]] algorithm tailored to run on top of the Rete network. Backward chaining alone can account for the most extreme changes in benchmarks relating to Rete vs. Rete II. Rete II is implemented in the commercial product Advisor from FICO, formerly called Fair Isaac <ref>{{Cite web |url=http://dmblog.fico.com/2005/09/what_is_rete_ii.html |title=What is Rete III? - Decision Management Blog |access-date=2014-08-05 |archive-date=2014-08-08 |archive-url=https://web.archive.org/web/20140808061650/http://dmblog.fico.com/2005/09/what_is_rete_ii.html |url-status=dead }}</ref> Jess (at least versions 5.0 and later) also adds a commercial backward chaining algorithm on top of the Rete network, but it cannot be said to fully implement Rete II, in part due to the fact that no full specification is publicly available. ===Rete-III=== In the early 2000s, the Rete III engine was developed by Charles Forgy in cooperation with FICO engineers. The Rete III algorithm, which is not Rete-NT, is the FICO trademark for Rete II and is implemented as part of the FICO Advisor engine. It is basically the Rete II engine with an API that allows access to the Advisor engine because the Advisor engine can access other FICO products.<ref>{{Cite web |url=http://dmblog.fico.com/2005/09/what_is_rete_ii.html |title=What is Rete III? - Decision Management Blog |access-date=2014-08-05 |archive-date=2014-08-08 |archive-url=https://web.archive.org/web/20140808061650/http://dmblog.fico.com/2005/09/what_is_rete_ii.html |url-status=dead }}</ref> ===Rete-NT=== In 2010, Forgy developed a new generation of the Rete algorithm. In an InfoWorld benchmark, the algorithm was deemed 500 times faster than the original Rete algorithm and 10 times faster than its predecessor, Rete II.<ref>{{cite magazine|last=Owen |first=James |url=http://www.infoworld.com/t/business-rule-management-systems/worlds-fastest-rules-engine-822 |title=World's fastest rules engine | Business rule management systems |magazine=InfoWorld |date=2010-09-20 |access-date=2012-04-07}}</ref> This algorithm is now licensed to Sparkling Logic, the company that Forgy joined as investor and strategic advisor,<ref>{{cite web|url=http://www.pr.com/press-release/365279 |title=It's Official, Dr. Charles Forgy Joins Sparkling Logic as Strategic Advisor |publisher=PR.com |date=2011-10-31 |access-date=2012-04-07}}</ref><ref>{{cite web|url=http://www.sparklinglogic.com/advisors/ |title=Dr. Charles Forgy, PhD |publisher=www.sparklinglogic.com |access-date=2012-04-07}}</ref> as the inference engine of the SMARTS product. ===Rete-OO=== Considering that Rete aims to support [[first-order logic]] (basically [[if-then-else]] statements), Rete-OO<ref>{{Cite journal|last1=Sottara|first1=Davide|last2=Mello|first2=Paola|author2-link=Paola Mello|last3=Proctor|first3=Mark|year=2010|title=A Configurable Rete-OO Engine for Reasoning with Different Types of Imperfect Information|url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.713.3826&rep=rep1&type=pdf|format=PDF|journal=IEEE Transactions on Knowledge and Data Engineering|volume=22|issue=11|pages=1535β1548|doi=10.1109/TKDE.2010.125|citeseerx=10.1.1.713.3826|archive-url=https://web.archive.org/web/20220110153745/http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.713.3826&rep=rep1&type=pdf|archive-date=2022-01-10|access-date=2022-01-10|s2cid=18895309}}</ref> aims to provide a rule-based system that supports uncertainty (where the information to make a decision is missing or is inaccurate). According to the author's proposal, the rule "''if Danger then Alarm''" would be improved to something such as "''given the probability of Danger, there will be a certain probability of hearing an Alarm''" or even "''the greater the Danger, the louder should be Alarm''". For this it extends the [[Drools]] language (which already implements the Rete algorithm) to make it support [[probabilistic logic]], like [[fuzzy logic]] and [[Bayesian network]]s.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)