Chapter 8
Abstract models to think with
Starting with a green frog
Almost guaranteed to send any Industrial Age corporate planner into a frenzy is to tell them that a system design starts off with a green frog. It's like one of those enigmatic Zen stories where the novice goes up to the Master and asks for a solution to a problem and the master says, "It is there" and points into empty space.
The point is that the green frog is a starting place that has no pre-dispositions. It is devoid of any subjective points of view. It contains no assumptions or opinions; no guesses; no calculations; no precedence. It is just there and it is obviously not going to do whatever it is that a system is supposed to do.
The mind set then is to tell the green frog to do the thing you want your system to do. For example, you can tell it to become an efficient electronic communication system. Of course, it sounds ridiculous, but, it is no more ridiculous than asking someone with a handful of marbles to find a small hole in a field.
Immediately, you know a frog can't do this, so, you make an intelligent guess and replace the frog with a computer. The computer is useless without a link to the Internet. So another intelligent guess gets you connected to the Internet. Already, with just two guesses you have transformed the green frog into a computer with an Internet connection. You've started the build of a bottom up design process. You've moved towards the hole with a couple of throws of the marbles.
It is here where we need to have a little bit of Zen-ness. We need a mental model that will allow us to understand how we might guide this process towards producing an efficient electronic information system without wandering about all over the place producing nonsensical results.
In the book "Magical A-Life avatars", I usurped an abstract mathematical model known as Hilbert Space and showed how it could be used as a model to help design intelligent software systems with simulated human emotions. I used it to explain how software can be trained to adapt to an environment and learn in human like ways to compete in a complex game situation. We can use this same model here to think about design communication strategies and e-commerce solutions.
At first thoughts, Hilbert Space appears to be one of those abstract devices that you'd need to be a mathematical genius to understand. It is a space with an infinite number of dimensions. However, a dimension is only a general name for a characteristic or a quality. If you can imagine the green frog in such a space it would have a dimension of 'color'. Its position in this space would coincide with where the dimension of 'color' was green. Push the frog along this dimension in Hilbert space and it will change color. The dimension would include all possible colors so the frog can be in Hilbert space and be any color just by moving it along the 'color' dimension.
The valuable feature of Hilbert space is that you can move an object along a dimension without changing or disturbing any other dimension. In this case, all aspects of the frog remain unchanged except the color. This is the equivalent of being able to concentrate on a single light in a string of Christmas tree lights. The other dimensions being all the other lights in the string.
Similarly there will be a dimension of 'legs'. Push the frog along this dimension in Hilbert space and it can have one leg, two legs, three legs; in fact it can have any number of legs just by pushing it along the 'legs' dimension. Now, the clever part of Hilbert space is that you can move an object along dimensions simultaneously. You can move the frog along the 'color' dimension and the 'legs' dimension at the same time so you can get red frogs with twelve legs; blue frogs with one leg etc. You can get all possible combinations of legs and colors on the frog just by appropriately moving it around in Hilbert space.
Again, no other dimensions are affected: only the color and the number of legs. This is the equivalent of isolating two of the lights in a string of Christmas tree lights. In this way it is possible to take any group of dimensions and deal with them as an isolated group, where playing around with the values of this group has no effect on other dimensions.
This can easily be demonstrated by picking up a green frog and moving it around a room. Everything about the frog remains the same except the three dimensions that describe its physical position in conventional 3-D space. The values of these dimensions are being varied quite independently of any of the green frog's other dimensions.
With an infinite number of dimensions you can do some very weird things to that frog. Push it to color grey, zero legs, square shape and you have a grey box. By adding several other dimensions you can push it to a place where it becomes a computer. Somewhere in the computer dimension, another dimension can connect it to the Internet.
With this idea in mind, any possible object that you can think of can have its position defined in Hilbert space simply by making a list of characteristics and qualities. Changing the items in the list will be like pushing the object into a different position in Hilbert space and, conversely, pushing the object around in Hilbert space will effectively be changing the items in the list.
This may seem a peculiar thing to do until you realise that we are talking about controlling the evolution of an object. As an object can be described by a list of its characteristics the evolutionary process effectively changes the list. It is difficult to think of controlling a list but not so difficult to imagine controlling the position of an object in a space (even if it is a multidimensional space). This is why we need this model: to get a convenient picture in our mind to be able to manipulate a list of characteristics. Then we can manipulate that list of characteristics to be exactly right: for doing a specified job, effectively and efficiently.