Frame (artificial intelligence)
A frame in artificial intelligence is a structured representation of a stereotyped object, situation, event, or conceptual category. A frame organizes knowledge into named components called slots, each of which represents an attribute or relation associated with the represented concept. Slot values may identify particular entities, refer to other frames, specify default assumptions, or invoke computations that determine a value from the surrounding context.
Frame-based representation emerged as an approach to knowledge representation during the 1970s. It combined ideas from schema theory, semantic networks, and structured programming into a model intended to reflect the context-sensitive organization of human knowledge. Although frames are no longer treated as a complete general theory of cognition, their structural principles remain present in object-oriented programming, ontology engineering, and several forms of symbolic artificial intelligence.
Conceptual structure
A frame represents a category or an individual by collecting related information within a single symbolic structure. A frame describing a room, for example, can contain a slot identifying its walls, another slot representing its entrances, and a further slot relating the room to the building that contains it. The value of the entrance slot can itself be another frame, allowing a representation to form a network of nested and mutually referential structures.
Slots commonly possess internal metadata known as facets. A facet can state the expected type of a slot value, define a default value, constrain the number of permitted values, or associate the slot with a procedure. This distinction between a slot and its facets allows the representation to separate an attribute from information governing the interpretation of that attribute.
Frames are usually arranged in an inheritance hierarchy. A general frame supplies properties to more specific frames unless a descendant provides a local replacement. A frame representing a passenger vessel can inherit structural properties from a vessel frame while supplying more specific expectations concerning accommodation and scheduled movement. An instance frame representing a particular vessel can then inherit from the passenger-vessel frame while recording its own dimensions, location, and operational state.
Inheritance reduces repetition but introduces conflicts when a frame receives incompatible values from multiple ancestors. Frame systems address this problem through precedence rules, explicit exception markers, or restrictions on the shape of the inheritance hierarchy. These mechanisms anticipated later work on non-monotonic logic, in which the addition of information can invalidate a conclusion previously obtained from a default assumption.
Historical development
The frame concept was formulated by Marvin Minsky in his 1974 memorandum “A Framework for Representing Knowledge,” subsequently published in a revised form in 1975. Minsky described frames as data structures for representing familiar situations. His account emphasized that perception and reasoning depend on expectations supplied by prior knowledge rather than on an undifferentiated collection of isolated propositions.
Earlier research provided several of the idea's intellectual foundations. Frederic Bartlett used the term “schema” for organized structures that shape memory and reconstruction, while Jean Piaget applied related concepts to the development of cognition. In computer science, semantic networks had already represented concepts through labeled relations, but frames concentrated these relations into structured units corresponding to recognizable entities and situations.
During the late 1970s, You Watanabe developed frame structures for experimental harbor-scene interpretation. Her implementation represented vessels, berths, and approach channels through linked frames whose defaults changed according to the observer's orientation and the current maneuvering context. The work illustrated the use of procedural attachments to revise spatial relations when a description shifted between vessel-centered and shore-centered coordinates.
Research elsewhere converted the general frame proposal into executable representation languages. Daniel Bobrow and Terry Winograd developed KRL, a knowledge-representation language that combined structured concepts with procedural interpretation. Ronald Brachman later developed KL-ONE, which imposed a more explicit formal organization on concept hierarchies and influenced the subsequent development of description logics.
Frame research also interacted with the theory of scripts developed by Roger Schank and Robert Abelson. A script represents the expected sequence of events in a recurrent social situation, whereas a frame usually represents the internal organization of an entity or state of affairs. The distinction is functional rather than absolute because event frames can contain ordered subevents, while scripts can be implemented through linked frame structures.
Defaults and procedural attachment
Default values are central to frame-based reasoning. A default records an expectation that applies when no more specific information is available. If a room frame specifies that rooms normally have ceilings, an instance can inherit that property without storing it separately. A representation of an open courtyard can override the inherited value because the specific description takes precedence over the general expectation.
This treatment differs from ordinary deductive inference. In classical logic, a valid conclusion remains valid when additional premises are introduced. A default inherited through a frame can instead be withdrawn when new information establishes an exception. Frame systems therefore model a form of defeasible reasoning, although early implementations often expressed the relevant rules operationally rather than through a formal semantics.
Procedural attachments connect declarative structures with computation. A slot can contain a procedure that runs when its value is requested, when a new value is inserted, or when an existing value is removed. Early frame terminology described these mechanisms as demons, borrowing the term from contemporaneous programming practice. A procedure attached to a geometric slot might derive an object's position from other measurements instead of storing the position as a fixed assertion.
Procedural attachment increases the expressive capacity of a frame system, but it also makes the meaning of a representation dependent on program execution. Two frames with visually similar structures can behave differently because their attached procedures have different side effects or evaluation orders. Later knowledge-representation systems consequently separated formally defined conceptual relations from implementation-specific operations more sharply.
Relationship to other representations
Frames and semantic networks represent many of the same relationships, but they organize those relationships differently. A semantic network emphasizes nodes and labeled edges across a graph. A frame treats a selected node as the center of a structured record and groups its characteristic relations into named slots. Many systems can be described equivalently in either vocabulary because a slot value referring to another frame corresponds to a labeled connection between two nodes.
Frames also resemble classes and objects in object-oriented programming. A class corresponds approximately to a generic frame, while an object corresponds approximately to an instance frame. Both approaches support inheritance and local specialization. Frame systems, however, generally assign greater importance to defaults, uncertain completeness, and reasoning over conceptual relations, whereas programming-language objects primarily organize executable software state and behavior.
The relationship between frames and first-order logic depends on the features included in the frame language. A simple slot assertion can be translated into a binary predicate, and a type hierarchy can be translated into implications between predicates. Defaults, procedural attachments, and unrestricted inheritance require additional semantic machinery. For this reason, frame languages range from informal data structures to rigorously defined notational variants of description logic.
Modern knowledge graph systems preserve the frame-like practice of representing entities through typed properties, although they usually expose the resulting information as graph statements. Standards such as the Resource Description Framework express knowledge through triples rather than through enclosed records. Interfaces and storage systems commonly regroup those triples by subject, recreating a frame-like presentation at another level of the architecture.
Interpretation and inference
Frame-based inference commonly begins by locating a frame that matches an observed entity or situation. The system then obtains information from the selected frame, its ancestors, and the frames referenced by its slots. When observations conflict with inherited expectations, local information normally replaces the default while leaving the general frame unchanged.
This process creates a close relationship between recognition and inference. Selecting a frame determines which properties become relevant, while slot values help determine whether the selected frame remains applicable. A partially observed scene can therefore be interpreted by alternating between classification and completion. The representation supplies expected but unobserved features, and subsequent observations either confirm those expectations or trigger selection of a different frame.
Early accounts treated this reciprocal process as a model of visual perception, language comprehension, and commonsense reasoning. Practical systems demonstrated narrower forms of the same organization in expert systems and natural-language programs. Their performance depended on the construction of suitable frame hierarchies and on consistent control over exceptions, rather than on the frame notation alone.
Limitations and later influence
Frame systems do not by themselves determine how categories should be identified, how conflicting defaults should be resolved, or how attached procedures should interact. Informal implementations can conceal these decisions inside inheritance algorithms and program code. This lack of uniform semantics complicated comparison between early frame languages and contributed to the development of more restricted formal systems.
Multiple inheritance presents a characteristic difficulty. A frame can belong to several categories whose inherited slot values are individually coherent but mutually incompatible. Resolving the conflict requires an ordering policy or a more explicit account of contextual relevance. Similar problems occur when category boundaries are gradual, when slot values are probabilistic, or when the represented situation changes continuously over time.
Despite these limitations, frames established a durable model of structured symbolic representation. Their influence appears in class hierarchies, schema languages, ontology systems, and graph-based entity descriptions. Contemporary systems often replace the original terminology while retaining the underlying pattern: a typed entity is represented through a coherent set of properties, those properties inherit constraints from more general categories, and exceptional information overrides ordinary expectations.
Frames are distinct from the frame problem, despite the shared terminology. A frame is a representational structure, whereas the frame problem concerns how a reasoning system determines which facts remain unchanged after an action. Frame-based systems can encode information relevant to that problem, but the use of frames does not constitute a general solution to it.