Visualizing the evolution of computer programs for genetic programming [Research Frontier]

Su Nguyen, Mengjei Zhang, Damminda Alahakoon, Kay Chen Tan

Research output: Journal article publicationJournal articleAcademic researchpeer-review

17 Citations (Scopus)


Automatically evolving computer programs to handle challenging computational problems is the main goal of genetic programming. To improve the efficiency of the evolutionary process, a large number of algorithms have been proposed in the literature. Although genetic programming has shown its success in many application areas, researchers have not fully understood how the algorithm works due to the lack of analysis tools for studying the emergent complexity of evolutionary dynamics. The goal of this paper is to propose a novel visualization framework to reveal critical evolutionary patterns of genetic programming. This is achieved by using a dimensionality reduction technique and growing neural gas to find an optimal representation of phenotypic characteristics of programs evolved by genetic programming. Compared with previous work, the proposed framework is scalable and multi-grained, which allows it to efficiently process a vast amount of data produced by genetic programming and to perform different levels of analyzes. The application of the proposed framework to dynamic flexible job shop scheduling shows that the framework can capture useful evolutionary patterns such as the diversity of the population over generations and the influences of genetic operations, selection pressure, and search mechanisms.

Original languageEnglish
Article number8492385
Pages (from-to)77-94
Number of pages18
JournalIEEE Computational Intelligence Magazine
Issue number4
Publication statusPublished - Nov 2018
Externally publishedYes

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Artificial Intelligence


Dive into the research topics of 'Visualizing the evolution of computer programs for genetic programming [Research Frontier]'. Together they form a unique fingerprint.

Cite this