next up previous
Next: Modularity Up: The implementation of Previous: Content

Representation

One thing that evolved significantly during the development of Cyc was the form of its symbolic representations. For the first five years there was an emphasis on frame based representations and almost a reaction to the findings of the formal community (as illustrated by the ``neats versus scruffies'' discussion [Lenat and Guha, 1990]). As most of the reviewers of the Cyc book point out [Elkan and Greiner, 1993,Skuce, 1993], they did not have much justification for this decision, other than the questionable claims for efficiency. In a sense, they were following history with a ten year lag, as Minsky had published his seminal work on frames in 1974 [Minsky, 1974].

Frames do have their own problems. The basic semantics of a frame x having value v under slot p is the same as saying in logic. However there is a lot more that can be expressed in logic that is not so easy with frames. Embedded clauses are the standard example [Elkan and Greiner, 1993]. Mayor(Capital(Texas)) cannot be expressed without making Capital(Texas) into a new frame (reifying it). Another problem comes up when handling time. To express the fact that some object had a property over a particular time period, Cyc chose to define subabstractions. A subabstraction is a new frame that only represents the object over that time period, such as LenatAsAnInfant or FredWhileAsleep. So, for each assertion you have to make that is valid during a particular period of the subject's life, you need to create a new frame. You have to keep all these frames in synchrony in other aspects. They have tried the same solution for belief. So if Mary believes that Fred is a plumber, you create a Mary subabstraction of Fred as a separate frame and assert facts about it. These are special cases of the embedding problem. In a frame language, one is not allowed to say true-over-interval(1980, occupation(Fred, plumber)) [McDermott, 1993].

So Cyc started its life having a simple frame language. By the time the book was written (1989), on top of the frames there is a predicate-calculus like constraint language. Soon after, in their midterm report (1990), they express the need for a clean semantics, and the need to have a language that has the expressiveness of first order logic with some extensions to handle equality, default reasoning, skolemization and some second order features. Currently (1996), Cyc doesn't seem to have any connection to the frame architecture. The Cyc team thinks of their knowledge base instead as a sea of assertions, with each assertion being no more "about" one of the terms involved than another. The moral of the story, however, is that things that seem most natural to human thinking, time, space, beliefs, causality, different possible worlds, intentionality, etc. create the hardest problems for symbolic representations.

A rather surprising development is the introduction of analogue representations to Cyc (at least the effort thereof). In the midterm report they mention their failed attempts at developing a single general abstraction for space, and their decision to develop several abstractions: (1) simple diagram-like representations, (2) computer-aided-design like representations that build solids and surfaces out of a small number of primitives, and (3) device-level representations that primarily deal with the topology of a device by using a number of primitive components and using a small number of ports for each primitive and a small number of ways in which two primitives can be connected. A similar intention is mentioned in the book also. I don't know if these ideas ever got beyond the stage of intentions.



next up previous
Next: Modularity Up: The implementation of Previous: Content



Deniz Yuret
Tue Apr 1 21:26:01 EST 1997