Another substantial body of work on general problem-solving is that associated with the Graph Traverser program (Doran and Michie 1966, Doran 1967, Michie 1967, Doran 1968, Michie, Fleming and Oldfield 1968, Michie and Ross 1970). In this section and the next we shall consider the transition from heuristic problem-solving as exemplified by the Graph Traverser, to planning by a robot as exemplified by my own work and that of Marsh (Doran 1967, 1967a, 1968a, 1969; Marsh 1970; Michie 1967, 1968a; Popplestone 1967). In order to do this efficiently the program uses, in general, a heuristic state evaluation function and heuristic operator selection techniques to grow the search tree in the most promising direction. The following types of learning occurred in the system: (a) learning of the relationship between acts and perceptions by noting the effects of individual acts, by making generalizations about the effects of acts, and by noting that certain complicated transitions from one perceived state to another can always be achieved, (b) learning which acts to employ in particular situations and the benefits to be expected -- a kind of habit formation.
Attempts to write'intelligent' computer programs have commonly involved the choice for attack of some particular aspect of intelligent behaviour, together with the choice of some relevant task, or range of tasks, which the program must perform. Toda (1962), in a whimsical and illuminating paper, has discussed the problems facing an automaton in a simple artificial environment. The reader may find it illuminating to imagine himself (the automaton) before a screen on which is displayed a complex pattern which changes from time to time (sequence of states). These are: 1. the subjective environment graph (figure 1), 2. the stored graph which is that portion of the subjective environment graph which the automaton has stored in its memory as a result of its experience (figure 2 (b)), and 3. the option graph which is that fragment of the stored graph which the automaton'knows' how to reach (figure 2(c)).
Before discussing in detail an example of a simple heuristic problemsolving program, the Graph Traverser, I shall give an indication of the most important work carried out in this field, stressing the more fundamental ideas. Bobrow (1964) describes a question-answering system for high school algebra word problems'. I shall distinguish four: (1) the external application problem to which the program has been applied; (2) the internal problem which the program generates from the application problem and which it must solve in order to produce a solution to the application problem (this internal problem will be an'idealised' version of the application problem, and will typically vary little from one application to another. It is important to realise that more than one internal problem may be capable of derivation from a given application problem); (3) the strategy which the program uses to solve the internal problem; (4) the translation process from the application problem to the internal problem.
I shall discuss automatic methods of search for solutions in problems susceptible of a particular formal representation, namely that on which the Graph Traverser program (Doran & Michie 1966, and see Doran p. 105) has been based. One approach, based on state-evaluation, generates all the states of the problem which can be reached in a small number of moves from the current state, and then seeks by some process of evaluation to decide which state shall form the next point of departure. In the classical studies of Newell, Shaw & Simon (1960) selection is applied by going down a priority sequence of operators, applying to each in turn a number of tests, first of applicability to the current state and then of whether the operator conduces towards one or another of various desirable intermediate states, or subgoals.