3 ms·
> Isn't this logic programming (ala prolog) Kind of, though it's not exactly the Prolog flavor. In Prolog you also define such facts and rules, but then you on
by tom_mellior 9y ago
> Isn't this logic programming (ala prolog)
Kind of, though it's not exactly the Prolog flavor. In Prolog you also define such facts and rules, but then you only derive new facts "on demand". That is, if you ask whether Bob is the father of Jane, the system goes off and tries to find out whether that's the case. This is called "backward chaining" (https://en.wikipedia.org/wiki/Backward_chaining https://en.wikipedia.org/wiki/Backward_chaining).
In contrast, the system as presented takes a set of facts and rules and automatically computes all of their consequences, before you ever get to specify what questions you want to ask. This is "forward chaining" (https://en.wikipedia.org/wiki/Forward_chaining https://en.wikipedia.org/wiki/Forward_chaining). One similar system to the one presented here that implements forward chaining is CHR (https://en.wikipedia.org/wiki/Constraint_Handling_Rules https://en.wikipedia.org/wiki/Constraint_Handling_Rules), for which several implementations exist... including in Prolog.
Both approaches have certain advantages and disadvantages depending on the application in question.
- seanmcdirmid 9y agoDatalog is the canonical forward chained LPL.
- tom_mellior 9y agoOK, but there are also ones with fewer limitations.
- radarsat1 9y agoSo more like CLIPS?