This is a synopsis of my side of an email dialog with Diomidis Spinellis a while ago, relating to how computer and software structures recapitulate brain functions (and some brain physiology).
Physical versus Conventional Constraints
Physical systems appear to be constrained by the behavior of the material world in which we are working, but with computer systems there is much more conventional (as in “by convention”) behavior. The question is how are these conventions arrived at?
The Evolution of Thought
There is evidence from places like the caves at Lasceaux that the hunter-gatherers of 40,000 years ago did visualize and plan the hunt, and were therefore more successful. However, the Cro Magnon man who painted the hunt scenes was a fairly late evolutionary chap, pretty much where we are now and we have no evidence that Australopithecus did much in the way of meditating.
Our early “advanced” brain functions, on which the later ones were built, were probably related to improving our ability to deal with the world which means through the senses. It’s not a big step to consider the core thinking operations to be sensory metaphors that extend our understanding of the sensed world and our ability to function in it.
[Citation: "Where Mathematics Comes From." George Lakoff, Rafael Nunez Basic Books 2001] .
Our concept of location for instance is primarily a sensory one. We can’t “sense” things which are not close to us, and we can’t easily deal with different things unless they are close together. So it makes sense (no pun) that proximity is one the core building blocks of conscious reasoning. Building on this, we’ve been able to extend the concept of proximity a lot; much of mathematics consists of defining realms (like Riemann space) in which disparate things are somehow linked with things that are “like” (read “near”) them. The mechanisms we use to link things to other things that are not obviously (in a sensory way) “close together”, are themselves extensions of the same sensory metaphor. While we’ve been enormously successful at doing this, I think there is evidence that this approach is breaking down. Perhaps more correctly, we are starting to appreciate the limitations of it as an understanding mechanism. I think the relatively recent realization in physics that systems do not necessarily behave in a way that is empirically predictable from the behavior of their components is a good example.
[Aside: the concept of experienced locality is breaking down in the physical world, with for instance Alain Aspect's experiments that seem to dispute the EPR view of quantum localization]
Thinking is Recursive
We can only think the way we can think, and can only think of things we can think of. So if thinking has limitations that do not allow us to fully understand the limitations of the process of thinking, we are kind of stuck.
It also means that whatever we think of must have some analogue in the brain function (either its programming or its physiology or both) that allows us to think of it. Software, being closer to thought constructs than many things we build share this.
Thought is a Fractal
Some of the best thinking on, well, thinking is leading to thought as a self-replicating fractal pattern, with different “levels” of the pattern representing different levels of through accessibility. The “node” model of thought is almost certainly not correct. If I were to think of a purple cow, there is no intersection of the contents of the “purple neuron” and the “cow neuron”. There is no purple neuron; there is no cow neuron. The concept of purple, and of cow, and of everything else we can think of is not located in a particular neuron, it is located all over the brain (though granted there are certain parts of the brain that specialize in certain kinds of information). The idea of purple, of cow, and of purple cows is retained (or sometimes built as needed) along with everything thing else we are thinking of, have thought of (that has not been forgotten), or to some extent can think of, in a self-sustaining dynamic fractal pattern at every moment of every minute of every day. Should that pattern ever “stop” we would be dead.
[Aside: take a look at Daniel Dennett's "Consciousness Explained"]
Pattern Harmonics = Different “types” of Thought
Some harmonics of the pattern are “stronger” than others and those represent our most conscious and intentional thoughts. Some harmonics are so weak they are almost gone. When they are finally so immersed in other patterns, we will have “forgotten” that fact or idea or experience. Some patterns are so similar to others that they coalesce and the memories become “blurred”. It is very common that people overlay what they actually observe with a generalized pattern based on experience, and that pattern becomes their reality, or at least the reality they believe (post hoc) to have experienced. This has been duplicated in countless psychology experiments.
Types of Patterns
Some patterns are “retrieval patterns”. That is, they are modalities of thought, or perhaps “search patterns” whose continually self-replicating function is to process other thought patterns to see how similar they are and perhaps to perform some optimization on them. My guess is that the optimization consists of (to use a model):
(a) Combination of patterns, where one is subsumed into another or two are simply merged. This is the “like”construct.
(b) The establishment of “meta-patterns” that allow relatively independent processing of the similarity of the two patterns and the difference (whence come ideas like the Linnean classification schemata in biology and, in OO, our inheritance ideas).
(c) “Indexes” which are probably a simple form of the meta-pattern, but which just point us to the relevant patterns but don’t perform much processing. This is where, well, indexes come from.
(d) Meta-meta patterns which guide the construction of the meta patterns (this list is one such). Meta-meta patterns may be governed by meta-meta-meta patterns, or (more likely) themselves. This is where we get the “stack” model in software from.
(e) Hybrid patterns, which are combinations of (say) combinations, meta-patterns, indexes, meta-meta patterns and, of course, hybrid patterns.
The Consciousness Pattern
This is probably both a strong signal (think amplitude of harmonics) and a pattern whose function is to (at least partly) dynamically monitor other patterns, including itself. Good systems design is leading in this direction too, where a system not only has its functional elements, but also has a “monitor” component that oversees the functions and (in sophisticated systems) monitors itself too. It is possible that some variant of this in the brain is a component of what we call “consciousness”.
It is likely that all human constructed systems are recapitulations of brain function. In fact, I find it hard to see how they could not be–if they were not mapped strongly onto brain physiology and psychology we would not have been able to think of them at all.
Finally, I realize this is a teleological argument but then, if you think about it, all thinking is teleological, right Rene?