KnowledgeWorks and Prolog User Guide > 3 Rules > 3.1 Forward chaining > 3.1.5 Control Flow

NextPrevUpTopContentsIndex

3.1.5.3 Conflict Resolution

Every context has its own conflict resolution strategy, specified in the defcontext form. A conflict resolution strategy is an ordered list of conflict resolution tactics. A conflict resolution tactic may be any of the following:

The tactics are applied successively starting with the left-most until only one instantiation is left or until all tactics have been applied when it is unspecified which of the resulting set is chosen. For example, using the strategy (priority recency) first all the instantiations which are not of the highest priority rule or rules (as given by the rule's priority number) are discarded and then all instantiations which were not created in the same forward chaining cycle as the most recently created instantiation will be discarded. If more than one instantiation is left it is unspecified which will be selected to fire.

Note that the strategy (lex specificity) is equivalent to the OPS5 strategy LEX and (mea lex specificity) is equivalent to the OPS5 strategy MEA, hence the borrowing of these terms. For further information on LEX and MEA in OPS5 the reader is referred to Programming Expert Systems in OPS5 , by Brownston, Farrel, Kant and Martin (published by Addison-Wesley). However, KnowledgeWorks is not heavily optimized to use the tactics mea , -mea , lex or -lex .


KnowledgeWorks and Prolog User Guide (Unix version) - 22 Dec 2009

NextPrevUpTopContentsIndex