A. Introduction
One of the most frustrating things about studying attention is that research is so often accompanied by vague discussions of capacity limits, bottlenecks, and resource limits. How can these notions be made more concrete? The area of computer science known as computational complexity is concerned with the theoretical issues dealing with the cost of achieving solutions to problems in terms of time, memory, and processing power as a function of problem size. It thus provides the necessary theoretical foundation on which to base an answer to the capacity question.
It is reasonable to ask whether computational complexity has relevance for real problems? Stockmeyer and Chandra (1988) present a compelling argument. The most powerful computer that could conceivably be built could not be larger than the known universe, could not consist of hardware smaller than the proton, and could not transmit information faster than the speed of light. Such a computer could consist of at most 10126 pieces of hardware. It can be proved that, regardless of the ingenuity of its design and the sophistication of its program, this ideal computer would take at least 20 billion years to solve certain mathematical problems that are known to be solvable in principle (e.g., the well-known traveling salesman problem with a sufficiently large number of destinations). As the universe is probably less than 20 billion years old, it seems safe to say that such problems defy computer analysis. There exist many real problems for which this argument applies (see Garey and Johnson, 1979, for a catalog), and they form the foundation for the theorems presented here.
With respect to neurobiology, many have considered complexity constraints in the past but mostly in a qualitative manner. All roads lead to the same conclusions: the brain cannot fully process all stimuli in parallel in the observed response times. But this is like saying there is a capacity limit: This does not constrain a solution. By arguing in this manner we are no closer to knowing what exactly the brain is doing to solve this problem. This chapter takes the position that a more formal analysis of vision at the appropriate level of abstraction will help to reveal quantitative constraints on visual architectures and processing. First, however, it is important to address the applicability of this analysis for the neurobiology of the brain.
B. Can Human Vision Be Modeled Computationally?
This nontrivial issue is important because if it could be proved that human brain processes cannot be modeled computationally (and this is not tied to current computer hardware), then modeling efforts are futile. A proof of decidability is sufficient to guarantee that a problem can be modeled computationally (Davis, 1958, 1965). Decidability should thus not be confused with tractability. Tractability refers to the sort of problem Stockmeyer and Chandra (1988) described: a tractable problem is one for which enough resources can be found and enough time can be allocated so that the problem can be solved reasonably. An intractable problem may be decidable; but for an undecidable problem, one cannot determine its tractability. Intractable problems are those that have exponential complexity in space and/or time; that is, the mathematical function that relates processing time/space to the size of the input is exponential in that input size. There are several classes of such problems with differing characteristics and NP-complete is one of those classes. To show that vision is decidable, then it must first be formulated as a decision problem. This means that if it is the case that for some problem we wish to know of each element in a countably infinite set A, whether or not that element belongs to a certain set B which is a proper subset of A, then that problem can be formulated as a decision problem. Such a problem is decidable if there exists a Turing machine that computes “yes” or “no” for each element of A in answer to the decision question. A Turing machine is a hypothetical computing device consisting of a finite state control, a read–write head, and a two-way infinite sequence of labeled tape squares. A program then provides input to the machine, is executed by the finite state control, and computations specified by the program read and write symbols on the squares of the tape.
This formulation for the totality of visual performance does not currently exist, but does exist for several subproblems. One of the relevant decidable perceptual problems is visual search (Tsotsos, 1989).
This, however, is not a proof that human vision can be modeled computationally. If no subproblem of vision could be found to be decidable, then it might be that perception as a whole is undecidable and thus cannot be computationally modeled. But, what if there are other undecidable vision subproblems? Even if some other aspect of vision is determined to be undecidable, this does not mean that all of vision is also undecidable or that other aspects of perception cannot be modeled computationally. Hilbert’s 10th problem in mathematics and the halting problem for Turing machines are two examples of famous undecidable problems. The former does not imply that mathematics is not possible, whereas the latter does not mean that computers are impossible. It seems that most domains feature both decidable and undecidable subproblems and these coexist with no insurmountable difficulty.