There Are Many Kinds of Computing Systems

One of the ways that the philosophical literature on computation is traditionally impoverished is that it tends to focus on just one or two paradigmatic examples, such as Turing machines or traditional digital computers. Perhaps because of this, some philosophers have produced accounts of physical computation from which it follows that many paradigmatic examples of computing systems, such as, say, finite-state automata or Boolean circuits, do not perform computations. Another drawback of this impoverished discourse is the simplistic way in which the debate on the computational architecture of cognition has been conducted–as if there were only two options: “classical” programmable digital computation or relatively simple associative connectionist systems. Yet another drawback of this impoverished discourse is that critics of the computational theory of cognition often produce straw man arguments of the form: the brain is not a Turing machine (or what have you), therefore the computational theory of cognition is wrong.

I hope that my book will contribute to enrich these discussions by enlarging our appreciation of the many kinds of computing system. That’s why I devote a big chunk of the book (six chapters) to distinguishing, explicating, and classifying various important kinds of computing system.

To begin with, there are many kinds of classical digital computers: programmable and non-programmable, stored-program and non-stored-program, special purpose and general purpose, single processor and multi-processor.

In addition, classical digital computers are a kind of neural network. If this surprises you, it’s because you are in the grips of a misleading dichotomy.

Neural networks are just sets of connected computing units. That’s what digital computers are too. It’s just that digital computers are generally specialized in very specific ways. Of course, there are many kinds of neural networks that do not amount to digital computers. In fact, there are neural networks that are not digital but operate on other sorts of vehicles, such as analog vehicles.

This leads me to analog computers, which are almost forgotten these days but used to be an important computing technology in their own right.

And nowadays there are lots of efforts to create unconventional computing technologies, such as DNA computing, quantum computing, etc.

All of these kinds of computation, and the various computing systems that perform them, find a place under the umbrella of generic computation, explicated along the lines of the mechanistic account.

As a consequence, our discussion of neural computation need not be limited to whether it is “classical” or “connectionist,” or perhaps analog. FWIW, I have argued that “connectionism” is on the way out to be replaced by computational neuroscience, and (with co-author Sonya Bahar) that neural computation is sui generis (neither digital nor analog, in the general case).  The ability to construct such an argument is one of the payoffs of the mechanistic account of computation.