Response to RAK
email@example.com wrote: > I have skimmed several of the RIF documents and am disappointed, but not > surprised, to see how little has been done to relate and reconcile the Horn > clause and the production rule languages, RIF-BLD and RIF-PRD respectively. > In particular, both documents, as far as I can tell, ignore the fact that > one of the main practical uses of both Horn clauses and production rules is > to reduce goals to sub-goals.
The proposed rule interchange format does not make many assumptions with respect to the practical use of the interchanged rules, the focus is on the languages and how to interchange rules between them in a semantically preserving way. Not all Horn languages reduce goals to subgoals operationally. But as long as they have the same model-theoretic semantics they will be able to exchange rules among them.
> The RIF-BLD document does not address the operational semantics of Horn > clauses, nor their intended use for knowledge representation. Nor does the > operational semantics of RIF-PRD deal with the use of production rules for > goal-reduction.
RIF is an interchange format, and the semantics of RIF dialects is intended to enable unambiguous interchange, not guide implementers to write rule engines themselves.
The semantics of RIF-PRD is based on the operational semantics of production rules, the group of languages for which this dialect is intended. RIF-CORE, whose draft will be released in a few days, will describe a common sublanguage of RIF-BLD and RIF-PRD. Its model-theoretic semantics is a restriction of the semantics of RIF-BLD and is equivalent to the operational semantics of RIF-PRD. As was already explained above, RIF is not intended as a guide for an implementation. It defines a formal semantics for its dialects with model-theoretic semantics being the preferred method. For RIF-PRD, an operational semantics is given because production rules do not have a model-theoretic semantics.
In general, we are missing introductory and overview documents, which should explain these issues - but that will have to wait, as the working group's priority is to work on dialects.
> Arguably, in practice, there are three kinds of production rules: reactive > rules, which are event-condition-action rules; forward chaining logic rules, > which derive conclusions from conditions; and goal-reduction rules, which > simulate backward chaining while doing forward chaining. The operational > semantics of the RIF-PRD document caters for the first two kinds of rules, > but not the third. In particular, it restricts the relationship with RIF-BLD > to the second kind of rule, forward chaining with logic rules.
Indeed, the operational semantics of RIF-PRD is intended to cater to the basic requirements wrt rule interchange between the production rule systems used in applications that automate business rules. In these, forward chaining is largely the norm. Some PR engines of course also offer some kind of backward chaining mechanism and/or truth maintenance.
Future dialects will be developed to cover other usages and needs, if there is enough interest from the community.
> The general confusion in the AI literature about these matters is reflected > in confusion about the meaning of conditionals in the psychology of > reasoning literature. I discuss these confusions and propose a solution in a > recent paper, "Reasoning with Conditionals in Artificial Intelligence" > (http://www.doc.ic.ac.uk/~rak/papers/conditionals.pdf). > > The proposed solution provides both a logical and operational semantics for > a framework that integrates logic programs and production rules. Although > the framework is presented as an extension of logic programming, it can also > be viewed operationally as a production rule system that uses logic programs > both to evaluate conditions of production rules and to reduce "actions" that > are goals to sub-goals.
Thank you for the feedback. There is a lot of research work that we unfortunately overlooked in the interest of serving the interchange needs between existing rule systems on the semantic web. Perhaps as this and other existing research matures and gains widespread adoption, future incarnations of the standard can evolve to capture more general forms of interchange. RIF is intended to be a *step* towards that end.