Visualization of a genetic algorithm!

Node sorting:
Node colors:

Genetic algorithms (GA) are one of the standard optimization methods. They work by evolving a population of trial solutions towards better solutions using biological inspired genetic operators. The trial solutions are also called individuums. The above graphics shows the evolution of a particular genetic algorithm - genetic programming - solving a problem of symbolic regression. It shows beautifully how the GA optimizes the problem. The above graphic can be used for visual debugging. Furthermore, it uncovers the beauty of a complex algorithm.

Conclustions from the graphic:

This work has been done with the help of gpcxx a modern C++ library for genetic programming which has produced the data for the above graphic. The development of this library is still in an early stage. The visualization has been done with the help of d3.js a great javascript framework of interactive visualizations. The graphic as been inspired by Sankey diagrams and the Sankey plugin for d3 js. jquery has also been used for general purpose stuff.

If you need help with visualization of data or algorithms or optimization algorithms in general just drop me a message here.