Assumptions/Implications
of PSOne Architecture
|
| On this
page we briefly look at the first version of a Recognition Act
architecture formulated by Allan Newell. The intent was to define
an information processing architecture that might capture some
of the important information processing features of the human
mind. This type architecture became known as production rule
systems and have been used widely in AI research and applications.
Listed below are some of the major assumptions about the architecture
of the mind that Newell incorporated into this production rule
system that he referred to as PSOne. (Note the term STM and WM
are used interchangeably below.) |
- Recognition - Act Cycle (as
opposed to Fetch - Execute)
- Dependence on Momentary State
of STM
- Limit on STM
- Knowledge organized by function
rather than by name--supports a content-directed retrieval (pattern-matching)
rather than an address-directed retrieval.
- All knowledge as production
rules
- Assumption of Unreliable
STM: The contents of
STM are sufficiently variable, noisy and unreliable that the
subject will adopt production systems with lower risk from STM
unreliability.
- Principle of Coupled Systems:
When attempting to behave
reliably the subject uses production systems where early evoked
productions produce guarantees on the contents of STM that can
be utilized by later productions (thereby coupling the productions
together).
|
|
|
The example provided below is
taken from:
Newell, A. "Production Systems:
Models of Control Structures." In W.G. Chase (Ed.), Visual
Information Processing. NY: Academic Press, 1973. Pp. 463-525.
In this model it is assumed that
all knowledge is held in a long term memory (LTM) in the form
of production rules. A production rule consists of two parts,
a left hand side (LHS) which consists of a set of expressions
and a right hand side (RHS) that consists of a set of actions.
The LHS represent a condition for the rules potential use. If
the expressions of the LHS of the rule match the contents of
working memory (WM) then the rule is said to be applicable. If
the rule is applied, then the action side is executed. The actions
consist of writing elements to STM, transferring elements from
STM to LTM (in the case of learning or remembering), and carrying
out actions in the world.
This is obviously a contrived
example but it illustrates most of the basic ideas. The example
is also animated below. Note that the '**' that appears
on the right hand sides of PD1 and PD2 is a notation that can
be thought of as a variable that is bound to the first element
of the left hand side of the rule. It is useful to think of the
left hand side or condition portion of the rule as the "access
path" to the right hand side. And, in production systems
any bindings of variables on the left hand side are passed to
the variables referenced on the right hand side.
|
Illustrative Production
Rule Example
|
|
LTM
PD1: (AA And BB -> (OLD **))
PD2: (CC And BB -> (Say Hi)(OLD
**))
PD3: (DD And (EE) -> BB)
PD4: (AA -> CC DD)
|
The production rules for this
example are shown on the left. There are four rules that are
relevant to this example. Note that the rules are presumed to
be stored in LTM, a long term memory where it is assumed all
knowledge is stored. Production Rules represent the form in which
all knowledge is represented.
Starting with PD4, this rule
is read as:
if the symbol AA is in STM then
write the symbols CC and DD into STM.
|
|
WM
Input AA -> ("seeing someone coming toward you")
(AA QQ (EE FF) RR SS)
PD4 "retrieve
information about acquaintances"
(DD CC AA QQ (EE FF))
PD3 "choose
appropriate greeting"
(BB DD (EE FF ) CC AA)
PD1 "mark
recognition as complete"
((OLD AA) BB DD (EE FF) CC)
PD2 "generate greeting and mark as complete"
((OLD CC) BB (OLD AA) DD (EE FF)
|
PD3 has a similar reading. PD1
and PD2 are somewhat different since these rules serve to prevent
certain symbols from being matched. Newell's intention is to
make the control of reasoning totally explicit and this is an
example of that intent.
PD1 is read as:
if the symbols AA and BB are
somewhere in STM then change AA to be marked as OLD(AA).
Below the rules is a trace of
the operation of this set of rules on a particular input. In
order to impart some sort of meaning to this example, I have
shown in italics an interpretation of what might be going on.
This interpretation is only to help you get into the exampleignore
it if you find it confusing and simply view the example syntactically.
|
|
The process begins when the symbols
AA appear in STM. These symbols arrive as input. The current
memory is shown as a list enclosed in parenthesis. In this case
the memory contains (AA QQ (EE FF) ...). This list is assumed
to be ordered, i.e., AA is the first element, QQ the second,
(EE FF) the third, and so on.
This ordering is important because
Newell assumes that WM is bounded, that is, it can only contain
some fixed number of elements. When the bound is exceeded, it
is assumed that elements on the list that are in a position greater
than the bound are lost from working memory. In this example
the bound is assumed to be five.
|
 |
Once the AA appears in
working memory, the 'if clause' of PD4 matches symbols on working
memory. As a result of the execution of the right hand side of
PD4 working memory becomes (DD CC AA QQ (EE FF).
The box to left provides an animation
of the same material that is shown in the trace above. Note the
way in which the elements are rearranged after each application
of a production rule. The rule for this version of the production
rule system is that any new symbols are written at the head of
the list.
|
| Next
any symbols that have been used in the match of the LHS are moved
to the next available positions. If any symbols exceed the bound,
then they are deleted from WM. |