Have your spaghetti and eat it too: Evolutionary algorithmics and post-evolutionary analysis

Kfir Wolfson, Shay Zakov, Moshe Sipper, Michal Ziv-Ukelson

Research output: Contribution to journalArticlepeer-review

2 Scopus citations

Abstract

This paper focuses on two issues, first perusing the idea of algorithmic design through genetic programming (GP), and, second, introducing a novel approach for analyzing and understanding the evolved solution trees. Considering the problem of list search, we evolve iterative algorithms for searching for a given key in an array of integers, showing that both correct linear-time and far more efficient logarithmic-time algorithms can be repeatedly designed by Darwinian means. Next, we turn to the (evolved) dish of spaghetti (code) served by GP. Faced with the all-too-familiar conundrum of understanding convoluted-and usually bloated-GP-evolved trees, we present a novel analysis approach, based on ideas borrowed from the field of bioinformatics. Our system, dubbed G-PEA (GP Post-Evolutionary Analysis), consists of two parts: (1) Defining a functionality-based similarity score between expressions, G-PEA uses this score to find subtrees that carry out similar semantic tasks; (2) Clustering similar sub-expressions from a number of independently evolved fit solutions, thus identifying important semantic building blocks ensconced within the hard-to-read GP trees. These blocks help identify the important parts of the evolved solutions and are a crucial step in understanding how they work. Other related GP aspects, such as code simplification, bloat control, and building-block preserving crossover, may be extended by applying the concepts we present.

Original languageEnglish
Pages (from-to)121-160
Number of pages40
JournalGenetic Programming and Evolvable Machines
Volume12
Issue number2
DOIs
StatePublished - 1 Jun 2011

Keywords

  • Building blocks
  • Edit distance
  • Genetic programming
  • Post-evolutionary analysis
  • Reasoning
  • Search algorithms

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Science Applications

Fingerprint

Dive into the research topics of 'Have your spaghetti and eat it too: Evolutionary algorithmics and post-evolutionary analysis'. Together they form a unique fingerprint.

Cite this