Published online by Cambridge University Press: 03 May 2010
Artificial intelligence is the study of complex information-processing problems that often have their roots in some aspect of biological information processing. The goal of the subject is to identify interesting and solvable information-processing problems, and solve them.
The solution to an information-processing problem divides naturally into two parts. In the first, the underlying nature of a particular computation is characterized, and its basis in the physical world is understood. One can think of this part as an abstract formulation of what is being computed and why, and I shall refer to it as the “theory” of a computation. The second part consists of particular algorithms for implementing a computation, and so it specifies how. The choice of algorithm usually depends upon the hardware in which the process is to run, and there may be many algorithms that implement the same computation. The theory of a computation, on the other hand, depends only on the nature of the problem to which it is a solution. Jardine and Sibson (1971) decomposed the subject of cluster analysis in precisely this way, using the term “method” to denote what I call the theory of a computation.
To make the distinction clear, let us take the case of Fourier analysis. The (computational) theory of the Fourier transform is well understood, and is expressed independently of the particular way in which it is computed. There are, however, several algorithms for implementing a Fourier transform – the Fast Fourier transform (Cooley and Tukey, 1965), which is a serial algorithm, and the parallel “spatial” algorithms that are based on the mechanisms of coherent optics.