Page 250 - DCAP208_Management Support Systems
P. 250
Unit 14: Knowledge-based Decision Support
a fired rule and prevent it from re-firing until the data in working memory, that satisfied Notes
the rule’s conditions, has changed.
Random: Though it doesn’t provide the predictability or control of the first-applicable
strategy, it does have its advantages. For one thing, its unpredictability is an advantage in
some circumstances (such as games). A random strategy simply chooses a single random
rule to fire from the conflict set. Another possibility for a random strategy is a fuzzy rule-
based system in which each of the rules has a probability such that some rules are more
likely to fire than others.
Most Specific: This strategy is based on the number of conditions of the rules. From the
conflict set, the rule with the most conditions is chosen. This is based on the assumption
that if it has the most conditions then it has the most relevance to the existing data.
Least Recently Used: Each of the rules is accompanied by a time or step stamp, which
marks the last time it was used. This maximizes the number of individual rules that are
fired at least once.
Did u know? If all rules are needed for the solution of a given problem, this is a perfect
strategy.
Best rule: For this to work, each rule is given a ‘weight,’ which specifies how much it
should be considered over the alternatives. The rule with the most preferable outcomes is
chosen based on this weight.
14.2.4 Direction of Searching
There are two broad kinds of direction of searching in a rule-based system: forward chaining
systems, and backward chaining systems. In a forward chaining system you start with the initial
facts, and keep using the rules to draw new conclusions (or take certain actions) given those
facts. In a backward chaining system you start with some hypothesis (or goal) you are trying to
prove, and keep looking for rules that would allow you to conclude that hypothesis, perhaps
setting new sub-goals to prove as you go. Forward chaining systems are primarily data-driven,
while backward chaining systems are goal-driven. We’ll look at both, and when each might be
useful.
Forward Chaining Systems
In a forward chaining system the facts in the system are represented in a working memory
which is continually updated as rules are invoked. Rules in the system represent possible actions
to take when specified conditions hold on items in the working memory – they are sometimes
called condition-action rules. The conditions are usually patterns that must match items in the
working memory, while the actions usually involve adding or deleting items from the working
memory.
The inference engine controls the application of the rules, given the working memory, thus
controlling the system’s activity. It is based on a cycle of activity sometimes known as a recognize-
act cycle. The system first checks to find all the rules whose conditions hold, given the current
state of working memory. It then selects one and performs the actions in the action part of the
rule. (The selection of a rule to fire is based on fixed strategies, known as conflict resolution
strategies.) The actions will result in a new working memory, and the cycle begins again. This
cycle will be repeated until either no rules fire, or some specified goal state is satisfied.
LOVELY PROFESSIONAL UNIVERSITY 243