subsidiary goals, subsubgoals, etc., a tree-like structure will arise, since the
main goal may involve several different subgoals, each of which in turn
involves several subsubgoals, etc.
Notice that this method is not guaranteed to resolve the question, for
there may be no way of establishing within the system that Principia
Mathematica is a formal arithmetic. This does not imply, however, that
either the goal or the sub goal is a false statement-merely that they cannot
be derived with the knowledge currently available to the system. The
system may print out, in such a circumstance, "I do not know" or words to
that effect. The fact that some questions are left open is of course similar to
the incompleteness from which certain well-known formal systems suffer.
Deductive vs. Analogical Awareness
This method affords a deductive awareness of the domain that is represented,
in that correct logical conclusions can be drawn from known facts. How-
ever, it misses something of the human ability to spot similarities and to
compare situations-it misses what might be called analogical awareness-a
crucial side of human intelligence. This is not to say that analogical thought
processes cannot be forced into such a mold, but they do not lend them-
selves naturally to being captured in that kind of formalism. These days,
logic-oriented systems are not so much in vogue as other kinds, which allow
complex forms of comparisons to be carried out rather naturally.
When you realize that knowledge representation is an altogether dif-
ferent ball game than mere storage of numbers, then the idea that "a
computer has the memory of an elephant" is an easy myth to explode.
What is stored in memory is not necessarily synonymous with what a program
knows; for even if a given piece of knowledge is encoded somewhere inside
a complex system, there may be no procedure, or rule, or other type of
handler of data, which can get at it-it may be inaccessible. In such a case,
you can say that the piece of knowledge has been "forgotten" because
access to it has been temporarily or permanently lost. Thus a computer
program may "forget" something on a high level which it "remembers" on
a low level. This is another one of those ever-recurring level distinctions,
from which we can probably learn much about our own selves. When a
human forgets, it most likely means that a high-level pointer has been
lost-not that any information has been deleted or destroyed. This high-
lights the extreme importance of keeping track of the ways in which you
store incoming experiences, for you never know in advance under what
circumstances, or from what angle, you will want to pull something out of
storage.
From Computer Haiku to an RTN-Grammar
The complexity of the knowledge representation in human heads first hit
home with me when I was working on a program to generate English
sentences "out of the blue". I had come to this project in a rather interest-
Artificial Intelligence: Retrospects 619