Evolving a digital multiplier with the pushgp genetic programming system

  • Authors:
  • Thomas Helmuth;Lee Spector

  • Affiliations:
  • University of Massachusetts, Amherst, MA, USA;Hampshire College, Amherst, MA, USA

  • Venue:
  • Proceedings of the 15th annual conference companion on Genetic and evolutionary computation
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

A recent article on benchmark problems for genetic programming suggested that researchers focus attention on the digital multiplier problem, also known as the "multiple output multiplier" problem, in part because it is scalable and in part because the requirement of multiple outputs presents challenges for some forms of genetic programming [20]. Here we demonstrate the application of stack-based genetic programming to the digital multiplier problem using the PushGP genetic programming system, which evolves programs expressed in the stack-based Push programming language. We demonstrate the use of output instructions and argue that they provide a natural mechanism for producing multiple outputs in a stack-based genetic programming context. We also show how two recent developments in PushGP dramatically improve the performance of the system on the digital multiplier problem. These developments are the "ULTRA" genetic operator, which produces offspring via "Uniform Linear Transformation with Repair and Alternation" [12], and "lexicase selection," which selects parents according to performance on cases considered sequentially in random order [11]. Our results using these techniques show not only their utility, but also the utility of the digital multiplier problem as a benchmark problem for genetic programming research. The results also demonstrate the exibility of stack-based genetic programming for solving problems with multiple outputs and for serving as a platform for experimentation with new genetic programming techniques.