Page 249 - DCAP208_Management Support Systems
P. 249
Management Support Systems
Notes The Working Memory
The working memory is a temporal store that hold the fact produced during processing and
possibly awaiting further processing produced by the Inference engine during its activities.
Did u know? Note that the working memory contains only facts and these fact are those
produced during the searching process.
The Inference Engine
The core of any expert system is its inference engine. This is the part of expert system that
manipulates the knowledge based to produce new fact in order to solve the given problem. An
inference engine consists of search and reasoning procedures to enable the system to find
solutions, and, if necessary, provide justifications for its answers. In this process it can used
either forward or backward searching as a direction of search while applying some searching
technique such as depth first search, breath first search, etc.
The roles of inference engine are:
It identified the rule to be fired. The rule selected is the one whose conditional part is the
same as the fact been considered in the case of forward chaining or the one whose conclusion
part is the one as the fact been considered in the case of backward chaining.
It resolve conflict when more than one rule satisfy the matching this is called conflict
resolution which is based on certain criteria mentioned further.
It recognizes the goal state. When the goal state is reached it report the conclusion of
searching.
14.2.3 Theory of Rule-based Systems
The rule-based system itself uses a simple technique: It starts with a knowledge-base, which
contains all of the appropriate knowledge encoded into IF-THEN rules, and a working memory,
which may or may not initially contain any data, assertions or initially known information. The
system examines all the rule conditions (IF) and determines a subset, the conflict set, of the rules
whose conditions are satisfied based on the working memory. Of this conflict set, one of those
rules is triggered (fired). Which one is chosen is based on a conflict resolution strategy. When
the rule is fired, any actions specified in its THEN clause are carried out. These actions can
modify the working memory, the rule base itself, or do just about anything else the system
programmer decides to include. This loop of firing rules and performing actions continues until
one of two conditions is met: there are no more rules whose conditions are satisfied or a rule is
fired whose action specifies the program should terminate.
Which rule is chosen to fire is a function of the conflict resolution strategy. Which strategy is
chosen can be determined by the problem or it may be a matter of preference. In any case, it is
vital as it controls which of the applicable rules are fired and thus how the entire system
behaves. There are several different strategies, but here are a few of the most common:
First Applicable: If the rules are in a specified order, firing the first applicable one allows
control over the order in which rules fire. This is the simplest strategy and has a potential
for a large problem: that of an infinite loop on the same rule. If the working memory
remains the same, as does the rule-base, then the conditions of the first rule have not
changed and it will fire again and again. To solve this, it is a common practice to suspend
242 LOVELY PROFESSIONAL UNIVERSITY