Der Rete Algorithmus (3)

Im zweiten Beitrag zum Rete Algorithmus wurde eine erste einfache Implementierung vorgestellt. Schon bei der Umsetzung zeigte sich jedoch, dass diverse Details anders gelöst werden sollten. Es passiert recht häufig, dass sich eine zu enge Anlehnung an eine Beschreibung eines Algorithmus den Weg zu einer guten Lösung erschwert oder sogar verbaut. Aus ähnlichen Gründen blieb mir viele Jahre der Zugang zu einer korrekten Double-Array-Trie Implementierung versperrt. Auch dort bedurfte es erst einen neuen Zugang zum Thema um die Blockade zu beenden.

Der Rete Algorithmus (2)

Nachdem im ersten Beitrag zum Rete Algorithmus die grundlegende Arbeitsweise beleuchtet wurde, geht es in diesem Beitrag um die Implementierung. Nicht um einen vollständigen OPS 5 Interpreter, sondern um die Bausteine, aus denen ein funktionsfähiges Rete Netz erstellt werden kann.

Der Rete Algorithmus

Der Rete Algorithmus wurde 1979 von Charles Forgy entwickelt und dient zur Auswertung von Regelbedingungen. Mit ihm ist es möglich die Vorbedingungen große Regelmengen effizient zu berechnen. Verwendet wurde der Rete Algorithmus in der regelbasierten Programmiersprache OPS 5. Aber auch heute arbeiten viele regelbasierte Systeme mit dem Rete Algorithmus oder einen seinen vielen Derivaten.