Attribute-Value Representation

Attribute-Value Representation

Soar uses productions for long-term memory. Symbols are represented in these productions and in working memory as a collection of attributes and values. Thus, each symbol is specified in production conditions, for production additions and within working memory as an object-attribute-value triple. Since the attributes and values may both be objects themselves, the representation of a single symbol may be arbitrarily complex. For example,
(object o1 ^type box)
specifies an object that is simply a box. However, if box is an object itself (e.g.,
(box b1 ^material cardboard ^sides 6 ^shape square ^color brown) ),
then additional information may be determined about its shape, color, etc.

Two objects are equivalent in this representation if their attributes and values are equal. This representation is frame-like except that there are no default values, no attached procedures and no automatic inheritance. For instance, in the above example, the color of o1 could not be determined directly; a production would have to test if o1 was of type box, which would then lead to the conclusion that o1's color was brown.


To return, press HOME. To go to the next document, press NEXT.