@brazovayeye

Evolving Software with Multiple Outputs and Multiple Populations

, and . TR02-06. School of Design, Engineering and Computing, Bournemouth University, Royal London House, Christchurch Rd, Bournemouth, BH1 3LT, UK, (July 2002)

Abstract

In this research we are concerned with the automatic evolution of programs for control applications, the particular example we use being software for a simple fridge device with two inputs and three outputs. By careful choice of the target programming language - in a similar vein to a RISC processor - we are able to represent programs as variable length strings and use evolutionary computing techniques to search for fitter individuals. We used a fitness function that summed the fitness of each output channel, by various methods, in an attempt to encourage a total solution using a single population of candidate solutions. In general we were able to successfully evolve suitable solutions, however, the search sometimes suffered from premature convergence once the functionality for two out of the three output channels had evolved. More complex fitness assessment schemes, using mechanisms such as dynamically modifying the fitness associated with an output channel without additional benefit. These difficulties in attempting to do too much with a single population pointed to a `divide and conquer' approach whereby one (or more) populations are dedicated to solving for one output channel alone - whilst being exposed to all inputs. This is seen to be an acceptable approach due to the growth in multi-tasking operating systems and multiprocessor platforms.

Links and resources

Tags

community

  • @brazovayeye
  • @dblp
@brazovayeye's tags highlighted