Artificial Intelligence

Interpreting Frames

Interpreting frames: A frame system interpreter must be capable of the following in order to exploit the frame slot representation:

  • • Consistency checking -- when a slot value is added to the frame relying on the domain attribute and that the value is legal using range and range constraints.
  • • Propagation of definition values along isa and instance links.
  • • Inheritance of default. values along isa and instance links.
  • • Computation of value of slot as needed.
  • • Checking that only correct number of values computed.

Access Paths
One advantage of a frame based representation is that the (conceptual) objects related to a frame can be easily accessed by looking in a slot of the frame (there is no need, for example, to search the entire knowledge-base). We define an access path, in a network of frames, as a sequence of frames each directly accessible from (i.e. appearing in a slot of) its predecessor. A sequence of predicates defines an access path iff any variable appearing as the first argument to a predicate has appeared previously in the sequence. For example, ``John's parent's sister'' can be expressed in Algernon as the path:

The access path ((parent John ?x) (sister ?x ?y)) is equivalent to the syntactically similar predicate calculus statement:


In predicate calculus this statement is equivalent to


However, the corresponding sequence of predicates:

is not an access path because a query of (sister ?x ?y) requires a search of every frame in the entire knowledge-base.