Q10 — RULE BASED EXPERT SYSTEMS
Seven engine-shop WMEs race through the Rete net; five tuples reach the conflict set and R1 out-ranks them all on both specificity and recency.
The Question
A Rete Net for classification of machines is shown in the figure. The labels A1, A2, A3, ..., A10, A11, A12, A13, ..., B1, B2, ..., B5, R1, R2, ..., R8, uniquely identify the nodes in the network. When required, use the given label ordering to break ties and to enter your answers.
Run the Rete algorithm for the Working Memory shown below, where the WMEs are in timestamp order. Assume that WMEs reside at appropriate Alpha nodes, and the Beta nodes point to WMEs residing in Alpha nodes.
101. (Fuel ^item machine5 ^type diesel)
102. (Fuel ^item machine2 ^type petrol)
103. (Fuel ^item machine3)
104. (Power ^item machine4 ^lines 1)
105. (BoM ^item machine4 ^part armature)
106. (BoM ^item machine3 ^part armature)
107. (BoM ^item machine5 ^part crankshaft)
For each WME identify its location (node label) in the Rete Net, and prepare the conflict set for the first cycle, then answer the given subquestions.
| # | Question | Official answer |
|---|---|---|
| 10.1 | Which of the following rule-data tuples are in the conflict-set? | A, B, C, D, E |
| 10.2 | If the Inference Engine uses Specificity as the conflict resolution strategy then identify the rule-data tuples that will be ready to fire. If multiple rule-... | R1,101,107 / R1,107,101 |
| 10.3 | If the Inference Engine uses Recency as the conflict resolution strategy then identify the rule-data tuples that will be ready to fire. If multiple rule-data... | R1,101,107 / R1,107,101 |
The Topic in 60 Seconds
Rete runs every WME through two halves:
| Half | Nodes | Job |
|---|---|---|
| Alpha net | A1…A13 | single-WME constant tests; each node stores every passing WME |
| Beta net | B1…B5 | joins two token streams on shared variables () |
A production fires a rule-data tuple when tokens cover all its conditions. Live tuples = conflict set.
Deep-dive: browse the Concepts section for Rule-Based Expert Systems / Rete.
Step 0 — File each WME into its alpha node
| WME | Path through the net | Binding |
|---|---|---|
| 101 Fuel, diesel, machine5 | A1 → A4 (=m5) → A7 | = machine5 |
| 102 Fuel, petrol, machine2 | A1 → A4 (=m2) → A9 | = machine2 |
| 103 Fuel, no type, machine3 | A1 → A4 only (A7/A9 reject — missing ^type) | = machine3, goes nowhere |
| 104 Power, lines 1, machine4 | A3 → A6 (=m4) → A11 | = machine4 |
| 105 BoM, armature, machine4 | A2 → A5 (=m4) → A12 | = machine4 |
| 106 BoM, armature, machine3 | A2 → A5 (=m3) → A12 | = machine3 |
| 107 BoM, crankshaft, machine5 | A2 → A5 (=m5) → A8 | = machine5 |
Empty after all insertions: A10 (turbine-blades), A13 (lines 3) — so R3's join partner exists but mismatches, while R4, R5, R8 can never activate at all this cycle.
Step 1 — Beta joins and rule activations
| Beta / Rule | Join tested | Result |
|---|---|---|
| B1 (A7 ⋈ A8 on ) | A7: · A8: | match at m5 → (R1, 101, 107) |
| R2 (A8 alone) | single condition | (R2, 107) |
| B2 (A9 ⋈ A8 on ) | A9: · A8: | no overlap → nothing |
| B3 (A9 ⋈ A10) | A10 empty | nothing |
| R5 (A10 alone) | empty | nothing |
| B4 (A11 ⋈ A12 on ) | A11: · A12: | match at m4 → (R6, 104, 105) |
| R7 (A12 alone) | single condition | (R7, 105), (R7, 106) |
| B5 (A13 ⋈ A12) | A13 empty | nothing |
10.1 — Conflict set → A, B, C, D, E
| Option | Tuple | Verdict |
|---|---|---|
| A | R1,101,107 | Yes — diesel m5 meets crankshaft m5 in B1 |
| B | R2,107 | Yes — 107 sits in A8 |
| C | R6,104,105 | Yes — lines-1 m4 pairs with armature m4 |
| D | R7,105 | Yes — 105 passes A12 |
| E | R7,106 | Yes — 106 also passes A12 |
| F | R3,102,107 | No — B2 fails: petrol is m2, crankshaft is m5 |
| G | R7,105,106 | No — R7 is single-condition; it never takes two WMEs |
| H | R8,105,106 | No — B5 needs lines-3, which no WME supplies |
10.2 — Specificity → R1,101,107
Count each rule's WME patterns (conditions); most specific wins:
| Tuple | Conditions counted | Specificity |
|---|---|---|
| R1,101,107 | Fuel + diesel + BoM + crankshaft | 4 |
| R6,104,105 | Power + lines-1 + BoM + armature | 4 (tie) |
| R2,107 | BoM + crankshaft | 2 |
| R7,105 / R7,106 | BoM + armature | 2 |
Tie between R1 and R6 at 4 conditions → question says break ties by label ordering → R1 < R6, so R1,101,107 fires.
10.3 — Recency → R1,101,107
Compare sorted-descending timestamp lists of each tuple's WMEs:
| Tuple | Timestamps | Sorted desc |
|---|---|---|
| R2,107 | 107 | [107] |
| R1,101,107 | 101, 107 | [107, 101] ← wins |
| R7,106 | 106 | [106] |
| R6,104,105 | 104, 105 | [105, 104] |
| R7,105 | 105 | [105] |
Both R1's and R2's newest element is 107; the next comparison favours the tuple with additional (older) supporting WMEs: → R1,101,107.
Interactive trace — WMEs flowing through the net
Tricks & Tips
Answers: 10.1 A, B, C, D, E · 10.2 R1,101,107 / R1,107,101 · 10.3 R1,101,107 / R1,107,101