- 2069 Poush · 7 marks
Frame with example
Short answer
A frame is a structured knowledge representation with slots, facets (defaults, ranges, procedures like if-needed), arranged in is-a hierarchy for inheritance. Example: Book frame has slots author, pages; default language English; price if-needed computes pages×2. TextBook is-a Book; AI_Rich_Knight instance of TextBook inherits English and price 1280.
What is a frame? Explain it with suitable example.
A frame is a structured knowledge representation for a stereotyped object, concept or situation, proposed by Marvin Minsky (1975). It is a collection of slots (attributes), each holding a value, a default, a restriction or an attached procedure. Frames are arranged in a hierarchy (is-a, instance-of) so that slots are inherited.
Parts of a frame
- Frame name: the object or class.
- Slots: attributes of the object.
- Facets: extra information about a slot:
value,default,range/type, and proceduresif-needed(compute when asked),if-added/if-removed(run when changed), also called demons. - Links:
is-aandinstance-ofto parent frames.
Example: a Book frame hierarchy
Frame: Book
is-a: Publication
author: [type: Person]
pages: [range: 1..2000]
language: default English
price: [if-needed: pages * 2]
Frame: TextBook
is-a: Book
subject: [type: String]
edition: default 1
Frame: AI_Rich_Knight (instance)
instance-of: TextBook
author: Elaine Rich
subject: Artificial Intelligence
pages: 640
edition: 3
languageof AI_Rich_Knight is not stored, so the default English is inherited from Book.priceis computed by the if-needed procedure: 640 × 2 = 1280.
Equivalent FOPL
instance(AI_Rich_Knight, TextBook), isa(TextBook, Book), author(AI_Rich_Knight, Elaine_Rich), ∀x instance(x,TextBook) → language(x, English).
Advantages
- Natural organisation of knowledge around objects.
- Inheritance and default values reduce storage and allow reasoning with missing data.
- Procedural attachment combines declarative and procedural knowledge.
Limitations
- No formal semantics; reasoning with exceptions and negation is difficult.
- Hard to build and maintain for large domains.
✓ Answer checked by Claude Opus 5.5 (high effort)