Sometimes people object when I describe the human brain as a computer. The most common objections are things like:
- Computers are made by humans whereas brains are biological
- Computers are made out of silicon and our brains are made of cells
- Computers have addressable memory whereas our brains have neural networks
- Computers don't have emotions whereas we do
- Computers are mechanical whereas we have flexibility and free will
Some of the disagreement is simply arguing over definitions. If someone is using the word 'computer' to refer solely to devices made out of silicon designed by humans then of course they're not going to agree that human brains are computers. So let me short circuit some of the disagreement by making the following stipulative definition of 'computer':
A computer is a device that transforms input into useful output.
If we substitute in my definition, we can rephrase the question in the title of this post as "Is the human brain a device that transforms input into useful output?"
Using this definition, there doesn't seem to be much room for disagreement. The human brain takes input from the senses, and from internally stored information (for example memories), and transforms that input into useful behaviours.
If it really is fair to see the human brain as a computer, that suggests that we should be able to use much of the content of computer science to characterise and analyse the workings of the brain. We might expect to find some or all of the following concepts usefully applicable:
- Variables
- Subroutines
- Data encoding
- Memory storage and retrieval
- Lookup tables
- Ranking and sorting (eg in action prioritization subroutines)
- Daemon processes (processes with their own largely separate cause and effect chains)
- Concurrency
- Testing
- Bugs and debugging
- Caching
- Mechanisms optimised for speed or low resource usage or for accuracy
- Subsystems
and many others.
Please post any comments on the forum