When software takes its cues from nature
“By harnessing the essence of evolution in software, we can effectively breed solutions to problems,” explains Dr Michael O’Neill.
He co-directs the NCRA at UCD, where researchers have been working with companies to apply genetic algorithms to computer game design.
One project sought to “breed” interesting behaviours in characters in games, while another generated more realistic animations of quadrupeds such as horses in games and films, where the individual animals in a crowd don’t look or act too alike.
The evolutionary approach could even be applied to help generate new creative ideas for designing structures such as buildings or bridges, explains O’Neill.
“We are working with colleagues in MIT and UCD to come up with a design tool for architects or engineers to help them create interesting designs,” he says.
“Computer science is often used to optimise solutions to things – so if you have a bridge where you want to optimise the support so it is strong enough to do the job required, but there’s an aesthetic part too.
“So we are creating interactive tools where the artificial evolutionary process automatically breeds structurally feasible designs and then presents these to the designer.”
From these, the designer can select “parent” designs and those designs breed to produce “children” designs and on it goes through the generations, he explains.
“It means the designer interacts with the software driving the aesthetic evolution by using a form of ‘survival of the prettiest’ as the human designer selects designs where they like the appearance, ensuring both aesthetic and functional features are addressed during optimisation.”
Managing energy: The evolution of a more power-friendly network
As consumers, we expect a network signal to work when we want it to. But for providers, keeping that signal sweet without hogging an enormous amount of expensive energy requires some computational deftness.
In a complex environment such as an office block, the wireless or network signal might be boosted by base stations distributed around the building, but there’s a need to balance their energy use, explains Dr Michael O’Neill , co-director of the Natural Computing Research and Applications Group at University College Dublin.
“Part of the problem is coming up with the software to manage the power in these base stations so they can handle the load that they need to, but they can dynamically minimise the amount of energy they use if there’s no-one around.”
The NCRA is collaborating on the issue with Alcatel-Lucent Bell Laboratories in Blanchardstown. They are using a form of genetic programming called “grammatical evolution”, which evolves the genetic code of a computer program to automatically optimise the power in the base stations according to need.
“Genetic evolution approaches allow not only the optimisation of parameters, but the automatic creation of new computer programs – as a result, these methods can potentially remove the human involvement in the creation of optimisation algorithms and programs,” explains Dr Holger Claussen, who heads the Autonomous Networks and Systems Research Department at Bell Labs Ireland.
He sees a wider application for the genetic programming approach in solving other optimisation problems too.
“Automating the creation of optimisation programs provides much more flexibility and allows products to be better customised to the customer’s demand in a cost-effective way,” he says.
“In the future, such capability could even enable that network components or other products rewrite their own optimisation code, based on the owner’s objectives, while they are deployed and operating.”