Skip to content
/ rete Public

An implementation of the rete algorithm from 'Production Matching for Large Learning Systems'

Notifications You must be signed in to change notification settings

bollu/rete

Repository files navigation

RETE

This is a reference tutorial implementation of the rete pattern matching algorithm, along with GraphViz code to visualize the algorithm as it executes. The implementation is from Robert B. Doorenbos' PhD Thesis: Production Matching for Large Learning Systems.

  • rete0.cpp is a faithful implementation from the thesis, to the extent that it has page number markings in the source code to refer to the thesis. It is recommended to read rete0.cpp when one is reading the thesis alongside it.

  • rete1.cpp is a re-implementation of rete0 with no added feature, which (in my opinion) irons out some of the quirks of the rete0 presentation. For one, we don't use a common ReteNode. I found the ReteNode more confusing than enlightening. We also abandon the left/right convention, and simply speak of alpha-side/beta-side.

Example Rete diagrams to learn from:

Test1

test1.png

Test2

test2.png

Test3

test3.png

Test5

test5.png

Test from paper

test_from_paper.png

About

An implementation of the rete algorithm from 'Production Matching for Large Learning Systems'

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published