[Next] [Previous] [Top] [Contents]
Efficient Forward Chaining for Declarative Rules in a Multi-Agent Modelling Language
The "procedural-declarative controversy" has often been discussed in Artificial Intelligence (in [18] for example). Imperative (or procedural) structures specify how to do something, whereas declarative knowledge specifies what is true. Imperative techniques are usually justified on the grounds of efficiency or because some kinds of knowledge are hard to represent declaratively. Declarative knowledge tends to be more modular (because imperative structures combine knowledge and control information) and economic (because the same knowledge can be used in many different ways). More importantly, they have better semantics being more closely related to logic, leading to the following advantages for declarative rules in general (Section 8 examines how these motivations apply to SDML):
- All models which purport to represent some aspect of the world make simplifications. Knowledge which is assumed to be irrelevant, because it is too detailed or seemingly unrelated, is left out. Other knowledge is left out because it is difficult to represent or utilise, or because the modeller is not aware of it. Assumptions can also be made about what knowledge to deduce when there are multiple valid possibilities. Such assumptions are often hidden within imperative rules, but may have to be stated more explicitly if rules are declarative.
- Contradictory and incorrect knowledge can be easily deduced by imperative rules, because "facts" can be retracted without following through the consequences. Such errors tend to occur less frequently with declarative rules, they can often be detected automatically, and they are easier for modellers to correct.
- In some declarative systems, rules continue firing until there are no more deductions that can be made. Modellers can therefore be more confident that something is not true if it has not been deduced.
- The order in which rules fire may be affected by the order they appear in a rulebase or by some external algorithm. Ordering often affects the results of firing imperative rules. If firing is completed for declarative rules, then the results are usually the same no matter what order they were fired in.
All these motivations entail that modellers who use declarative rules can have more confidence that their models are correct and that they yield correct results.
Efficient Forward Chaining for Declarative Rules in a Multi-Agent Modelling Language - 16 FEB 95
[Next] [Previous] [Top] [Contents]
Generated with CERN WebMaker