Expert Systems and Uncertainty Explained: Rules, Certainty Factors and Worked Problems

Build an expert system from its core components, trace its rules in both directions, and solve the same pump case using certainty factors, Bayes and fuzzy logic.

KnowledgeGate Team

Exam prep & CS education

Updated 21 Aug 20266 min read

An expert system seems simple until several rules fire, evidence is uncertain, and 0.77 looks like probability. One pump fault, three uncertainty models: the certainty factor comes out at 0.7712, the Bayesian posterior on the same two alarms at 0.7568, and the fuzzy membership of an 85 C reading at 0.50. Three numbers, three meanings, and only one of them obeys the probability axioms.

Expert systems: definition, architecture and rule-based knowledge

An expert system uses encoded domain knowledge and inference to reach conclusions in a restricted domain. Unlike a fixed-control program, it reasons over a knowledge base. Unlike a machine-learning model, it does not learn parameters from data. Not every AI system is an expert system.

Component

Function

Knowledge base

Stores rules and domain relationships

Working memory or fact base

Holds case-specific observations and intermediate conclusions

Inference engine

Matches and fires rules

Explanation facility

Records why and how a conclusion was reached

Knowledge-acquisition facility

Helps capture and update expert knowledge

User interface

Accepts facts and presents results

An expert-system shell supplies reusable inference and interface machinery before these domain rules are added:

  • R1: IF TempHigh AND VibrationHigh THEN PumpFault, rule CF = 0.80

  • R2: IF LowFlow THEN PumpFault, rule CF = 0.60

  • R3: IF PumpFault THEN InspectCoolingLoop, rule CF = 0.75

Working memory starts with TempHigh CF = 0.90, VibrationHigh CF = 0.70, and LowFlow CF = 0.80. Propositional and Predicate Logic: Truth Tables to Proofs covers the propositions, connectives and implication these IF-THEN rules are built from.

Inference in expert systems: forward chaining, backward chaining and conflicts

Ignore CF values first. Forward chaining starts with TempHigh, VibrationHigh, and LowFlow. R1 and R2 derive PumpFault; R3 derives InspectCoolingLoop. It is data-driven because facts determine the conclusions.

Backward chaining starts at InspectCoolingLoop. R3 creates the subgoal PumpFault. R2 proves it from LowFlow; R1 needs both other facts. This goal-driven search may stop after a sufficient path, subject to control policy.

The inference engine repeats a match-select-execute cycle. Matching creates a conflict set. If R1 and R2 are eligible, selection needs salience, specificity, recency, fixed ordering, or another stated policy. None is universal. Our CF convention combines both supports. Graph Algorithms: BFS, DFS and Dijkstra Traced Step by Step traces the frontier expansion that backward chaining reuses, but no traversal order settles whether R1 or R2 fires first. Only the stated conflict-resolution policy does.

Uncertainty in expert systems: certainty factors, probability and fuzzy membership

Do not merge unreliable evidence, randomness about the true hypothesis, and vagueness in a word such as “hot”. A deterministic rule gives a conclusion; an uncertainty mechanism states its support.

Model

What the number means

Required operations

Running value

Positive certainty-factor convention

Support score in [0,1]

Supplied premise, rule, and combination formulas

CF(PumpFault) = 0.7712

Bayesian probability

Posterior probability under stated assumptions

Priors, likelihoods, and normalisation

P(PumpFault | TempAlarm, VibrationAlarm) = 0.7568

Fuzzy membership

Degree of belonging to a defined set

The set's membership function

mu_hot(85 C) = 0.50

Probability follows probability axioms and needs priors and likelihoods. A certainty factor is a rule-system score governed by its convention. Fuzzy membership is degree of belonging, not probability of truth. The decimals are not interchangeable, and other CF calculi exist.

Certainty factors: work the pump-fault rules step by step

Our convention takes the minimum CF for AND, multiplies by the positive rule CF, combines positive supports as c1 + c2(1 - c1), then multiplies through a later positive rule. A different convention gives different numbers, so use the one the question states.

  1. R1 premise: CF(TempHigh AND VibrationHigh) = min(0.90, 0.70) = 0.70.

  2. R1 support: c1 = 0.70 x 0.80 = 0.56.

  3. R2 support: c2 = 0.80 x 0.60 = 0.48.

  4. Combined result: CF(PumpFault) = 0.56 + 0.48(1 - 0.56) = 0.56 + 0.2112 = 0.7712.

  5. R3 result: CF(InspectCoolingLoop) = 0.7712 x 0.75 = 0.5784.

Direct addition gives 1.04, outside the [0,1] range and outside the supplied rule.

Pump expert-system architecture linking working memory, rules R1 to R3, and the inference trace to PumpFault CF 0.7712.

Bayesian reasoning and fuzzy logic: two different uncertainty questions

Bayes is separate from the CF result. Let F mean fault, T temperature alarm, and V vibration alarm. Use P(F) = 0.10, P(T|F) = 0.80, P(T|not F) = 0.20, P(V|F) = 0.70, and P(V|not F) = 0.10. Assume T and V are conditionally independent given F and also given not F.

With one alarm:

P(F|T) = (0.80 x 0.10) / [(0.80 x 0.10) + (0.20 x 0.90)] = 0.08 / 0.26 = 0.3077.

With both alarms, the fault branch is 0.10 x 0.80 x 0.70 = 0.056. The no-fault branch is 0.90 x 0.20 x 0.10 = 0.018. Therefore:

P(F|T,V) = 0.056 / (0.056 + 0.018) = 0.756756... = 0.7568 rounded.

The prior weights each branch; the denominator normalises them. Do not drop either.

Separately, define mu_hot(t) = 0 for t <= 70 C, mu_hot(t) = (t - 70)/30 for 70 C < t < 100 C, and mu_hot(t) = 1 for t >= 100 C. Then mu_hot(85 C) = (85 - 70)/30 = 0.50. This is halfway membership, not a 50% chance of a measurement or fault.

Three panels comparing certainty factor 0.7712, Bayesian probability 0.7568, and fuzzy membership 0.50 for the pump-fault example.

How exams test expert systems and uncertainty

Common tasks: matching components to functions, separating the two stores, tracing either chain, finding a conflict set, calculating a CF under the supplied rule, applying Bayes with a prior, and distinguishing probability from membership.

Four rapid checks:

  1. “Why was InspectCoolingLoop concluded?” Answer: the explanation facility records that trail, not knowledge acquisition.

  2. Backward chaining from InspectCoolingLoop first selects R3 and creates PumpFault as a subgoal.

  3. With only R1 supported, CF(PumpFault) = 0.56, not 0.70 or 0.80.

  4. Here, P(F|T,V) = 0.7568 and mu_hot(85 C) = 0.50; neither can replace the other.

Artificial Intelligence is part of the Computer Science preparation in NTA-UGC-NET Paper - 2, so drill the component table, both chaining traces and the CF arithmetic until they come back without notes.

Expert-system traps, limitations and the correction for each

  • Knowledge base versus working memory: Both store information, but reusable rules belong in the base; present-case facts such as LowFlow CF = 0.80 belong in memory.

  • Certainty factor versus probability: Similar decimals invite the error. Keep 0.7712 in the named CF calculus, not probability complements.

  • Fuzzy membership versus chance: mu_hot(85 C) = 0.50 means set membership, not chance.

  • Direct addition and incomplete antecedents: Aggregate the full premise, apply rule strength, then combine correctly. TempHigh alone cannot fire R1.

  • Forward versus backward chaining: Start with facts for forward chaining and a goal for backward chaining.

  • Bayesian shortcuts: Write both prior-weighted branches and the denominator. Multiplying likelihoods also requires conditional independence.

Rules cost effort to acquire and maintain, and can become inconsistent or brittle. A trace shows what fired, not that the rules are correct. Uncertainty values need validation.

Expert systems and uncertainty: the short version and next step

Store rules in the knowledge base and case facts in working memory. Choose chaining direction from the task, retain an explanation trail, and use the named uncertainty model. Remember R1 -> 0.56, R2 -> 0.48, PumpFault -> 0.7712, and R3 -> 0.5784.

Self-check: if only LowFlow CF changes from 0.80 to 0.50, R2 contributes 0.50 x 0.60 = 0.30. The combined pump-fault CF is 0.56 + 0.30(1 - 0.56) = 0.56 + 0.132 = 0.6920. R3 then gives 0.6920 x 0.75 = 0.5190.

Continue with GATE Guidance by Sanchit Sir for a subject sequence, or use GATE CS Exam Preparation Courses & Test Series as the broader route. Next, retrace the rules and recompute the self-check without looking.