Home      Log In      Contacts      FAQs      INSTICC Portal


The role of the tutorials is to provide a platform for a more intensive scientific exchange amongst researchers interested in a particular topic and as a meeting point for the community. Tutorials complement the depth-oriented technical sessions by providing participants with broad overviews of emerging fields. A tutorial can be scheduled for 1.5 or 3 hours.


Tutorial on Graph-based Genetic Programming  (IJCCI)
Instructor : Roman Kalkreuth

Tutorial on
Graph-based Genetic Programming


Roman Kalkreuth
Leiden Institute of Advanced Computer Science, Leiden University
Brief Bio
Roman Kalkreuth is currently a postdoctoral researcher at Leiden University in the Netherlands. His research is located in the fields of evolutionary computation and artificial intelligence. Primarily, his research focuses on the analysis and development of graph-based genetic programming algorithms. After receiving a Master of Science in Computer Vision and Computational Intelligence (2012) from South Westphalia University of Applied Sciences, Roman Kalkreuth worked for the companies HST Systemtechnik and Brockhaus AG as a software development engineer in Meschede and Lünen (Germany). Afterwards, he started his Ph.D. study at the Department of Computer Science of the TU Dortmund University. Since 2015, he has been a research associate of the Computational Intelligence Research Group of Prof. Dr. Günter Rudolph. Roman Kalkreuth defended his dissertation in July last year and then took up a postdoctoral researcher position within Professor Rudolph’s research group. In In October of this year, he joined the Natural Research Group of Professor Thomas Bäck at the Leiden Institute of Advanced Computer Science which is part of Leiden University.

Although the classical way to represent programs in Genetic Programming (GP) is by means of an expression tree, different GP variants with alternative representations have been proposed throughout the years. One such representation is the Directed Acyclic Graph (DAG), adopted by methods like Cartesian Genetic Programming (CGP), Linear Genetic Programming (LGP), Parallel Distributed Genetic Programming (PDGP), and, more recently, Evolving Graphs by Graph Programming (EGGP). The aim of this tutorial is to consider this methods from a unified perspective as graph-based GP, present their historical background, representation features, operators, applications, and available implementations.


Genetic Programming, Graph Representations, Digital Circuit Design, Artificial Neuroevolution

Aims and Learning Objectives

Learning Objectives:

- Historical overview and taxonomy of graph-based GP

- Differences in how the DAG representation is used and manipulated by different graph-based methods

- Examples of successful applications of graph-based GP

Target Audience

Researchers and engineers that are active in the field of computational intelligence.

Prerequisite Knowledge of Audience

Basic knowledge of evolutionary algorithms.

Detailed Outline

This tutorial covers the following objectives:

- Present a historical overview and taxonomy of different graph-based GP methods, giving a special focus on the fundamental aspects of the most popular ones.

- Based on a recent effort, highlight differences in how the DAG representation is used and manipulated by different graph-based methods and present initial results on how this impacts their performance and how they compare to the traditional tree representation.

- Present examples of successful applications of graph-based GP, for example, CGP applied to the design of digital circuits, neural networks and image operators.

- Demonstrate available implementations and benchmarks of some graph-based GP methods.

Secretariat Contacts