# Part 2

The first step in understanding

To be able to understand how biological systems can create order out of disorder, it is necessary to first shake off all the preconceived ideas that have been programmed into our minds by conventional education. To do this we have to go back almost a century (1909), to an abstract model first proposed by the great German mathematician, David Hilbert (1862-1943). He came up with the idea of a space with an infinite number of dimensions.

This sounds ridiculous, because it doesn't seem possible that anyone can visualize a space with infinite dimensions, but, dimensions can also be called parameters. Every object and system can be described in terms of its parameters. So, if you put every conceivable object or system into a space, that space could be described as having a total number of dimensions equivalent to the total number of parameters that are needed to describe all the objects it contains.

How this creates an order in this space can be imagined if you take any single parameter and imagine every item with that same parameter as being strung out in a line along it. For example, take the parameter "glass". All the objects in the space that contain glass would be strung out along this "glass" line.

This would apply to all parameters, so you can think of the space as being crisscrossed by an infinite number of parameter lines that can intersect with one another. Wherever a group of these lines meet at a common point the parameters and their values will be describing a unique object or system.

The general idea is that if a Hilbert space has an infinite number of parameters (or dimensions), every possible object or system will be present somewhere in this space. Their positions determined by the points at which their descriptive parameters intersect.

Hilbert himself described this space by pointing to a glass of beer and explaining that it exists in this space at a place where the parameters describing its shape, size, materials and content intersect. If you move the glass inside the space to where the content parameter is water instead of beer, you would have a glass of water. If the glass was moved to a parameter where the material was pewter instead of glass, you'd have a pewter mug full of water. He explained how by moving this object around in this parameter space you could get it to change into a beer mat, a chair, a table, etc.

The importance of this mental model is the paradigm shift it brings about. Instead of thinking about what parameters you need to be able to create an object or system, you can think instead of the perfect object or system already being in existence. Then, all you have to do is to move around in this space to find the parameters that describe it.

Prototyping is based upon this principle. When you make changes to a prototype you can think of the prototype as being moved around in a Hilbert space to try to find the spot where its performance is optimal.

This is how biological systems can be visualized as evolving. They have a flexible architecture, which enables their parameters to be continuously changed until they become optimally efficient. In other words, they can be thought of as moving around in an infinite parameter (dimensional) space to where their parameters are optimally efficient for the purpose of survival and reproduction. If the ecosystem or their competition changes, they simply move to another position in the space where the parameters are more suitable.

The advantage of using this conceptualization is that it enables you to contemplate the design of an object or system without having to start with all the defining parameters, or even to know what it is going to finish up like.

Nature's algorithm

The problem with Hilbert space was that although you could visualize an infinite number of objects being inside it, there seemed to be no way to locate them unless you had full details about their parameters. In other words, if you knew a perfect system was there in Hilbert space somewhere, there was no way to find it to see what its parameters were.

Then, in the 1980's, John Holland, after studying the way biological systems evolve, came up with a breakthrough mathematical construct that enabled objects to be found in Hilbert space with pin-point accuracy - without having to know the values of the parameters beforehand.

Called a "Genetic Algorithm" it copied the way Nature creates multiple organisms, and tests them in an environment. In nature, the most successful organisms manage to mate and reproduce, to pass a mixture of their successful genes onto the next generation. Over the course of several generations, the promotion of the genes of these successful organisms results in the progeny become increasingly better equipped for survival and reproduction because they are constructed from successful genes - all the inferior genes being left behind.

What Holland did was to create a computer program that could list the parameters of a system and treat the list as if it were a list of genes in an organism. He'd create many different lists, each with a different variation of the parameters, and run the system using each of the different lists of parameters in turn (John Holland's Paper).

The parameter lists that gave the best results he'd separate out from the rest. Then he'd mix the parameters of these selected lists around to create a new set of lists, which he'd use to run new tests of the system. He'd repeat this process over and over again until he ended up with a list of parameters that made the system perform with optimal efficiency - emulating Nature's evolutionary process.

If you now imagine a Hilbert space, where the parameters are genes, you can think of the places where the parameter lines cross as being a list of genes. These lists can correspond to the gene sets of particular organisms. Thus the Hilbert space would contain the gene sets of all possible organisms. So, when an organism is evolving through a number of generations, it can be visualized as moving along a series of points in the Hilbert space such that the route would lead directly to the point in this space that defined the genes necessary for an organism's optimal chances of survival and reproduction.

John Holland's Genetic Algorithms make similar trips through a Hilbert space, where the process can be viewed as a system travelling along a path that takes it nearer and nearer to the point that lists the parameters that will make the system perform most efficiently.

So successful and efficient has this search strategy proved to be, John Holland's genetic algorithms are now used extensively throughout industry to find optimum parameter values wherever they cannot be determined by calculation or logic.

Mutual dependence

The reason Genetic Algorithms are more effective than methods of calculation is because by testing parameters as a group you can see the effectiveness of not only each parameter as a separate value but also the effect the parameters have on each other.

You can liken this to measuring the success of a team of researchers. Their success will not depend solely on them all being extremely clever, but also in how well they work together and how their skills and knowledge complement each other. A successful team will include not only the researchers, but also the lab assistants, organizers and clerical workers. It is the dynamic effect of all the parameters working in harmony that is selected for. Bizarrely this kind of selection process will also take into consideration intangibles, such as motivation and team spirit.

People as parameters

A Hilbert space can be defined with any parameters (dimensions) you care to choose. There is no reason why you cannot have a Hilbert space where the dimensions are people. For example, consider a Hilbert space where the dimensions are every person on this planet. Some place in this space would list every person who lives in London. Another place would list everyone who lives in New York. There would be a place that lists every one of your friends. There would be a place that listed everyone who works for Microsoft. In fact, any conceivable grouping of people you could ever think of would be listed somewhere in this space.

For example, somewhere in this space would be listed the top fifty poker players. There would be a place that listed the fifty best computer programmers. Similarly, there would be a place that listed the experts in any area of specialty or expertise you could think of.

Of more interest, the space would also separate out groups according to how effectively they could collaborate together to perform a given task. It would have lists of people who would make a perfect team to carry out some particular task or complete a particular project.

Imagine now, a construct like a genetic algorithm that could move you around in this space, so that you could meet up with a particular group of people. Imagine being able to steer around this space to find an ideal group of specialists to help you with a project.

It is this idea that forms the basis of stigmergic systems.