There's that eerie moment in The Matrix where Keanu Reeves achieves a Zen-like state of techno-enlightenment and realises that everything around him is flowing data in a nice shade of green. The rest of the film is a little off-beat, but Reeves' vision may not be that futuristic.
Our everyday lives could be controlled and coordinated, not just by raw data, but by computers that evolve like living entities. These computer "genes" are already advanced enough to test-fly fighter planes, schedule nurses' shifts, predict our spending and manage the stock market. Dr Robert Smith is the director of The Intelligent Computer Systems Centre at the University of the West of England.
In collaboration with Boeing, the air force and the Scientific Systems Corporation, he has been test-flying planes. Unfortunately, he tests them virtually from the safety of his office. When a brand new fighter plane has been built, the engineers can point to figures and diagrams and swear blind that the plane is going to be better than any other.
In reality, planes often work differently than predicted, so companies normally build a prototype and test-fly it. It is very expensive and can, of course, crash. This is where Dr Smith comes in. He simulates the plane in flight and uses programs composed of computer "genes" to fly it as a test pilot would. These virtual planes are thus driven by a collection of evolving organisms inside the computer. This evolution is driven by a program called a genetic algorithm, which operates in a similar way to natural evolution.
In the real world, animals live, attempt to reproduce and die; those whose offspring are hardy and who survive will reproduce and pass their genes on to the next generation. Over time the animals that are the fittest - or contain the best genes - will have more descendants.
In a PC, the "animals" are random collections of computer code - the genetic algorithms. They are set a problem to solve, such as flying a plane. Mostly they will be hopeless but some programs may be marginally better. The best of them breed and pass on their code.
Over thousands of generations, a program evolves that will be able to solve the problem it was set. Since the program has not been written, it may come up with a genuinely creative solution. For instance, a technique incorporated into the next generation of planes is the post-stall technique. This is where a machine flies at a 90-degree angle to the ground without stalling. Closely pursued by the enemy, a pilot can theoretically fly vertically into the air, spin on the plane's axis and come back behind the enemy plane. It is called the Herbst movement.
The genetic algorithms can work out if this is useful and possible. The last experimental plane the computer flew was the X31, two of which were built, one of which crashed. So far, the computer genes can create programs that do what pilots do. The one complaint from pilots is that the enemy never gets smarter: he does not adapt to the genetic algorithms as a real enemy pilot would.
E ventually, Smith will incorporate evolving enemies into the program. He and other researchers at UWE have been applying the same kind of techniques to the workforce. Computer programs have evolved to build a system that economically works out what a group of people in a company needs to do each day. It is basically a flexible management system, though it could have a Big Brother feel to it - your boss would know if you did not work hard on a particular day.
"We'd need to build in human factors," says Smith, "such as wanting to be nice to your workers and responding to the needs of management. It is easier with robots," he adds, "because they don't have unions."
Dr Uwe Aicklin has applied similar rules to help Swansea hospital regulate their staff. They wanted to know how to schedule 400 of their nurses, all of whom have different qualifications, experiences, salaries and working preferences. Combining the data and working out the best pattern could take days, since the computer would have to work out every combination, of which there are billions.
And once the schedule was in place, the management might find one or more nurses were sick the next day and have to start again. However, there are many constraints in this kind of problem and evolution, and thus genetic algorithms, work best when there are no constraints. After all, evolution operates at its own pace without restrictions; there is no one pulling strings saying: "Produce a five foot ten human being in a week."
Under the hospital guidelines, for example, one constraint was that eight nurses need to be on duty. To get around this dilemma, Aicklin looked at how the staff did the scheduling themselves. He found they used rules of thumb, but how the rules worked depended on how they ordered the nurses - for instance, did they schedule all the nurse aides first, then the registered nurses and so on. Aicklin used genetic algorithms to evolve the order, and then used more traditional programming to create a rule of thumb.
Did it work? Aicklin thought so; the hospital staff were less pleased. They pointed out that two nurses couldn't work together because they did not like each other, another two could not work a Saturday because it would be too expensive and so on. These were rules the hospital hadn't told the computer engineers. "Genetic algorithms can find a couple of good solutions and the staff can choose the one that is best and alter it," says Aicklin. "That's acceptable because it gives them some power and they can add their own rules."
He and Dr Alistair Clark have applied the same criteria to work out when a cider canning factory should can cider (and schedule the production and canning of all 50 of its other products) as well as determining the optimal number and size of shops a shopping mall should contain.
Corporations have become interested in these programss as they can solve complex problems and keep solving them as the situation changes. Dr Larry Bull is creating programs for a bank that will predict how good a potential client will be, as well as looking for patterns in the data - such as what kind of person would want a certain sort of savings account. He has worked with Hewlett-Packard, which is interested in creating electronic traders who could operate the stock market like human beings.
Ultimately, the research could lead to us all owning a trader who would buy and sell things for us and get the best deal, be it cars or houses. Having just bought a house himself, Bull seems rather pleased at the prospect of getting rid of estate agents.