I work in the philosophy of psychology and I’m generally interested in the mind. Lots of philosophy and lots of psychology make foundational assumptions about certain aspects of the mind. (Indeed, it needs to in order to get anything done in a reasonable word limit.) Given I work in areas that make certain assumptions, it seems wise to consider these foundational assumptions to make sure we’re really working in the right paradigm. I’ve been doing some casual reading on the subject of this post, where the issue I want to talk about today is about the claim that the mind performs computations. That is, the brain is a computer and the cognitive processes that occur inside your brain are computations of a kind. This is the view upon which, generally but with exceptions, cognitive science is grounded. When psychology, neuroscience, philosophy, linguistics, etc. come together under the banner of cognitive science, the starting assumption is that the mind performs computations. This gives everyone working in the area a way to communicate across disciplines. (Though there is some debate over whether this counts as a metaphor or a literal description. I am referring to the latter in this post, as that is the more interesting claim). Regarding the main claim, I am a cognitivist; that is, I believe that the founding tenets of cognitive science are sound. As such, I am a computationalist about the mind, or you might say that I subscribe to the computational theory of mind (CTM).
Whilst this view seems to be taken for granted in the cognitive sciences, it is much more controversial in philosophy. Curiously, it seems controversial to people who don’t seem to know much about what options there are for how the mind works. Anecdotally in my experience, and the experience of some friends at other institutions, mentioning the computational theory of mind elicits scepticism and snobbery. “Computational theory of mind? I didn’t think anyone believed that anymore.” I am not quite sure why this seems to be a common sentiment, especially among researchers who don’t work in the cognitive sciences. In this post I want to give a little bit of description as to what the claim actually means, based on some limited reading I’ve been doing on the subject, intending to brush aside what I suspect are misconceptions people have; I’ll also say a little bit about the plausibility of alternative views. (Spoiler, I don’t think that there are any serious contenders that challenge CTM, but that doesn’t mean that the view doesn’t have its own problems). As such, this post is primarily aimed at people who don’t work on or know much about CTM and so rely on either popular opinion about it or intuitions about the nature of computation – though I am not an expert in this subject area so consider that anything I may have missed some crucial aspect of the literature. I also intend to avoid references where possible because I don’t want this to be a serious academic endeavour – it’s meant to be conversational and I want to share my view without it feeling like work…
So, what is computation? What does it mean to say that the mind is performing computations in a literal sense? This is where I think the first misconception comes in. When you think of the brain as a computer, and the mind as running programs, people tend to think about computers as they know them. For example, you might think about how limited a modern computer seems compared to the mind. Computers just follow rules; they need to be programmed and seem rigid in their input/output processes in a way that doesn’t seem as fluid as thought. Computers work on binary and maths and it might seem implausible that brains might be maths machines given how difficult maths can be for us. However, I think these kinds of intuitions rest on misconceptions about the depth of computing power and the ways in which computations can be instantiated.
The nature of computation, that students of theoretical computer science will study, is not about programs, maths and binaries. At its core, computation is about symbol manipulation, where these symbols represent information. Binary, then, is symbol manipulation where the bits, the 1s and 0s, represent certain information when they occur in certain patterns. The claim, then, is that the mind manipulates certain symbols that can or do represent information. That our minds can represent content is not as controversial a claim as the claim that our minds are computational. It seems that when you think of the pink elephant, you are representing the pink elephant in your mind. When you see colours out in the world, it seems as if those colours are being represented to you. So, the claim that computationists make is that the stuff that gets represented in your brain is managed and constructed through symbolic representation and manipulation. This kind of symbolic representation is combinatorial in nature, such that symbols and representations can be combined to represent infinitely. We seem to think that our imaginative capacities are limitless, so symbol manipulation in a combinatorial manner accounts for this.
Of course, the next question is about the nature of the symbol manipulation. A thought that people voice commonly in my experience is that computation is far too simple an explanation for how the mind works. The brain is the most complex thing we know, more complex than the movements of galaxies. How can that, and the infinite variety of human existence, be captured by the same thing that Microsoft Word runs on? This too relies on a misconception about the nature of computational architecture. The possibilities for symbol manipulations are as wide in scope as they are in depth. I’ll talk about a couple of simple concepts here to get the point across.
Take the notion of ‘control’. Imagine control to be like your viewpoint when reading a book. The control, the focus, is with each word you read at a time. A simple program that runs sub-routines uses control in the following manner. The current program has ‘control’ of the process. It performs the required symbol manipulation, then the next programmed manipulation etc. as with your reading of each word in the book. When the program gets a certain input, or a certain output, it passes control to a sub-routine, which performs a different manipulation, running its own program. When this process has finished, it passes control back to the main program and that program continues to run in a serial manner. For example, if there is a footnote in the book you’re reading, you might move your focus away from the main text and to the content of the footnote, which you will read and interpret. Then you will move back to the main text. However, there are many different types of control architecture. The program could be set up so that the control is not passed back to the program, but given to different sub-routines dependent on the inputs and outputs. (perhaps the footnote instructs you to turn the page instead of return to the original page immediately.) Or, there could be an architecture where control is split between several different processes, working in parallel instead of serially. This would be akin to reading several words at once. This is difficult to imagine, and demonstrates where our intuitions start break down. Another example: the result of a sub-routine could be broadcast into a space where all other programs can read it, and control is picked up by whichever one is relevant for the next computation. This might be akin to a group project: One person completes their part of the project and posts the results in a group chat. The person who’s work it would be most sensible to do next takes the project and continues to work on it. So, thinking about control using these examples, I’m trying to give a simple example that demonstrates that in one small part of theoretical computer science, computation has much more depth that we might ordinarily think about.
Another thing we might think about when wondering about the nature of computation as symbol manipulation is about the relation between, in layman’s terms, the ‘software’ and ‘hardware’, between the programs and the things that run the programs. Modern computers can run many types of programs written in many types of programming languages. But, they cannot run all types of programs written in any type of programming language. This is due to both technological limitations in the hardware and the way the hardware is constructed. For example, if we take the architecture of a standard computer, what we call a ‘von Neumann’ architecture. The architecture of any von Neumann computer is constructed in such a way that there are implicit rules built into the system. The ‘register architecture’ of the von Neumann system manipulates the symbols by storing the symbols in the memory, then looking up their location, performing manipulations, then putting them back in the memory. As such, the way in the which the architecture is constructed is in a manner which coheres to rules about location, space, retrieval, and storage. As such, the register architecture can directly apply some algorithm which includes as its process looking for the symbol, retrieving it, manipulating it, and putting it back. Those rules don’t need to be programmed into the system, but their existence as part of the architecture sets specific constraints on what kinds of programs could be run. For example, suppose we build implicit rules of arithmetic into a von Neumann architecture (the rules of addition, subtraction etc.). The symbols in their locations of storage can then be assigned numbers, so that in processing the lookup request of a specific symbol, the system can search by the number according to an ordering specified by the implicit arithmetic rules. Specifically, if the number is 5000, then the system doesn’t have to look through all the memory sequentially. It can start with the block of memory that is, for example, labelled 4500-5500 and narrow it down from there. Now, let’s compare this architecture to the classic theoretical computational architecture of the Turing machine. The Turing machine has an infinite amount of tape, where there are squares with symbols of information that are manipulated according to a table of instructions, as the tape moves along and the machine reads each square on the tape. As the tape is infinite, you can use the tape to run infinitely complex programs according to the table of instructions, but you can also use the tape to define a differing table of instructions and conditions on when the manipulations are to be treated according to the main table or the new table. As such, you can run sub-routines, or even full programs within programs. Using this infinite complexity, you can define the table of instructions applicable to a von Neumann architecture, then you can run the same algorithm (of looking for a particular symbol) as you could in the computer which is constructed on von Neumann principles. However, The Turing architecture is not implicitly constructed to accept arithmetic principles, so it cannot look for symbol 5000 in the same way that the von Neumann machine can. Despite the infinite processing power of the Turing architecture, this merely runs an emulation of the von Neumann architecture. It cannot perform precisely the same process, that of first looking in the 4500-5500 memory and narrowing it down, because the computational architecture is not based on numbers – it can’t order the symbols according to numbers and hence can’t start by looking at 4500-5500 and narrow down – it would have to look through all the symbols. So, a computer with infinite processing power can only emulate this specific task that a von Neumann can do. Imagine, then, a different kind of architecture altogether, one which isn’t theoretical like Turing’s infinite tape machine nor a register system. This architecture might not be capable of running the ‘look for symbol 5000 instruction’ at all, if the hardware wasn’t constructed in a way as to contain a registry, or function serially and recursively like a Turing machine.
This is crux of my issue with a common view about minds and computers. We may think that computers are far, far too limited in what they can compute and how they can compute it – how can it be anything like the brain? But, it now becomes obvious that the brain’s ‘hardware’ and its ‘software’ are going to be of a vastly different kind to modern computers, to the extent that they’re not metaphors or even similes. Computation can be of a depth and breadth far beyond modern computers, and the way computers are architecturally constructed defines what sorts of programs can even run on them. It is clear that the mind does not run on a von Neumann architecture, and so it is clearly nothing like our serial processing register architecture computers. However, that does not mean that it is not computing. It is likely that the ‘hardware’ and ‘software’ are going to be unique and incredibly complicated, but as long as they are manipulating symbols that represent information, then they are computing and ascertaining the nature of the software or hardware is an empirical task.
Ok, so I’ve gone through a little of what it means to claim that the mind performs computations, so now let’s look at a couple of popular critiques, before I move to briefly mention some alterative theories. This is not going to be an exhaustive philosophical defence, though, it’s intended to make plausible the thought that current objections aren’t considering what is actually meant by computation. To this end, we should keep in mind that computation simply means symbol manipulation where the symbols represent information.
What I perceive to be the most popular objection to computationalism about the mind is the Chinese Room experiment by John Searle. The thought experiment goes like this: imagine a man is in a room and the only communication he has is that a piece of paper is slid under the door which contains a string of symbols. The man then looks at the string of symbols, looks up the string of symbols in a big book of symbol rules that he has in the room and writes a response using the symbols and the book. E.g. ‘if this symbol appears, respond with this one. But if this one also appears, respond with this one’ etc. Now, let’s imagine that the symbols are actually Chinese. Therefore, anyone outside the room can write a sentence in Chinese and receive an appropriate response in Chinese. The main point of the thought experiment is to claim that the man inside the room does not understand Chinese. Therefore, if the mind is supposed to be symbol manipulation, how can such a system ever know anything, ever understand anything in the way humans can?
I’m not quite sure why Searle’s argument has gained the popularity it has. It seems to me that firstly, the description of the man in the room is at best a misrepresentation and at worst a complete strawman of the computationalist’s position. This is because at the very least, this example represents a simple Turing machine with a sequential processing method that passes control sequentially. As we have seen, there are different methods for control architecture, and there are different methods than sequential programming, like in parallel processing with split control for example. This example therefore pumps inaccurate intuitions about the possible nature of symbol manipulation. However, the oversimplification isn’t so much the problem as the level of description that the main claim is taken to make at the end. The computationalist does not claim that any particular program has understanding, has any kind of intentionality. However, if asked whether the room as a whole, containing the man, the book, the man’s actions etc…then it seems much more reasonable to say that yes, the room understands Chinese, as a person can understand Chinese but particular patterns of neurons cannot.
Searle makes a second criticism against CTM, one of triviality. Searle suggests that even a wall can be implementing a program, in the sense that we can observe the vibration of the molecules and establish a pattern amongst a number of them that corresponds to the structure of some computer program. Therefore, to say the mind computes won’t actually explain anything, as anything can technically compute. We can answer the objection, though, by referring to the more in-detail claims of computationalists. A computationalist might respond “sure! The wall computes this particular program. However, the way the wall is constructed, out of molecules that vibrate, is going to severely limit the kinds of algorithms that can be computed by this architecture, hence the kinds of programs that can run on it, much like the noted distinction between von Neumann and Turing machine architectures. Computation is not trivial then, for it is limited and differentiated by the nature of the physical construction, by the physical processes that can implement a program.
There are of course other criticisms made against CTM, but I don’t really want to make this post too long. Besides, I would categorise them as being generally respondable along the lines of “but computation can do that”. For example, there have been those that argue that computational theories of mind don’t consider the important time considerations, the temporal considerations, of thought. Thinking happens continuously in real time and the nature of computation doesn’t expressly talk about how long it takes to perform certain tasks – therefore we should create architectures of the mind that discuss time explicitly. For me, this just seems like inventing the solution to a problem that doesn’t exist. I don’t see why time can’t be incorporated into computational models. Surely, we can describe how long discreet processing tasks take and define the parameters for adjustments of time. When it comes to how thinking appears to be continuous, that just assumes that our conscious experience of cognition is accurate of all the cognition in our minds, which I think is highly implausible. Another criticism made of CTM, and one which takes us into looking at alternative theories to CTM, is that of Embodied Cognition.
So, the thought with embodied cognition is that a lot of talk about the mind doesn’t really consider the nature of our actual experience, where we experience ourselves as minded beings inhabiting bodies that act in space. As such, CTM with its focus on manipulating symbols doesn’t consider the relation between cognition and bodies and action. Embodied theories purport to provide an alternative that reflects the dynamicity of human interaction with the world. Whilst it’s true that lots of science and philosophy of mind seems to divorce cognition from our bodies, that doesn’t mean that manipulating symbols that represent content can’t account for embodiment or action in our environments. The inputs and outputs of symbol manipulations can be sensory or motor, and the content of the representation of the symbols need not be solely concerned with the mind, divorced from body or environment. Further, the supposed dynamicity of these interactions could be instantiated in a kind of cognitive architecture that allows for such communication of information – it doesn’t have to be von Neumann. As such, it’s not clear to what extent embodied cognition is an alternative to CTM as much as a note for consideration about what the hardware and software is going to turn out to be like.
Another alternative to CTM is what is known as Connectionism. The thought is, and I am grossly simplifying it here, that we can describe how the minds works by reference to networks of connections between units. The network functions continuously and in parallel and the particular weight of connections can be adjusted to represent knowledge and learning, where patterns of activation of units in the networks constitutes representation of information. As an analogy, imagine that a particular pattern of neural activity represented some mental content as opposed to a symbol representing some content as in CTM. This all sounds very plausible, as patterns of activity representing information provides a fun answer for the problem of accounting for where representations are in the head (we can’t just point to a neuron and go “this one represents my breakfast!”) I was very interested in connectionism a few years ago when I first heard about it, but I now think there are two flaws which really disqualify connectionism as being an alternative to CTM. Firstly, we can once again ask: why couldn’t a connectionist network simply be an instantiation of some kind of computation? After all, connectionist networks are modelled in cognitive psychology by being programmed into von Neumann computers. Secondly, despite the representation ‘solution’, connectionism doesn’t seem to intend itself as a literal description of what happens in the mind, but rather as a metaphor to how processing could happen in a non-computational manner. As such, it’s unclear to me how it offers better evidence of how the mind works than the CTM does, which purports to provide a non-metaphorical explanation of what’s going on.
Finally, I want to talk about what I see as an actual major challenge for CTM, though I also think it is a major challenge for any account of how the mind functions. This challenge relates to mental content. I’ve been describing representations in the brain that represent certain mental content, certain information. But we may wonder how it is that minds represent anything at all. How can biological matter contain content like language, how can certain symbols mean anything at all? This is much closer to classical problems of the mind and a challenge that any account, including the CTM, will eventually have to answer. That said, it is a problem that there is likely a solution to. After all, if it is the case that our minds generate representations which contain mental content, and if it is the case that the mind performs computations, then there will be an answer to this question – it won’t be a great mystery forever. Cognitive science has shown much empirical success when treating the mind as a computer. I find it unlikely that its inability to answer the problem of mental content right now is reason enough to dismiss the whole account, though we should be actively looking for a answer.
Ok, so in this post I wanted to talk a little bit about what it means for the brain to be a computer and the mind to perform computations, because this constitutes assumptions that ground a lot of the material I work on. Further, I’m not convinced that everyone understands CTM in the depth that is required to accept it. Hopefully you can see that this theory is much more robust than a mere comparison to modern computers. I haven’t provided any kind of real philosophical defence against the critiques and alternative accounts, but hopefully the little that I have said has given people reason to pause and revaluate when someone says “Computational theory of mind? I didn’t think anyone believed that anymore.”