Are Brains Programmable?
To say that the brain is programmable means that there are elements (e.g., synaptic weights), playing the role of programs, that can be modified arbitrarily in view of some goal. But what does it mean that these can be modified “arbitrarily”? Who or what modifies those weights?
One might say that evolution modifies those weights, that is, the brain is a computer programmed by evolution—perhaps as it concerns so-called instincts. This claim raises two issues. First, as we have seen in Chapter 2, evolution does not modify synaptic weights directly, because synaptic weights are not “encoded” in the genome. There is no map of the brain in the genome, even at the coarser level of brain areas. The genome specifies proteins and constrains developmental processes. Second, to program is to lay out a set of instructions in view of a goal. The view that evolution is a case of programming is therefore intelligent design, not Darwinism. Evolution is not literally a case of programming but rather the natural selection of random structural changes, which are generally nonspecific (not “add a synaptic connection between these two neurons” but perhaps changes that induce growing a bigger brain, inducing particular folds). It is therefore highly misleading to claim that the brain is a computer programmed by evolution.
Another view is that the brain is a “self-programmed” computer. If this claim refers to synaptic plasticity, then the modifications are not arbitrary either, but are governed by some particular processes. It is not the case that a cat can “self-program” itself into playing chess. Synaptic plasticity is not a case of programming either.
On the Universality of Neural Network Models
One reason behind the misconception that brains are programmable is that models of the nervous system can be rearranged to implement many different things. One of the founding results of computational neuroscience is the demonstration by McCulloch and Pitts that a binary neural network model can implement any logical function: The connection weights between formal neurons can be chosen such that the input-output mapping implemented by the model matches any specified logical function. But of course, the network can implement any logical function if one modifies the parameters of the network. Thus, the universality of these networks relies on a distinction between parameters and dynamical variables of the model.
But the concept of parameter is a very peculiar one: A parameter is a quantity that can change, since it can be modified, so what is the difference with a dynamical variable? The answer is that the difference is drawn by the modeler. Here, the dynamical variables are the activation values of the binary neurons, while the parameters are those variables that are fixed during the execution of the model, but that can be modified by the modeler. This is again a dualistic distinction, and this distinction does not exist in the brain: the “synaptic weights” are not parameters, but also dynamical variables.
The distinction between a dynamical variable and an arbitrarily modifiable parameter is a distinction between two sources of change of a very different nature: on one hand, the process under study whose variables undergo lawful changes; on the other hand, an entity that modifies parameters in a way that is neither lawful nor random, but arbitrary. The former is the computer and the dynamical variables are the computational states; the latter is the user and the parameters are the program.
Concretely, what it means for some system to be programmable is that there is a way by which a user can provide instructions to that system, such that the system behaves in a certain way. This should be rather obvious, for a disorganized pile of transistors “can” also implement any computable function if the transistors are wired appropriately, just as the formal networks of McCulloch and Pitts, and yet, a disorganized pile of transistors is not a computer. The universality of neural network models does not turn the brain into a computer any more than it turns a pile of transistors into a computer.
Therefore, neither the brain nor a person can possibly be a computer in any literal sense, because they are not programmable. This is why discussions of computationalism generally focus on whether the brain computes, rather than on whether it is a computer. Even David Marr, a pioneer of computational neuroscience, did not insist that the brain is a computer: “In a sense, of course, the brain is a computer, but to say this without qualification is misleading.” Instead, he proposed to see the brain as an “information-processing” device, something that computes many things. We will now look at what it means for something to compute. What is a program, an algorithm or a computation?
Excerpted from “The Brain, In Theory,” by Romain Brette. Reprinted with permission from Princeton University Press. Copyright 2026.
