Frame (artificial intelligence)
Encyclopedia
Frames were proposed by Marvin Minsky
in his 1974 article "A Framework for Representing Knowledge." A frame is an artificial intelligence
data structure
used to divide knowledge
into substructures by representing "stereotype
d situations." Frames are connected together to form a complete idea
.
Frames are also an extensive part of knowledge representation and reasoning schemes. Frames were originally derived from semantic networks and are therefore part of structure based knowledge representations. According to Peter and Norvig's "Artificial Intelligence, A Modern Approach," structural representations assemble, "...facts about particular object and even types and arrange the types into a large taxonomic hierarchy analogous to a biological taxonomy."
Each piece of information about a particular frame is held in a slot. The information can contain:
Facts or Data
- Values (called facets)
Procedures (also called procedural attachments)
- IF-NEEDED : deferred evaluation
- IF-ADDED : updates linked information
Default Values
- For Data
- For Procedures
Other Frames or Subframes
One particular strength of frame based knowledge representations is that, unlike semantic networks, they allow for exceptions in particular
instances. This gives frames an amount of flexibility that allow representations of real world phenomena to be reflected more accurately.
Like semantic networks, frames can be queried using spreading activation. Following the rules of inheritance, any value given to a slot that is inherited by subframes will be updated (IF-ADDED) to the corresponding slots in the subframes and any new instances of a particular frame will feature that new value as the default.
Because frames are structurally based, it is possible to generate a semantic network given a set of frames even though it lacks explicit arcs. Furthermore, the structure of frames allow for easy analogical reasoning, a much prized feature in any intelligent agent.
The procedural attachments provided by frames also allow a degree of flexibility that makes for a more realistic representation
and gives a natural affordance for programming applications.
Also notice that Alex, an instance of a boy, inherits default values like "Sex" from the more general parent object Boy,
but the boy may also have different instance values in the form of exceptions such as the number of legs.
Marvin Minsky
Marvin Lee Minsky is an American cognitive scientist in the field of artificial intelligence , co-founder of Massachusetts Institute of Technology's AI laboratory, and author of several texts on AI and philosophy.-Biography:...
in his 1974 article "A Framework for Representing Knowledge." A frame is an artificial intelligence
Artificial intelligence
Artificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its...
data structure
Data structure
In computer science, a data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently.Different kinds of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks...
used to divide knowledge
Knowledge
Knowledge is a familiarity with someone or something unknown, which can include information, facts, descriptions, or skills acquired through experience or education. It can refer to the theoretical or practical understanding of a subject...
into substructures by representing "stereotype
Stereotype
A stereotype is a popular belief about specific social groups or types of individuals. The concepts of "stereotype" and "prejudice" are often confused with many other different meanings...
d situations." Frames are connected together to form a complete idea
Idea
In the most narrow sense, an idea is just whatever is before the mind when one thinks. Very often, ideas are construed as representational images; i.e. images of some object. In other contexts, ideas are taken to be concepts, although abstract concepts do not necessarily appear as images...
.
Frames are also an extensive part of knowledge representation and reasoning schemes. Frames were originally derived from semantic networks and are therefore part of structure based knowledge representations. According to Peter and Norvig's "Artificial Intelligence, A Modern Approach," structural representations assemble, "...facts about particular object and even types and arrange the types into a large taxonomic hierarchy analogous to a biological taxonomy."
Frame structure
The frame contains information on how to use the frame, what to expect next, and what to do when these expectations are not met. Some information in the frame is generally unchanged while other information, stored in "terminals," usually change. Different frames may share the same terminals.Each piece of information about a particular frame is held in a slot. The information can contain:
Facts or Data
- Values (called facets)
Procedures (also called procedural attachments)
- IF-NEEDED : deferred evaluation
- IF-ADDED : updates linked information
Default Values
- For Data
- For Procedures
Other Frames or Subframes
Features and Advantages
A frame's terminals are already filled with default values, which is based on how the human mind works. For example, when a person is told "a boy kicks a ball," most people will be able to visualize a particular ball (such as a familiar soccer ball) rather than imagining some abstract ball with no attributes.One particular strength of frame based knowledge representations is that, unlike semantic networks, they allow for exceptions in particular
instances. This gives frames an amount of flexibility that allow representations of real world phenomena to be reflected more accurately.
Like semantic networks, frames can be queried using spreading activation. Following the rules of inheritance, any value given to a slot that is inherited by subframes will be updated (IF-ADDED) to the corresponding slots in the subframes and any new instances of a particular frame will feature that new value as the default.
Because frames are structurally based, it is possible to generate a semantic network given a set of frames even though it lacks explicit arcs. Furthermore, the structure of frames allow for easy analogical reasoning, a much prized feature in any intelligent agent.
The procedural attachments provided by frames also allow a degree of flexibility that makes for a more realistic representation
and gives a natural affordance for programming applications.
Example
Worth noticing here is the easy analogical reasoning (comparison) that can be done between a boy and a monkey just by having similarly named slots.Also notice that Alex, an instance of a boy, inherits default values like "Sex" from the more general parent object Boy,
but the boy may also have different instance values in the form of exceptions such as the number of legs.
Slot | Value | Type |
---|---|---|
ALEX | _ | (This Frame) |
NAME | Alex | (key value) |
ISA | Boy | (parent frame) |
SEX | Male | (inheritance value) |
AGE | IF-NEEDED: Subtract(current,BIRTHDATE); | (procedural attachment) |
HOME | 100 Main St. | (instance value) |
BIRTHDATE | 8/4/2000 | (instance value) |
FAVORITE_FOOD | Spaghetti | (instance value) |
CLIMBS | Trees | (instance value) |
BODY_TYPE | Wiry | (instance value) |
NUM_LEGS | 1 | (exception) |
Slot | Value | Type |
---|---|---|
BOY | _ | (This Frame) |
ISA | Person | (parent frame) |
SEX | Male | (instance value) |
AGE | Under 12 yrs. | (procedural attachment - sets constraint) |
HOME | A Place | (frame) |
NUM_LEGS | Default = 2 | (default, inherited from Person frame) |
Slot | Value | Type |
---|---|---|
MONKEY | _ | (This Frame) |
ISA | Primate | (parent frame) |
SEX | OneOf(Male,Female) | (procedural attachment) |
AGE | an integer | (procedural attachment - sets constraint) |
HABITAT | Default = Jungle | (default) |
FAVORITE_FOOD | Default = Bananas | (default) |
CLIMBS | Trees | _ |
BODY_TYPE | Default = Wiry | (default) |
NUM_LEGS | Default = 2 | (default) |