Artificial Intelligence

Frames

Frames: Frames are descriptions of conceptual individuals. Frames can exist for "real" objects such as "The Watergate Hotel" sets of objects such as "Hotels", or more "abstract" objects such as "Cola-Wars" or "Watergate".
A Frame system is a collection of objects. Each object contains a number of slots. A slot represents an attribute. Each slot has a value. The value of an attribute can be another object. Each object is like a C struct. The struct has a name and contains a bunch of named values (which can be pointers)
Frames are essentially defined by their relationships with other frames. Relationships between frames are represented using slots. If a frame f is in a relationship r to a frame g, then we put the value g in the r slot of f.
For example, suppose we are describing the following genealogical tree:

The frame describing Adam might look something like:
Adam:
sex: Male
spouse: Beth
child: (Charles Donna Ellen)

where sex, spouse, and child are slots. Note that a single slot may hold several values (e.g. the children of Adam).
The genealogical tree would then be described by (at least) seven frames, describing the following individuals: Adam, Beth, Charles, Donna, Ellen, Male, and Female.

A frame can be considered just a convenient way to represent a set of predicates applied to constant symbols (e.g. ground instances of predicates.). For example, the frame above could be written:

sex(Adam,Male)
spouse(Adam,Beth)
child(Adam,Charles)
child(Adam,Donna)
child(Adam,Ellen)

More generally, the ground predicate r(f,g) is represented, in a frame based system, by placing the value g in the r slot of the frame f : r(f,g)

Frames can also be regarded as an extension to Semantic nets. Indeed it is not clear where the distinction between a semantic net and a frame ends. Semantic nets initially we used to represent labelled connections between objects. As tasks became more complex the representation needs to be more structured. The more structured the system it becomes more beneficial to use frames. A frame is a collection of attributes or slots and associated values that describe some real world entity. Frames on their own are not particularly helpful but frame systems are a powerful way of encoding information to support reasoning. Set theory provides a good basis for understanding frame systems. Each frame represents:

  • a class (set), or
  • an instance (an element of a class).