next up previous
Next: References Up: PROGRAMS WITH COMMON SENSE Previous: Introduction

The Construction of the Advice Taker

The advice taker system has the following main features:

1. There is a method of representing expressions in the computer. These expressions are defined recursively as follows: A class of entities called terms is defined and a term is an expression. A sequence of expressions is an expression. These expressions are represented in the machine by list structures (Newell and Simon 1957).

2. Certain of these expressions may be regarded as declarative sentences in a certain logical system which will be analogous to a universal Post canonical system. The particular system chosen will depend on programming considerations but will probably have a single rule of inference which will combine substitution for variables with modus ponens. The purpose of the combination is to avoid choking the machine with special cases of general propositions already deduced.

3. There is an immediate deduction routine which when given a set of premises will deduce a set of immediate conclusions. Initially, the immediate deduction routine will simply write down all one-step consequences of the premises. Later, this may be elaborated so that the routine will produce some other conclusions which may be of interest. However, this routine will not use semantic heuristics; i.e., heuristics which depend on the subject matter under discussion.

The intelligence, if any, of the advice taker will not be embodied in the immediate deduction routine. This intelligence will be embodied in the procedures which choose the lists of premises to which the immediate deduction routine is to be applied. Of course, the program should never attempt to apply the immediate deduction routine simultaneously to the list of everything it knows. This would make the deduction routine take too long.

4. Not all expressions are interpreted by the system as declarative sentences.Some are the names of entities of various kinds. Certain formulas represent objects. For our purposes, an entity is an object if we have something to say about it other than the things which may be deduced from the form of its name. For example, to most people, the number 3812 is not an object: they have nothing to say about it except what can be deduced from its structure. On the other hand, to most Americans the number 1776 is an object because they have filed somewhere the fact that it represents the year when the American Revolution started. In the advice taker each object has a property list in which are listed the specific things we have to say about it. Some things which can be deduced from the name of the object may be included in the property list anyhow if the deduction was actually carried out and was difficult enough so that the system does not want to carry it out again.

5. Entities other than declarative sentences which can be represented by formulas in the system are individuals, functions, and programs.

6. The program is intended to operate cyclically as follows. The immediate deduction routine is applied to a list of premises and a list of individuals. Some of the conclusions have the form of imperative sentences. These are obeyed. Included in the set of imperatives which may be obeyed is the routine which deduces and obeys.

We shall illustrate the way the advice taker is supposed to act by means of an example. Assume that I am seated at my desk at home and I wish to go to the airport. My car is at my home also. The solution of the problem is to walk to the car and drive the car to the airport. First, we shall give a formal statement of the premises the advice taker uses to draw the conclusions. Then we shall discuss the heuristics which cause the advice taker to assemble these premises from the totality of facts it has available. The premises come in groups, and we shall explain the interpretation of each group.

1. First, we have a predicate ``at''. ``at(x,y)'' is a formalization of ``x is at y''. Under this heading we have the premises






We shall need the fact that the relation``at'' is transitive which might be written directly as


or alternatively we might instead use the more abstract premises



from which (6) can be deduced.

2. There are two rules concerning the feasibility of walking and driving.



There are also two specific facts



3. Next we have a rule concerned with the properties of going.


4. The problem itself is posed by the premise:


5. The above are all the premises concerned with the particular problem. The last group of premises are common to almost all problems of this sort. They are:


The predicate ``canachult(x,y,z)'' means that in a situation to which x applies, the action y can be performed and ultimately brings about a situation to which z applies. A sort of transitivity is described by


Here prog(u,v) is the program of first carrying out u and then v. (Some kind of identification of a single action u with the one step program prog(u) is obviously required, but the details of how this will fit into the formalism have not yet been worked out).

The final premise is the one which causes action to be taken.


The argument the advice taker must produce in order to solve the problem deduces the following propositions in more or less the following order:

  1. tex2html_wrap_inline259
  2. tex2html_wrap_inline261
  3. tex2html_wrap_inline263
  4. tex2html_wrap_inline265
  5. canachult(at(I,desk), go(desk,car,walking), at(I,car))
  6. canachult(at(I,car), go(home,airport,driving), at(I,airport))
  7. canachult(at(I,desk), prog(go(desk,car,walking),


  8. do(go(desk,car,walking))

The deduction of the last proposition initiates action.

The above proposed reasoning raises two major questions of heuristic. The first is that of how the 17 premises are collected, and the second is that of how the deduction proceeds once they are found. We cannot give complete answers to either question in the present paper; they are obviously not completely separate since some of the deductions might be made before some of the premises are collected. Let us first consider the question of where the 17 premises came from.

First of all, we assert that except for the 14th premise want(at(I,airport)), which sets the goal, and the 1st premise at(I,desk), which we shall get from a routine which answers the question tex2html_wrap_inline300 , all the premises can reasonably be expected to be specifically present in the memory of a machine which has   competence of human order in finding its way around. That is, none of them are so specific to the problem at hand that assuming their presence in memory constitutes an anticipation of this particular problem or of a class of problems narrower than those which any human can expect to have previously solved. We must impose this requirement if we are to be able to say that the advice taker exhibits common sense.

On the other hand, while we may reasonably assume that the premises are in memory, we still have to describe how they are assembled into a list by themselves to which the deduction routine may be applied. Tentatively, we expect the advice taker to proceed as follows: initially, the sentence ``want(at(I,airport))'' is on a certain list L, called the main list, all by itself. The program begins with an observation routine which looks at the main list and puts certain statements about the contents of this list on a list called ``observations of the main list''. We shall not specify at present what all the possible outputs of this observation routine are but merely say that in this case it will observe that ``the only statement on L has the form tex2html_wrap_inline289 '' (We write this out in English because we have not yet settled on a formalism for representing statements of this kind). The ``deduce and obey'' routine is then applied to the combination of the ``observations of the main list'' list, and a list called the ``standing orders list''. This list is rather small and is never changed, or at least is only changed in major changes of the advice taker. The contents of the ``standing orders'' list has not been worked out, but what must be deduced is the extraction of certain statements from property lists. Namely, the program first looks at ``want(at(I,airport))'' and attempts to copy the statements on its property list. Let us assume that it fails in this attempt because ``want(at(I,airport))'' does not have the status of an object and hence has no property list. (One might expect that if the problem of going to the airport has arisen before, ``want(at(I, airport))'' would be an object, but this might depend on whether there were routines for generalizing previous experience that would allow something of general use to be filed under that heading). Next in order of increasing generality the machine would see if anything were filed under ``want(at(I,x))'' which would deal with the general problem of getting somewhere. One would expect that premises (6), (or (7) and (8)), (9), (10), (13), would be so filed. There would also be the formula


which would give us premise (1). There would also be a reference to the next higher level of abstraction in the goal statement which would cause a look at the property list of ``want(x)''. This would give us (15), (16), and (17).

We shall not try to follow the solution further except to remark that on the property list of ``want(at(I,x))'' there would be a rule that starts with the premises ``at(I,y)'' and ``want(I,x)'' and has as conclusion a search for the property list of ``go(y,x,z)''. This would presumably fail, and then there would have to be heuristics that would initiate a search for a y such that ``at(I,y)'' and ``at(airport,y)''. This would be done by looking on the property lists of the origin and the destination and working up. Then premise (10) would be found which has as one of its premises at(I,car). A repetition of the above would find premise (9), which would complete the set of premises since the other ``at'' premises would have been found as by-products of previous searches.

We hope that the presence of the heuristic rules mentioned on the property lists where we have put them will seem plausible to the reader. It should be noticed that on the higher level of abstraction many of the statements are of the stimulus-response form. One might conjecture that division in man between conscious and unconscious thought occurs at the boundary between stimulus-response heuristics which do not have to be reasoned about but only obeyed, and the others which have to serve as premises in deductions.

We hope to formalize the heuristics in another paper before we start programming the system.

next up previous
Next: References Up: PROGRAMS WITH COMMON SENSE Previous: Introduction

John McCarthy
Sat Mar 1 15:59:06 PST 2003