Using Rules for Knowledge-Driven DSS
Managers and developers should be familiar with the concept of a rule. A rule-based expert system has a large number of interconnected and nested IF-THEN statements or "rules" that are the basis for storing the knowledge in the system. Many expert system development environments store knowledge as rules.
The following is an example of a rule:
IF INCOME > $45,000 (condition)
AND IF SEX = "M" (condition)
THEN ADD to Target list (action)
A rule is a formal way of specifying a recommendation, directive, or strategy, expressed in an IF premise THEN conclusion structure. Rules are one way of expressing declarative knowledge. For example, IF a car won't start, AND the lights are dim, THEN the car may have a dead battery. Thus, rules are relationships rather than instructions. Note this structure is different than the IF-THEN structure used by procedural programming languages.
There are two ways an inference engine can manipulate rules. The first is forward chaining, where an inference engine starts from known facts and looks at the left-hand IF side of the rules to find any matches and proceeds to find further rules that apply to the userís responses. The second method is known as backward chaining. This technique involves starting the inference engine with a hypothesized solution by looking at the right-hand THEN statements, then working backwards to find the starting conditions that are necessary to arrive at that solution and see how they match with the userís responses.
Letís examine the two approaches from a different perspective. Suppose you want to fly from Waterloo, IA to Beijing, China. To find a "chain" of connecting flights you can search in one of two ways:
1. Start with flights that arrive in Beijing and work backwards to eventually find a chain to Waterloo, IA. This is a goal-driven, backward chaining search, or,
2. Start by listing all flights leaving Waterloo and mark intermediary cities. Look for flights out of intermediaries until you find all paths to Beijing. You are working forward toward your goal. This is a data-driven, forward chaining search.