« Women in physics.... | Gene Expression Front Page | Say CHEEEEESE! »
February 22, 2005

Modules of my Mind

Quite a lot of discussion on Gene Expression has revolved around the modular nature of the human brain. Now, I know very little about neurology, but I do have extensive experience with at least one data point, and I do know something about modules: they feature prominently in my profession. So I would like to attempt to put my knowledge of the subject on line and see if anything more general can be learned from it.

I earn my living designing software systems, and I work with the concept of a module every day. In fact, I think of systems as being composed of only two things: modules and architecture. The perfect module is what we in the industry call a "black box" - one which is so completely defined by its interfaces that its inner workings need not be known. This is not as clean a definition as it may, at first, appear: interfaces can be very complex. At the extreme, a module's behavior can be so complex that nothing less than publishing its source code will describe its behavior. On the other hand, a well designed system will have modules as close as possible to black boxes, meaning that all interdependencies between modules will occur at the interface level. (When modules influence each other not at the level of interface, this is called a "side effect".)

Architecture, on the other hand, is the environment in which these modules "live" and interact with each other. For example, the steering wheel of a car is a module: it can be replaced with, say, levers without changing any other parts. Gasoline, on the other hand, is an architectural feature: replace it with diesel or, even worse, electricity, and the car will have to be completely redesigned. Sometimes an architectural feature can be expressed as a module: IANA and DNS, for example, can be easily described by interfaces, like modules, but without them the Internet would cease to function. These kind of modules are often called low-level modules or resources - i.e. modules that are primarily (or solely) used by other modules.

Okay, that was a pretty boring introduction, but I am a great believer in the maxim: “The beginning of wisdom is the definition of terms” - so I felt I had to get it out of the way. Now (...since I no nothing about neurology), I would like to define my mental modules on a purely functional basis: a module is something I do (correctly) without "thinking" i.e. without being conscious of thought. Language, of course, is the most obvious mental module: I produce grammatical sentences in my native language without thinking (of the grammar), and I can tell when a sentence is ungrammatical instantaneously, without necessarily being able to say why - i.e. I first know that the sentence is ungrammatical, I then have to go back figure out why. In fact, I first started thinking about modules of my mind because of a dramatic event in my life: I suddenly, after years of trying, found myself able to speak a foreign language.

What happened? One day I was painfully parsing sentences and figuring out what they meant. The next day I was just listening and understanding. I had the same amount of knowledge of grammar and vocabulary - obviously that didn't change overnight. On thinking about it, I realized that though this experience was particularly dramatic, it was by no means unique. I have a vivid memory from about the age of 5 or 6 of suddenly being able to ride a bicycle. Again, one moment I couldn't do it, the next moment I could, and I've been riding ever since. Later on something similar happened with symbolic logic: I spent most of a semester looking at proofs, understanding every step, yet having no idea how they got from here to there, i.e. how they chose which steps to take. Then one day, I knew instinctively what to do.

On further reflection, I realized that what I experience as "thought" is really only a tiny proportion of what I do that might, in some other person/organism/world be called thinking. Balancing, seeing, hearing - anyone who has tried to program a computer to do these things knows how difficult it is (in fact, it's impossible at the current state of the art) to even come close to what humans do automatically, without "thinking". It reminds me of a story from the early days of personal computing. At the height of the "database wars" between Dbase and FoxBase, Dbase claimed to be faster because it was written in assembly language, while FoxBase was written in a high-level language (C). It turned out, upon testing, that FoxBase was, in fact, faster. One commentator (I forget which) wrote something like: "The Dbase people should learn something about the importance of algorithms". In other words, although something written in assembly language is theoretically faster, since compiled code is visibly full of inefficiencies (especially considering the compliers of the day) the performance hit of high-level languages is more than made up for by their contribution to the efficiency of the human mind, and its consequent enhanced ability to create efficient algorithms. The moral of the story: For most tasks, it's most important to enhance the efficiency of the human mind.

Now, let's look at some consequences of my particular definition of modularity as it relates to the human mind.

1. I don't see any difference between the language module, the sight module, and the bicycle-riding module - i.e. new modules can be added ad hoc. (This does not rule out the possibility that some modules are supported by "hardware", only that there are clearly "software" modules as well.)

2. General Intelligence is either a characteristic of one or more low-level modules or an architectural feature (such as dendrite growth).

3. The ability to perform a task well is often critically dependent on the development of relevant modules.

I particularly want to relate to points (1) and (3) with respect to education. Not long ago, a GNXP post asked: "What kinds of activities can be done to enhance cognition and memory beyond nutritional interventions?" I would like to answer a similar question: I think that more education should be devoted specifically toward equipping people with mental modules that are useful in our society. Some of these modules can be called, "skills" - and there is a recognition of the importance of teaching skills. (Though I can think of at least one skill that every elementary-school graduate would benefit from in this day and age: typing.) But I'm sure there are other modules, not usually recognized as skills, that would help with many cognitive tasks, which we could seek to develop explicitly. Here's one: Math. I remember kids in school people complaining of "math block" - at the time I thought they were just making up excuses, but now, after my experience with learning a foreign language, I believe them. I am fairly good at math, and when I see an equation, I don't just see it as a collection of symbols - it "speaks" to me. One glance and I say, for example, "that's a parabola" and in my mind's eye I see a picture of a parabola. I bet that most people can't do this, but perhaps with a little directed training, they could.

(Cross posted at Rishon Rishon.)

Posted by David Boxenhorn at 10:53 AM