next up previous


Why should we want to ascribe beliefs to machines at all? This is the converse question to that of reductionism. Instead of asking how mental qualities can be reduced to physical ones, we ask how to ascribe mental qualities to physical systems.

Our general motivation for ascribing mental qualities is the same as for ascribing any other qualities--namely to express available information about the machine and its current state. To have information, we must have a space of possibilities whether explicitly described or not. The ascription must therefore serve to distinguish the present state of the machine from past or future states or from the state the machine would have in other conditions or from the state of other machines. Therefore, the issue is whether ascription of mental qualities is helpful in making these discriminations in the case of machines.

To put the issue sharply, consider a computer program for which we possess complete listings. The behavior of the program in any environment is determined from the structure of the program and can be found out by simulating the action of the program and the environment without having to deal with any concept of belief. Nevertheless, there are several reasons for ascribing belief and other mental qualities:

1. Although we may know the program, its state at a given moment is usually not directly observable, and the facts we can obtain about its current state may be more readily expressed by ascribing certain beliefs and goals than in any other way.

2. Even if we can simulate its interaction with its environment using another more comprehensive program, the simulation may be a billion times too slow. We also may not have the initial conditions of the environment or the environment's laws of motion in a suitable form, whereas it may be feasible to make a prediction of the effects of the beliefs we ascribe to the program without any computer at all.

3. Ascribing beliefs may allow deriving general statements about the program's behavior that could not be obtained from any finite number of simulations.

4. The belief and goal structures we ascribe to the program may be easier to understand than the details of program as expressed in its listing.

5. The belief and goal structure is likely to be close to the structure the designer of the program had in mind, and it may be easier to debug the program in terms of this structure than directly from the listing. In fact, it is often possible for someone to correct a fault by reasoning in general terms about the information in a program or machine, diagnosing what is wrong as a false belief, and looking at the details of the program or machine only sufficiently to determine how the false belief is represented and what mechanism caused it to arise.

6. The difference between this program and another actual or hypothetical program may best be expressed as a difference in belief structure.

All the above reasons for ascribing beliefs are epistemological; i.e. ascribing beliefs is needed to adapt to limitations on our ability to acquire knowledge, use it for prediction, and establish generalizations in terms of the elementary structure of the program. Perhaps this is the general reason for ascribing higher levels of organization to systems.

Computers give rise to numerous examples of building a higher structure on the basis of a lower and conducting subsequent analyses using the higher structure. The geometry of the electric fields in a transistor and its chemical composition give rise to its properties as an electric circuit element. Transistors are combined in small circuits and powered in standard ways to make logical elements such as ANDs, ORs, NOTs and flip-flops. Computers are designed with these logical elements to obey a desired order code; the designer usually needn't consider the properties of the transistors as circuit elements. When writing a compiler from a higher level language, one works with the order code and doesn't have to know about the ANDs and ORs; the user of the higher order language needn't know the computer's order code.

In the above cases, users of the higher level can completely ignore the lower level, because the behavior of the higher level system is completely determined by the values of the higher level variables; e.g. in order to determine the outcome of a computer program, one needn't consider the flip-flops. However, when we ascribe mental structure to humans or goals to society, we always get highly incomplete systems; the higher level behavior cannot be fully predicted from higher level observations and higher level ``laws'' even when the underlying lower level behavior is determinate. Moreover, at a given state of science and technology, different kinds of information can be obtained from experiment and theory building at the different levels of organization.

In order to program a computer to obtain information and co-operation from people and other machines, we will have to make it ascribe knowledge, belief, and wants to other machines and people. For example, a program that plans trips will have to ascribe knowledge to travel agents and to the airline reservation computers. It must somehow treat the information in books, perhaps by ascribing to them a passive form of knowledge. The more powerful the program in interpreting what it is told, the less it has to know about how the information it can receive is represented internally in the teller and the more its ascriptions of knowledge will look like human ascriptions of knowledge to other humans.

next up previous

John McCarthy
Fri Dec 21 12:19:53 PST 2001