[Date Index] [Thread Index] [Author Index]
Can Mathematica be used as expert system (rule-based computations like CLIPS?)
Hi everyone... I would like to know if anyone could comment on whether Mathematica can be used as an expert system? I have been looking into several expert systems out there that are of a rules-based paradigm. Specifically, one called CLIPS developed by NASA. The upside is that CLIPS is available and it works. The downside is that it does not have an expansive set of mathematical tools in available to it. Although CLIPS is open source and can be modified any which way you want and need, the task of getting it to talk back-and-forth to Mathematica to request math computations and the such would be development effort on its own. So, I would like to explore the possibility of hosting some of these expert-system capabilities using Mathematica's symbolic capabilities. However, these are the portions that I am somewhat at a loss with regards to Mathematica rules applications and pattern-matching... In the CLIPS system you define a rule as follows: (defrule <rule name> [<optional comment>] <1-or-more patterns>* ;; this corresponds to the LHS of a rule statement => ;; the THEN operator like in "if A = B THEN B is blah" <1-or-more actions>* ;; if the pattern matches, do something ) however, from what I can see, in Mathematica the definition of rules is expr /. LHS -> RHS and that pattern definition is LHS->RHS . So, my question is ... rather than getting a rule to perform a replacement operation can I get it to do an arbitrary operation?