Figure 3: Category definition tree for the basic level
category chair.
GRUFF'S knowledge about different object categories is implemented as a category definition tree, the leaves of which represent invocations of the knowledge primitives. The category definition tree for the chair category is illustrated in Figure 3.
A node in a category definition tree may have two subtrees. One subtree gives the definition of the category in terms of a list of functional properties. In our chair example, an object must satisfy the functional properties of stability and provides_sittable_surface in order to be considered a member of the category conventional chair. Each functional property may be defined in terms of multiple primitives. The evaluation measures of individual primitives are combined (in a manner to be discussed shortly) to determine how well the functional properties have been satisfied. These functional property measures are further combined to arrive at an overall evaluation measure for a category node.
The other subtree defines a subcategory. A subcategory is a specialization of its parent (or superordinate) category, and thus provides a more detailed elaboration of the definition of its parent. A subcategory node has a subtree of functional properties that are required in addition to those of the parent category. For example, in Figure 3, the subcategory straightback chair is a specialization of a conventional chair with the additional functional requirement provides_back_support. The overall evaluation measure for a subcategory node is a combination of its parent category evaluation measure and the evaluation measure associated with the additional functional properties. In Figure 3, the overall measure for the subcategory straightback chair is a combination of the measures from the conventional chair node and the provides_back_support subtree. Note that subcategory measurements do not contribute to the cumulative measure for a parent category. There may be multiple levels of subcategories, as with conventional chair, straightback chair, and armchair in Figure 3.
Category nodes which have no associated functional properties (such as the root node chair in Figure 3) do not have associated evaluation measures. These nodes are used to set up the control structure of the function-based definition. However, they do provide the category definition since an object that is a member of a subcategory is automatically a member of all its predecessor categories. For example, in Figure 3, an object that belongs to the subcategory straightback chair also belongs to the categories conventional chair and chair. A superordinate category furniture could be added above the chair category [Stark Bowyer1994].