WHAT COGNITIVE SCIENCE HAS FORGOTTEN ABOUT COMPUTATION
Corey J Maley
What is computation? What does it mean for a physical system to compute? What could it mean for a natural system, like the brain, to compute—a claim made by many contemporary neuroscientists.
Answers to these questions are almost exclusively informed by our knowledge of digital computation. This is no surprise: for most people, computation just is digital computation—there are no alternatives to the digital paradigm. However, there is an alternative: the analogue paradigm of computation. Understanding analogue computation alongside digital computation is crucial to developing a robust, general account of computation. By taking ‘digital’ to be the sole computational type—which is largely what has been done thus far—we risk taking features that are specific only to digital computation to be necessary for all types of computation. In other words, with two different types of computation to guide our theorizing, we can determine what computation must be in the most general sense, such that ‘analogue’ and ‘digital’ computation are species of that general type. Moreover, having more than just one type of computation at hand is useful for understanding computation in the brain. In fact, it seems likely that neural computation just is analogue computation; thus, a robust understanding of analogue computation enables us to revitalize the claim that the brain literally computes.
Unfortunately, what little is thought to be known about the analogue paradigm is often both factually inaccurate and theoretically misguided. My article is an attempt to correct some of these misunderstandings.
Perhaps the biggest misconception about analogue computation is that it is defined purely in opposition to digital computation. According to the usual way of understanding the so-called analogue–digital distinction, ‘analogue’ is synonymous with ‘continuous’ and ‘digital’ is synonymous with ‘discrete’. Accordingly, digital computers use discrete values and analogue computers use continuous ones. End of story.
However, philosophical considerations, as well as the actual history of analogue computation, show that this isn’t quite right. While it’s true that analogue computers often use continuous values, sometimes they do not. Sometimes analogue computers use discrete values and when they do, they do not (and they did not) suddenly become digital computers. Digital computation and analogue computation—even when discrete—are two separate types of computation, invented at different times for different machines. How do we make sense of this?
I find it useful to start with the conceptual development of computing machines. On one hand, we have digital machines, whose theoretical starting point is Turing’s ([1939]) work on computable numbers. Turing’s a-machines (or what we now call Turing machines) were mathematical models of some of the work done by human computers: people (mostly women) who solved mathematical problems by algorithmic means, similar to the way we might perform long-division by hand. On the other hand, we have analogue machines, which solved mathematical problems in very different ways and were not modelled on what humans do at all. What unites both kinds of computation is that numbers (or numerical quantities) are represented in some way or another, then manipulated in ways that correspond to the solving of a mathematical problem. What separates the two types of computation from one another is the way that these numbers are represented (which then constrains the ways that they can be manipulated). We can illustrate this difference by thinking about thermometers.
Consider a digital thermometer displaying a temperature of, say, twenty-nine degrees. Using standard Arabic numerals, the display will consist of two digits: a two and a nine. By convention, we know that a two followed by a nine is a representation of the number twenty-nine: there is a two in the tens place, for twenty, which is added to the nine in the ones place, for a total of twenty-nine. This is the essence of digital representation: we represent numbers via their digits, which is just an ordered string of individual numerals.
Now consider an analogue thermometer, such as a mercury or alcohol thermometer, again displaying twenty-nine degrees. The display will consist of a column of liquid with reference marks of some kind; let’s say that every centimetre is one degree. Here, the height of the column of liquid is a representation of twenty-nine degrees. Rather than represent a number by its digits, in this case we represent a number by its magnitude, using some physical quantity. This is the essence of analogue representation. As Christopher Peacocke ([2019]) puts it, ‘analogue representation is representation of magnitudes, by magnitudes’.
Once we understand analogue representation, we can understand analogue computation as computation involving analogue representation (whereas digital computation is computation involving digital representation). There were three main types of analogue computers. First, there were mechanical analogue computers that determined the answers to complex mathematical problems using rotating cams, ball bearings, and rather ingenious mechanisms. Variables were represented by certain physical magnitudes of some of these elements: sometimes the rotation of a particular cam or the displacement angle of an armature. Next, there were electromechanical analogue computers, which also used moving parts, but in conjunction with some electronic parts. Thus, a variable might be represented by the voltage level of some circuit element, but the circuit itself might be physically implemented by a rotating cylinder. Finally, electronic analogue computers represented and manipulated variables wholly via electronic circuitry. Given that contemporary digital computers are also electronic, it is particularly instructive to compare how such different computational types (that is, analogue and digital) use similar technology.
Consider how we would represent the number twenty-nine in a digital computer (I will use English words here in order to avoid confusing reference to the example and how it is actually represented in the computer). Virtually all digital computers use binary representations; the number twenty-nine would be written in base-2 as 11101. The particular electronic implementation of binary uses the voltage of circuit elements to represent each particular digit: the numeral ‘1’ is often represented as five volts, and the numeral ‘0’ is often represented as zero volts. Thus, to represent twenty-nine, we would need a series of five individual voltages: the first three would be at five volts, the next one at zero volts, and the last one at five volts.
The analogue case is different and, in a sense, much simpler. To represent twenty-nine, we do not represent its digits at all; we represent its magnitude. Thus, the value twenty-nine is represented in a single circuit element by twenty-nine volts. Moreover, whereas an operation like addition in the digital computer requires adding the numerals, place-by-place (just as children are often taught), for however many digits are in the summands, addition in the analogue computer amounts to simply adding two voltages (Maley [2011]).
When we look carefully at historical analogue computers, we find examples where the magnitudes involved are not continuous—they’re not even close. One example is an electromechanical component that generates a step function. It has rotating hands like a clock that allow a circuit to be open at some points and closed at others. When different voltages are connected at different points as the hands rotate, a step function with values at any point—with true, discontinuous gaps—could be created. Still, this was not a digital component, just because it was discrete: just as in any analogue computer, the number six would be represented by six volts.
Besides helping us to characterize computation beyond the digital paradigm, understanding analogue computation and representation helps make sense of a large part of what seems to be going on in neural computation and representation. As a simple example, one way that many different stimuli are represented is via the firing rate of a particular neuron (or set of neurons). In these cases, the rate at which the neuron fires varies with some magnitude of the stimulus that it’s representing. A neural firing rate might represent the angle of the elbow or the loudness of a sound. In those cases, a higher firing rate represents a greater angle or a louder sound; smaller rates represent smaller angles or quieter sounds. This is a paradigm analogue representation: a magnitude (some magnitude of the stimulus) is being represented by another magnitude (neural firing rate). And this is true regardless of whether firing rates or stimulus magnitudes are continuous or discrete. What matters is the analogue relationship. This paves the way for a revitalization of computationalism about the brain. Instead of thinking of neural computation in terms of digital computation, or Turing machine computation, we should think of it in terms of analogue computation. Not only does this make a new version of computationalism true, it means that the kind of computation that neurons engage in is not ad hoc, but a genuine, well-established (if largely forgotten) form of computation that is ripe for rediscovery and new conceptual and philosophical theorizing.
Listen to the audio essay
FULL ARTICLE
Maley, C. J. [2023]: ‘Analogue Computation and Representation’, British Journal for the Philosophy of Science, 74, doi: 10.1086/715031
Corey J Maley
University of Kansas
cmaley@ku.edu
References
Maley, C. J. [2011]: ‘Analog and Digital, Continuous and Discrete’, Philosophical Studies, 155, pp. 117–31.
Peacocke, C. [2019]: The Primacy of Metaphysics, Oxford: Oxford University Press.
Turing, A. M. [1938]: ‘On Computable Numbers, with an Application to the Entscheidungsproblem: A Correction’, Proceedings of the London Mathematical Society, 2, pp. 230–65.
© The Author (2022)
FULL ARTICLE
Maley, C. J. [2023]: ‘Analogue Computation and Representation’, British Journal for the Philosophy of Science, 74, doi: 10.1086/715031