About this book
In mathematics there are limits, speed limits of a sort, on how many computational steps are required to solve certain problems. The theory of computational complexity deals with such limits, in particular whether solving an n-dimensional version of a particular problem can be accomplished with, say, 2 n n steps or will inevitably require 2 steps. Such a bound, together with a physical limit on computational speed in a machine, could be used to establish a speed limit for a particular problem. But there is nothing in the theory of computational complexity which precludes the possibility of constructing analog devices that solve such problems faster. It is a general goal of neural network researchers to circumvent the inherent limits of serial computation. As an example of an n-dimensional problem, one might wish to order n distinct numbers between 0 and 1. One could simply write all n! ways to list the numbers and test each list for the increasing property. There are much more efficient ways to solve this problem; in fact, the number of steps required by the best sorting algorithm applied to this problem is proportional to n In n .
algorithms cognition complexity mathematics neural networks sorting