Some while ago I experimented a bit with the genetic algorithm.
Thx to the nature of code videos and book it was very easy to implement.
I marked 9 propulsion points on the building which where used to steer the dots and lines to their ideal spot in order to form the capital M. I used genetic algorithm to find the ideal pulse sequence for the propulsion points. For each new breed I used 9000 simulations with a very low mutation rate in order to get results in between 10 or 50 generations. Took around 3 hours to find a working sequence.
The result was rendered to a video so my program was only needed to find an interesting sequence and render this to a video. You can have a look at the code on Github but don't expect a super clean codebase
Used Cinder-NanoVG for the smooth rendering.