Evolutionary computing contains all the concepts that would allow artificial intelligence to evolve its own way of living.
Creating computer software through evolutionary means rather than traditional human trial and error or beta testing is just one way that artificial intelligence may begin to assert its presence. Exhibiting at Maker Faire UK 2015 were computer researcher Simon Lynch of Teeside University and complex systems researcher Keerthi Rajendran of Newcastle University, with their experiments in creating simulated life.
Both Simon and Keerthi have an interest in allowing computers to evolve their own solutions rather than being programmed, fed the answers. “I am interested in how you get these quite complex emergent properties from simple systems,” says Simon. “It looks like they have intentions, plans, or they have made decisions somehow, but they haven’t.”
The pair have created simple simulations that emulate life, including an animation that maps how a virus would spread, one that shows a rabbit being chased by foxes (until it is eaten), and others that simulate plant growth or how frost spreads. This kind of biomimicry is mesmerising to watch and gives the programmers clues on how to put behaviours into everything from console games to advanced computer simulations.
Simon actually works on character behaviour in computer games and how those characters learn and change when they interact with us and other characters in the game. Evolutionary modelling is one method of doing this he explains. “One way of doing evolutionary modelling is to have a kind of fitness function that judges the way a system performs and gives each individual a merit value,” he says.
In simulations where certain behaviours allow ‘characters’ to survive, the pressure of evolution is clearly at play. “The ones with higher merit values are likely to breed more often,” says Simon. “You can give it a sort of ‘salmon’ approach where all of one generation dies and another is created, or more of a drip feed or ‘human’ situation where individuals are taken out of the population but there is breeding going on the whole time.”
Just like life, serendipity plays a part in his experiments, with mistakes leading to unique computer ‘species’. “A couple of times I have made a mistake in the programming and the species evolves to take advantage of an error in the coding. They exploit an environmental niche.
“If I was using this environmental approach to design a better aerofoil for a racing car then that would be irritating. Actually I am interested in the principles of evolving software. The mistakes are quite interesting, often more so than the original aim.”
Keerthi Rajendran says what is revealing about these types of mistakes or newly opened lines of enquiry in evolutionary computing is the invention of mathematical algorithms by the computer to cope or solve a problem. “With software evolution there may be algorithms that emerge that you would not have come up with by yourself,” she says. “If you have a problem and don’t know how to solve it, an evolutionary system may be able to create a better algorithm. It opens up the possibility that evolutionary software becomes more intelligent than software written by humans.”
As in real life the most creative impacts are made by individuals whose behaviour does not fit the mold. Even when you look at the entire population, eccentric behaviours can change everything. “In mathematical modelling you might assume that one thousand people behave in aggregate like an average unit,” says Simon.
“If the thousand each make slightly different decisions then you may see weird emerging behaviours, just because five of them may do something slightly unusual all at the same time. That is the way normal populations behave. Because of the geographic location of individuals, their behaviour spills over onto others.”
If you were suddenly to put a river through a field of rabbits with half on one side and half on the other, so they bred independently for thousands of generations, they would adapt differently, says Simon. In fact there is a general consensus that this occurs without having to divide species up. This is called ‘speciation’.
“What is interesting with population models is that you can run things for 10,000 generations and see whether you get pockets of individuals,” he says. “I’m pretty sure that you do.” Why it takes 10,000 generations is less certain. “It just takes them that long to get to this point and if you allow them to make errors it can happen more quickly.”
Simon calls this a “social studies or ecological approach” to population models. What emerges from these simple models is a rudimentary clone of life and evolution. Mistakes seem to make all the difference because they force changes more quickly. In the end the results are eye opening because the simple agents in these programs create their own way of growing, adapting. Evolution, of a sort.