Production Systems
A production system is a tool used in
artificial intelligence
and especially
within the applied AI domain known as
expert systems. Production
systems consist of a database of rules, a working memory,
a matcher, and a procedure that
resolves conflicts between rules. These components are outlined
below. Several different versions of productions systems have been
developed, including the OPs series which culminated in OPS5
(see Forgy). OPS5 was modified
to implement the Soar production
system described elsewhere in this document.
Matching
The rules of a production consist of a condition and action in the form:
(if x then y). The
left-hand-side conditions (x and y may be arbitrarily
complex conjunctions of expressions) are compared against the elements
of working memory to determine if the conditions are satisfied.
Matching is an computationally intense procedure although the RETE algorithm
of OPS5
is significantly more efficient than a simple condition-by-condition
matcher.
Conflict Resolution
At any point in processing, several productions may match to the elements
of working memory simultaneously. Since production systems are normally
implemented on serial computers, this results in a conflict:
there is a non-unique choice about which action to take next.
Most conflict resolution schemes are very simple, dependent on the number
of conditions in the production, the time stamps (ages)
of the elements to which the conditions matched, or completely
random. One of the
advantages of production systems is that the computational complexity of
the matcher, while large, is deterministically finite and the conflict
resolution scheme is trivial. This is in contrast to logicist systems
in which
declarative knowledge may
be accessed instantly but the time required to use the knowledge (in
a theorem prover, for instance) can not be pre-determined.
Actions
The actions of productions are manipulations to working memory. Elements
may be added, deleted and modified. Since elements may be added and
deleted, the production system is non-monotonic: the addition
of new knowledge may obviate previous knowledge. Non-monotonicity
increases the significance of the conflict resolution scheme since
productions which match in one cycle may not match in the following
because of the action of the intervening production. Some production
systems are monotonic, however, and only add elements to
working memory, never deleting or modifying knowledge through the
action of production rules. Such systems may be regarded as
implicitly parallel since
all rules that match will be fired regardless of which is fired first.
Architectures using explicit productions include:
Return to the Table of Contents.
Current Location: Common - Architectural Features - Production Systems