Learning Technology by Stephen Bostock
You are here: Keele University > Learning Technology home > Documents

Production Systems video - Richard Young

1. Production system 'architectures'

A production system is a collection of rules with left-hand-side conditions and right-hand-side actions. e.g. nesting boxes into each other.

Order of firing rules should be determined by condiitons being true, not their text order.

Rules fire independently

Rules are independently sensible tasks. Not like lines of traditional program code.

New rules can be added to improve behaviour.

What is the system architecture? Rule memory or rule set (knowledge base) + working memory (for a consultation) + fact and data memory.

(he doesn't mention inference engine!)

Rule conditions (LHS) are matches with contents of working memory or fact memory. RHS of rules change working memory or real world behaviour.

2. Two ways of using rules

- condition-driven processing (forward chaining) conditions drive actions. Rules chosen in a recognise-act cycle.

- consequent-driven processing (backward chaining), where the RHS is the goal. 'Are their any rules we could fire that would draw the conclusion we want?'

Which architecture for which task? F-c produces behaviour as it runs through its recognise/act cycle. Good for control applications, signal processing.

B-c has reasoning, produces a tree to explore, good for problem solving.

3. Conflict resolution techniques.

What if more than one rule can fire? How do we chose which one?

We can ask standard questions about any expert system as to how it handles basic problems: Which rules are relevant, rule evaluation, (which one do we fire, which have true LHS), rule conflict resolution.

3.1 MYCIN fires rules that lead to the desired RHS (backward chaining). It effectively fires all rules and combines them in certainty factirs.

3.2 RITA logs into several computer systems automatically. It uses explicit rule ordering so there is knowledge in the rule order. All rules are relevant, it is condition drivem, testing LHS, and conflict resolution is the rule order. One advantage of ordered rules is they only need a simple interpreter and can be hand-simulated. But they are not efficient, and loose many advantages of production systems as rules are no longer independent. e.g. where would you put a new rule? Each rule depends on the others.

3.3 OPS5 (used by DEC for system configuration for VAX)

Rule relevance: condition driven, all rules are relevant.

Rule evaluation: is by satisfying LHS

Conflict resolution: all rules with true LHS are the 'conflict set' (agenda). Chose by multistep conflict resolution, to give sensible behaviour:
Refractoriness (don't use the same rule again with the same data)
Recency: use rules with most recent, new data. This keeps the focus on current sub-problem.
Specificity: use more spcific rules, with more LHS variables.

In some systems an additional rule for conflict resolution could use Graded or partial matching of LHS. How well does the LHS match memory? Use the rule with the best match.

In conclusion: Production systems have more flexible control than procedural languages. Processing order is determined by the data, not the programmer.


Stephen Bostock 1997

Keele University Home | Learning Technology Home | email Stephen Bostock

Stephen Bostock asserts his moral right to be acknowledged as the author of documents on this site, unless another author is identified.  Copyright remains with Keele University, or the author.  The views expressed in this site are those of the author and do not necessarily represent those of Keele University.
 Last edited: November 22, 2006