Professional Documents
Culture Documents
Problem Solving Architectures
Problem Solving Architectures
Production Systems
Production systems as a computational model were first developed by the American
logician, Emil Post in the 1930's. It is simply one of a whole range of mathematical
and machine concepts (Church's lambda calculus, Kleene's recursive functions,
Turing's universal machine) devised to explore problems of computability, which
have all been shown to be equivalent. (Harel p222.) However, the specific architecture
of the production system has been used in cognitive modelling because its
implementation by the brain is, in some way, psychologically plausible � essentially
it embodies a stimulus-response mechanism.
A more extensive set of production rules are given in the example below:
1. If Farmer, Chicken, Grain and Fox are on the destination bank, then
STOP!
2. If Farmer, Grain and Fox are on the source bank, and Chicken on the
destination bank, then Farmer row Grain to the destination bank.
3. If Farmer, Chicken and Grain are on the destination bank, and Fox on
the source bank, then Farmer row Chicken to the source bank.
4. If Farmer, Chicken and Fox are on the source bank, and Grain on the
destination bank, then Farmer row Fox to the destination bank.
5. If Farmer and Chicken are on the source bank, then Farmer row Chicken
to the destination bank.
6. If Farmer is on the destination bank, then Farmer row to the source bank.
This table recognizes the conditions as objects on specific banks. I.e., the predicate
�on same bank� is not used.
1 2 3 4 5 6 7
Goal D D D D D D D
Farm
S D S D S D S
er
Chick
S D D D S S S
en
Grain S S S D D D D
Fox S S S S S D D
Actio Fa,C Fa Fa,G Fa,C Fa,F Fa Fa,C
n :D :S :D :S :D :S :D
N.B., if you end up with two columns that have identical condition entries but
different actions, then an additional element in the environment that will provide an
extra condition element, and will differ between the two rules, is required.
1,7 2,6 3 4 5
Goal
Farmer S D S D S
Chicken S D D S
Grain S D D
Fox S S S
Action DFa,C: Fa:S DFa,G: Fa,C:
S
Fa,F:D
The productions are ordered by specificity (i.e., number of conditions), the most
specific first.
However there is still a problem with this. Once all of the items are on the destination
bank, this set of production rules will compel the farmer to row on his own to the
source bank! This can be prevented with a rule that recognizes the goal state and
terminates the system.
[Farmer D] [Chicken D] [Grain D] [Fox D] -> [STOP]
This rule must be given the highest priority.
The productions described above are obviously only relevant in the very specific
situation described. Also, they are unlikely to be much use for solving new problems.
(And how were they acquired in the first place?) What is needed are productions that
encode general problem solving behaviour.
For example, the means-ends strategy, described earlier, can be encoded thus:
P1 IF the goal is to transform the current state into the goal state
and D is the largest difference between the states
THEN set as subgoals:
1) To eliminate the difference D.
2) To convert the resulting state into the goal state.
The preceding rules generate the embedding of goals and subgoals. Eventually, an
operator may be applied � done by the following rule.
References
Anderson, J. R. 1985 "Cognitive Psychology and Its Implications" (Second Edition).
W.H. Freeman and Company, New York.