It has been argued (e.g., Marr, 1982; Pylyshyn, 1984) that for any information processing system to be understood completely, it must be described at three different levels of analysis.

Almost never can a complex system of any kind be understood as a simple extrapolation from the properties of its elementary components . . . If one hopes to achieve a full understanding of a system . . . then one must be prepared to contemplate different levels of description that are linked, at least in principle, into a cohesive whole, even if linking the levels in complete detail is impractical. (Marr, 1982, pp. 19-20).

Marr has defined these levels as computational, algorithmic, and implementational. The computational level is a description of what information processing problem is being solved by the system. The algorithmic level is a description of what steps are being carried out to solve the problem. The implementational level is a description of the physical characteristics of the information processing system. There is a one-to-many mapping from the computational level to the algorithmic level,and a one-to-many mapping from the algorithmic level to the implementational level. In other words, there is one computational description of a particular information processing problem, many different algorithms for solving that problem, and many different ways in which a particular algorithm can be physically implemented.

Similarly, Pylyshyn (1984) also characterizes an information processor as having three different levels of description. Pylyshyn's equivalent to the implementational level, however, does not place as much emphasis on actual biology. Pylyshyn defines this level as the functional architecture of a system. The functional architecture can be used as a bridge between Marr's algorithmic and implementational levels.

**References:**

- Marr, D.(1982).
*Vision*. San Francisco: W. H. Freeman.
- Pylyshyn, Z. W. (1984).
*Computation and cognition*. Cambridge, MA: MIT Press.