ELICIT – Evolutionary Computation Visualization

ELICIT (Evolutionary Computation Visualization) is an interactive tool designed for the visual exploration of data generated from evolutionary algorithms. These algorithms evolve a set of random solutions over multiple cycles, where the best individual solutions are combined, altered, and evaluated in order to generate a new population of individuals, which iteratively increases the overall quality of the solutions, also known as fitness. It is currently available on GitHub.


Figure 1

Interface of ELICIT, with an options panel on the left, the main view in the middle, and a timeline slider on the bottom.


ELICIT represents every set of solutions generated in a single run through an interactive two-dimensional visualization. Each column represents one population, and they are horizontally ordered by time, where the left-most represents the initial set of random individuals. Columns are ordered by the fitness of each individual, where those in the top represent the best solutions of that population. This fitness is mapped by color (from blue to black, where blue represents more apt solutions), which results in visualizations that show how quickly the average fitness of each population increases with each generation.


Figure 2

Visualization of twenty runs of an evolutionary algorithm, each with 100 individuals evolved over 100 generations.


The visualization can be panned and zoomed with the mouse, and by selecting an individual, every ancestor and descendant of the selection will also be highlighted. Additionally, lineages can be visualized more clearly by opening the visualization, using either the interface or the keyboard. When opened, the connections between every individual across each generation will be drawn through curved edges. If an individual is selected, then the edges showing its relationships will also become highlighted.


Figure 3

Opened main view visualization, spreading the columns and connecting every related individual through edges.

Figure 4

When an individual is selected, all of its relationships are highlighted.


While these tools assist users in understanding how any given solution was reached, ELICIT provides several visualization modes to inspect the genetic heritage and offspring of individuals and populations:


Genetic Operator View – Fitness color mapping is replaced by symbols representing whether each individual was the result of a copy, mutation, or crossover between two previous individuals.


Figure 5

Individuals resulting from crossover are represented with blue squares, those resulting from mutations are represented with black outlines, and those copied from the previous generation are represented with a black square.


Offspring View – Color is mapped to the number of offspring of each individual (where blue represents higher values), allowing users to identify more easily those which have a high rate of being chosen to produce offspring.


Figure 6

Most individuals with offspring are located in the top half as the fittest individuals have a higher chance to be chosen to reproduce. However, low fitness individuals may also get chosen to introduce genetic variety.


Position by Fitness – In this mode, the position of individuals on the y-axis in each column becomes mapped to their fitness.


Figure 7

In this mode, it is easier to discern the distribution of fitness throughout each generation, though this comes at the cost of overlapping individuals.


Eva Mode – When this mode is selected, users can choose a column in the visualization in order to highlight the nearest ancestor that is common to every individual in the selected population; this shows how quickly one individual can influence an entire population and every subsequent individual.


Figure 8

In this image, we use Eva Mode to identify that the nearest common ancestor to every individual in the final population was only five generations away.


Aggregated Runs – Due to their stochastic nature, evolutionary algorithms are often subjected to multiple runs. ELICIT can load multiple files at once and not only allow users to quickly switch between them, but also visualize an overlay of every run, which may provide some insight into the average evolution of the solutions. When aggregated, selections and every previous mode will still function, showing every run overlaid with transparency in order to allow users to identify the existence of consistent elements.


Figure 9

This visualization is created from the average of thirty runs, allowing users to identify general proprieties of the results, such as how quickly fitness increases and the distribution of fitness throughout generations at each stage.

Figure 10

Actions are preformed across every run and shown with transparency.


In addition to this, ELICIT provides the Individual View, an additional level of detail that focuses on the representation of a single individual, while providing users with the ability to perform an in-depth analysis of its role in the evolution of a possible ideal solution. The individual view provides entirely different visualization models that focus on representing the genotype and phenotype of each individual, meaning, the solution that they provide and how it manifests. As such, while the general view can be applied to any evolutionary algorithm run, the individual view may have to be adapted to the problem being solved.


Figure 11

When selecting the Individual View, the represented individual will be the last one selected in the main view.


The main problem being tackled by evolutionary algorithms that ELICIT was tasked with representing was the creation of a mathematical function that could create a curve that matched a target curve. This meant that the fitness of the solution would be determined by the similarity of the curve described by the proposed solution of each individual to the target curve.


For this problem, the individual view represents both of these curves in the linear graph on the left, where the target curve is black, and the curve proposed by the individual’s solution is orange, while a tree that describes the mathematical function for the orange curve is drawn on the right. The tree representation is positioned using a force-directed layout, which sorts the tree’s nodes to prevent edge-crossings and reduce visual noise.


In order to analyze the impact of each individual in the evolution of a potentially ideal solution, the user can move a slider that moves between generations, going between the fittest ancestors and descendants of the current individual in order to visualize how the solution evolves over time. This not only updates the graphs accordingly, but also the tree, which represents new branches with orange nodes, highlighting when a change happened, and its significance. This allows users to quickly brush through hundreds of generations and identify key moments in the evolution.


Figure 12

Representation of an individual from the 10th generation, resulting from the crossover of the two individuals shown on the bottom left.

Figure 13

Representation of an individual from the 89th generation, where the solution has increased significantly in fitness. This can be seen in how the orange line representing the current solution is starting to match the shape of the ideal solution, shown as the black line.


Furthermore, ELICIT has been tested with data aimed towards resolving different problems, such as evolving images. In this problem, the tree on the right represents the series of operations which results in the creation of the image of the left.


Figure 14

Representation of an individual created from the crossover of those shown on the bottom left, where the resulting image has inherited the pink color from one of its parents and the spiral shape from the other.

Figure 15

Another example of an individual, now resulting from a mutation.




  • A. Cruz, P. Machado, F. Assunção, and A. Leitão, “ELICIT: Evolutionary Computation Visualization,” in Genetic and Evolutionary Computation Conference, GECCO 2015, Madrid, Spain, July 11-15, 2015, Companion Material Proceedings, 2015, pp. 949-956.