[Next] [Previous] [Top] [Contents]

Efficient Forward Chaining for Declarative Rules in a Multi-Agent Modelling Language

8 Conclusions


Section 2 listed some motivations for using declarative rules. Here we consider whether SDML fulfils these expectations.

SDML forces all the criteria on which deductions are to made to be explicitly stated in the rules. Any deductions that rely on the absence of knowledge have to be expressed using assumable clauses. Assumptions that are made when rules are fired can be examined by the modeller to determine if they are reasonable.

Conflicts between rules are detected automatically by SDML, and a contradictory rulebase for which there is no logically consistent solution always yields an error. Of course, if there are errors in the rules, wrong deductions can be made. However, tagging each clause with the rule that asserted it (and the time period) eases the task of locating the source of the error. A debugger, with single stepping facilities, can be used to refire the rule, and the rule must yield the same erroneous clause even if further rules have fired in the meantime.

In SDML, rules continue firing until there are no more deductions that can be made. If a clause is not present on the database when firing finishes, then either it is false, a rule that would deduce it is missing, or there is an error in a rule.

Rule ordering is less critical on the results of firing rules in SDML than in imperative rule-based systems. If there is a solution, one will always be found. Ordering only makes any difference when there are multiple solutions, and this does not occur often in practice. SDML can search for all solutions if required, and these solutions will be independent of rule ordering.

Therefore, using declarative rules enables modellers to have more confidence that their models are correct and that they yield correct results. Therefore, strictly declarative rules are advantageous as long as they are easy to use and implemented efficiently.

Williams and Bainbridge [17] listed five supposed disadvantages of rule-based systems: (1) control knowledge is often not clear; (2) lack of structure makes management of large knowledge bases difficult; (3) not all human problem solving methods are easily represented; (4) matching (finding instances of rules with true antecedents) is inherently inefficient; (5) it is all but impossible to determine properties of behaviour except by testing, making them unsuitable for safety-critical applications. This paper shows that using declarative rules and multi-agent models alleviates problems (1), (2) and (5) -- and can even yield improved efficiency.

This paper describes several techniques to facilitate efficient forward chaining of declarative rules. The benchmarks show that reasonable efficiency is obtainable. However, rulebases have to be well-structured to take advantage of these techniques. Such rulebases are more easily created for multi-agent models than for models with only one rulebase. It is not always easy to construct rules declaratively, and further work is planned to make SDML easier to use.


Efficient Forward Chaining for Declarative Rules in a Multi-Agent Modelling Language - 16 FEB 95
[Next] [Previous] [Top] [Contents]

Generated with CERN WebMaker