Production System for Animal Identification

In this simple example system, the Control Rules are made explicit. They are very simple, but at least you can see how important the Control Rules are to making the system work.

Knowledge Base (list of productions or rules)

Working Memory

Initial State: WM = [kicks, chews cud, humps=2]

Control Rules:


Sample Run

Initial State of WM = [kicks, chews cud, humps=2]

Cycle 1.

R1 and R5 are applicable. CR-2 does not apply. By CR-3, R1 applies to WM.

WM = [kicks, chew cud, humps=2, ruminant]

Cycle 2.

R1 and R4 are applicable. But R1 is redundant, so R5 applies.

WM = [kicks, chew cud, humps=2, ruminant, humps]

Cycle 3.

R1, R2 and R5 are applicable. By redundancy, R2 is applied.

WM = [kicks, chew cud, humps=2, ruminant, humps, camel]

Cycle 4.

R1, R2, R4 and R5 are applicable. R4 is applied.

WM = [kicks, chew cud, humps=2, ruminant, humps, camel, bactrian]

Cycle 5.

R1, R2, R4, and R5 are applicable, but none apply by CR-2 because all are redundant. Thus, CR-3 makes it Quit.


This system is a forward-chaining (or data-driven) production system, since it is the information present in the WM (matching by Left-Hand Sides) that keeps controlling the choice of the next rule. In a backward chaining system, the rules are chosen depending on what appears on their Right-Hand Side so that some specific conclusion can be worked toward (eg, when doing a mathematical proof).


By R. Port (Sept/99) After Stillings, et al `Cognitive Science, An Introduction, 2d Ed' MITP, p. 165ff.