12th February 2021
Brains are nothing like computers, but the way we go about understanding the designs of complex computing systems can teach us how to understand brains
Brains are nothing like computers, but the way we go about understanding the designs of complex computing systems can teach us how to understand brains
Brains are nothing like computers, but both types of systems use billions of components to carry out complex combinations of behaviours. A personal computer can have well over 100 billion transistors and other components. Computer systems that provide control features to the internet - like a root name server - can have trillions of transistors. The remarkable thing is.....human beings can design systems with this number of components. The operation of even a simple feature of such a system may involve huge numbers of transistors. But evidently....the design of a feature does not involve an engineer simultaneously imagining the ongoing activity of all the individual transistors that could contribute.
The human brain has close to 100 billion neurons that are the information processing resources supporting cognition. How can we think about systems like computers or brains when they have so many components contributing to their behaviours?
WHY MATHEMATICS IS NOT THE WAY TO UNDERSTAND COMPUTER DESIGNS
There is a big difference between designing a computer system and solving a problem in physics. Physics can model systems that change over time with incredible accuracy. The tool for this modelling is differential equations.....Schrodinger's equation in quantum mechanics, the geodesic equations in general relativity, the Navier-Stokes equation governing the flow of fluids.....
But use of these equations for systems with huge numbers of components depends on a critical approximation......for the purpose of determining system behaviour it must be possible to regard all the components as identical, or perhaps there can be just two or three different types of component.
This is radically different from the situation in a computer. There is quite a lot of physical similarity between different transistors. But each transistor is connected with a small group of other transistors, and the group is different for each transistor. Most important......it is the precise definition of this unique connectivity that determines whether the system will work or not. If one connection in an integrated circuit is incorrect, the system will fail. So transistors cannot be regarded as identical for the purposes of understanding the operation of features.....and differential equations are never used to design such features.
SO HOW DO WE UNDERSTAND COMPUTERS?
To design a computing system requires a much more sophisticated use of approximation. Systems are divided up into a small number of modules like CPU, RAM, monitor interface, keyboard interface, wireless interface etc. These modules are generally printed circuit assemblies inside the computer. The end to end operation of a feature can be described in terms of the interactions between these modules, and the information content of the description is limited..... so a human being can follow it.
However, such a description is approximate. To make it more precise, it is necessary to think about the interactions within these modules.....between the submodules of each module, like the integrated circuits. Such a description is more accurate, but involves a lot more information. So a designer could not think about the end to end operation of a feature at this level of detail, but can think about a small part of the operation of the feature. But even this level of description is still approximate, and to get even more accuracy is is necessary to shift to a description in terms of the submodules of the integrated circuits.....different sections in its layout. A designer can only think about an even smaller part of feature operation at this level. For yet more accuracy....you need a description in terms of cells within sections. More accuracy still requires descriptions in terms of even smaller units like logic gates within cells. For very precise descriptions it is necessary to think about the interactions between individual transistors within a logic gate, and beyond that...thinking about individual transistors in terms of quantum mechanics may be needed. For a designer to understand how some detailed parts work together, it is always necessary to think about those parts on the next higher level of description.
The human brain has close to 100 billion neurons that are the information processing resources supporting cognition. How can we think about systems like computers or brains when they have so many components contributing to their behaviours?
WHY MATHEMATICS IS NOT THE WAY TO UNDERSTAND COMPUTER DESIGNS
There is a big difference between designing a computer system and solving a problem in physics. Physics can model systems that change over time with incredible accuracy. The tool for this modelling is differential equations.....Schrodinger's equation in quantum mechanics, the geodesic equations in general relativity, the Navier-Stokes equation governing the flow of fluids.....
But use of these equations for systems with huge numbers of components depends on a critical approximation......for the purpose of determining system behaviour it must be possible to regard all the components as identical, or perhaps there can be just two or three different types of component.
This is radically different from the situation in a computer. There is quite a lot of physical similarity between different transistors. But each transistor is connected with a small group of other transistors, and the group is different for each transistor. Most important......it is the precise definition of this unique connectivity that determines whether the system will work or not. If one connection in an integrated circuit is incorrect, the system will fail. So transistors cannot be regarded as identical for the purposes of understanding the operation of features.....and differential equations are never used to design such features.
SO HOW DO WE UNDERSTAND COMPUTERS?
To design a computing system requires a much more sophisticated use of approximation. Systems are divided up into a small number of modules like CPU, RAM, monitor interface, keyboard interface, wireless interface etc. These modules are generally printed circuit assemblies inside the computer. The end to end operation of a feature can be described in terms of the interactions between these modules, and the information content of the description is limited..... so a human being can follow it.
However, such a description is approximate. To make it more precise, it is necessary to think about the interactions within these modules.....between the submodules of each module, like the integrated circuits. Such a description is more accurate, but involves a lot more information. So a designer could not think about the end to end operation of a feature at this level of detail, but can think about a small part of the operation of the feature. But even this level of description is still approximate, and to get even more accuracy is is necessary to shift to a description in terms of the submodules of the integrated circuits.....different sections in its layout. A designer can only think about an even smaller part of feature operation at this level. For yet more accuracy....you need a description in terms of cells within sections. More accuracy still requires descriptions in terms of even smaller units like logic gates within cells. For very precise descriptions it is necessary to think about the interactions between individual transistors within a logic gate, and beyond that...thinking about individual transistors in terms of quantum mechanics may be needed. For a designer to understand how some detailed parts work together, it is always necessary to think about those parts on the next higher level of description.
So understanding requires what could be called a hierarchy of descriptions. The system behaviour can described on many different levels of detail. The higher level descriptions have lower information content, but are approximate. The more detailed descriptions are more precise, but have much higher information content. Given this hierarchy, the system can be understood for the purposes of designing it or modifying it. Such understanding involves approximate thinking about large chunks of system operation at high level, more accurate thinking about smaller chunks at intermediate levels, and precise thinking about tiny chunks of system operation at very detailed levels. To understand how the detailed chunks fit together, it is necessary to move to a higher level of description. At every level, the information needed to think about a chunk of the system operation is within human mental bandwidth.
HOW DO WE CREATE HIERARCHIES OF DESCRIPTION?
What does it take to create a hierarchy of descriptions like this. There are two key requirements. One is that the hardware must be organized in a hierarchy of modules. All the information processes needed to carry out system features are divided into different groups, and each major hardware module specializes in a different group. Submodules divide each major group into subgroups and so on. Modules on every level have a very specific property: in the course of system processing there is much more information exchanged within a module than between modules on the same level. This information exchange constraint means that descriptions in terms of modules require much less information than descriptions in terms of their submodules. It also means that in general there will be no correspondences between a module on any level and a system feature as perceived by a user. Any module will provide information processes to support almost all features, and any feature will need information processes performed by almost all modules.
There is much more information exchange within a printed circuit assembly than between printed circuit assemblies. There is much more information exchange within an integrated circuit than between two integrated circuits and so on. Hence the modular hierarchy of the hardware in a computer system matches the first requirement for a hierarchy of descriptions.
The second requirement is a bit more subtle. It must be fairly easy to map (or translate) precisely back and forth between descriptions on different levels. Think about how difficult it is to translate between languages. The problem is that a concept in one language may not exactly correspond with any concept in the other language. In some situations, multiple translations are possible, and none of them is really adequate.
To avoid this problem in electronic design, descriptions on every level are expressed using the same two concepts. These concepts are the instruction and the data read/write. At a detailed level, all information processes are instructions or data read/writes. At higher levels, processes are instructions or data read/writes made up of combinations and sequences of more detailed instructions and data read/writes. This consistency makes it straightforward to map between levels.
WHAT HAS THIS GOT TO DO WITH UNDERSTANDING BRAINS?
There are no resemblances between computers and brains, so what has all this got to do with understanding cognition? A human brain has close to 100 billion neurons. Although all these neurons have some similarities......enough that they can all be called neurons.....there are significant differences. In particular, every neuron gets inputs from and makes outputs to a different group of other neurons. And as for a computer system, it is the details of this unique connectivity that determine whether cognitive processes will be successfully completed or not.
The implication is that mathematical approaches to understanding the brain are inappropriate, and the only way to understand higher cognition in terms of brain processes is the hierarchy of descriptions approach.
The prerequisites for a hierarchy of descriptions are resources organized into a modular hierarchy and a small set of information processes that exist in every level of module. Unlike computers, there are no designers for the brain. So why should these prerequisites exist?
Despite the non-existence of any designers, brain resources do appear to be organized into a modular hierarchy analogous with the one that exists in computing systems. In my next blog I will discuss the reasons such a modular hierarchy exists.
HOW DO WE CREATE HIERARCHIES OF DESCRIPTION?
What does it take to create a hierarchy of descriptions like this. There are two key requirements. One is that the hardware must be organized in a hierarchy of modules. All the information processes needed to carry out system features are divided into different groups, and each major hardware module specializes in a different group. Submodules divide each major group into subgroups and so on. Modules on every level have a very specific property: in the course of system processing there is much more information exchanged within a module than between modules on the same level. This information exchange constraint means that descriptions in terms of modules require much less information than descriptions in terms of their submodules. It also means that in general there will be no correspondences between a module on any level and a system feature as perceived by a user. Any module will provide information processes to support almost all features, and any feature will need information processes performed by almost all modules.
There is much more information exchange within a printed circuit assembly than between printed circuit assemblies. There is much more information exchange within an integrated circuit than between two integrated circuits and so on. Hence the modular hierarchy of the hardware in a computer system matches the first requirement for a hierarchy of descriptions.
The second requirement is a bit more subtle. It must be fairly easy to map (or translate) precisely back and forth between descriptions on different levels. Think about how difficult it is to translate between languages. The problem is that a concept in one language may not exactly correspond with any concept in the other language. In some situations, multiple translations are possible, and none of them is really adequate.
To avoid this problem in electronic design, descriptions on every level are expressed using the same two concepts. These concepts are the instruction and the data read/write. At a detailed level, all information processes are instructions or data read/writes. At higher levels, processes are instructions or data read/writes made up of combinations and sequences of more detailed instructions and data read/writes. This consistency makes it straightforward to map between levels.
WHAT HAS THIS GOT TO DO WITH UNDERSTANDING BRAINS?
There are no resemblances between computers and brains, so what has all this got to do with understanding cognition? A human brain has close to 100 billion neurons. Although all these neurons have some similarities......enough that they can all be called neurons.....there are significant differences. In particular, every neuron gets inputs from and makes outputs to a different group of other neurons. And as for a computer system, it is the details of this unique connectivity that determine whether cognitive processes will be successfully completed or not.
The implication is that mathematical approaches to understanding the brain are inappropriate, and the only way to understand higher cognition in terms of brain processes is the hierarchy of descriptions approach.
The prerequisites for a hierarchy of descriptions are resources organized into a modular hierarchy and a small set of information processes that exist in every level of module. Unlike computers, there are no designers for the brain. So why should these prerequisites exist?
Despite the non-existence of any designers, brain resources do appear to be organized into a modular hierarchy analogous with the one that exists in computing systems. In my next blog I will discuss the reasons such a modular hierarchy exists.