It is often unrealistic to expect an expert or an expert system to specify a single "correct" value for a decision input or result. Situations involving conflicting data, personal preferences or subjective judgments may exhibit this difficulty. Problem attributes that take on multiple value with different levels of certainty may be treated as fuzzy variables and techniques for reasoning with such variables involve fuzzy logic.
Suppose you must choose a restaurant for an evening out with a group of friends. Your selection will weigh multiple factors (some known only subjectively) including price, location, and your knowledge of your friends' ethnic food preferences and dietary restrictions. After evaluating these inputs, you might conclude that a nearby mid-priced steak house or italian restaurant would be almost equally appealing, a seafood restaurant in the next town acceptable, but somewhat less desirable, and a fancy French restaurant probably of little interest. To formulate this problem for an expert system you could assign a goal variable as the restaurant to recommend and allow multiple values for this variable with each allowed a different degree of desirability. You might also assign multiple values to attributes that are inputs to your decision, with differing degrees of confidence possible for each of the values.
Some rule-based expert systems support this type of reasoning by allowing multiple values, each with a separate confidence or certainty factor, to be assigned to a single attribute. Input data and multiple rules are then used to derive confidence levels for possible values of the goal variable. In the restaurant example, an expert system might accept inputs like this:
My friends' attitude toward traveling is:
Value 1 = Willing to travel a long way with 40% confidence
Value 2 = Unwilling to travel a long way with 90% confidence
and reason with such data to provide conclusions like the following:
Value 1 = Mid-priced steak house with 85% confidence
Value 2 = Mid-priced Italian with 82% confidence
Value 3 = Seafood restaurant with 65% confidence
Value 4 = Fancy French restaurant with 10% confidence
A minimum confidence factor level for a value to be considered a fact would be established for the consultation, and values below this level dropped from the list of recommendations. For example, if the minimum CF level were 60%, the French restaurant would be dropped from the list of acceptable choices.
An example illustrating a fuzzy logic implementation using the rule-based e2gLite inference engine is provided in Module 1 of Building and Using Expert Systems: a Mini-Course Introducing the e2gLite Expert System Shell.