Biomorpher

Interactive Evolutionary Algorithms for Rhino Grasshopper.

As opposed to setting objective functions (As with Galapagos for example), Interactive Evolutionary Algorithms (IEAs) allow designers to engage with the process of evolutionary development itself. This creates an involved experience, helping to explore the wide combinatorial space of parametric models without always knowing where you are headed.

See github site for source (MIT) and latest release:

https://github.com/johnharding/Biomorpher/releases

Cecilie Brandt Olsen (author of K2 Engineering) and I have been developing Biomorpher since December 2016.

This work is sponsored by the 2016/17 UWE VC Early Career Researcher Development Award and was initially inspired by Richard Dawkins' Biomorphs from his 1986 book, The Blind Watchmaker: Why the Evidence of Evolution Reveals a Universe without Design.

Please leave comments and share your experience of using Biomorpher below. It would be great to hear from you!

  • Christian Schmidts

    Hi John,

    looks very promising. I'm in preparation for a research project at the UdK Berlin about Computational Creativity. Really looking forward to test Biomorpher in this context.

    Is there already an installer on Github or are you still in the development process?

    Can you recommend me any theoretical resources on Interactive Evolutionary Algorithms in general or you research project?

    Best, Chris

  • John Harding

    Hi Christian,

    You can find the installer here:

    https://github.com/johnharding/Biomorpher/releases

    This is our first release, with a couple of known bugs (see release notes). Cecilie and I are currently working on displaying/recording the population history tab, but thought we'd release something anyway to get some initial feedback from the gh community.

    As for Interactive GAs, read the Blind Watchmaker by Dawkins written in 1986, then move on from there. It really is the fundamental text on interactive evolution, and by and large all similar projects stem from his original 'Biomorphs' program... hence the name of the component.

    Cecilie and I should be posting some tutorials in the coming weeks so that should also help. We're keen to hear from anyone that benefits from the plug-in.

    Best wishes,

    John.

  • Daniel González Abalde

    Hola John,

    Firstly, I could only see an example for lack of plugins. I hope I have understood something anyway.

    The "performance" parameter, is it like the output of a user fitness function? Or it is other thing? If so, could the form have some color reference in the designs tab, to know which ones are the most suitable? And it would also be nice to be able to select for example the n desgins with best fit to envolve, or using other criteria, rather than select one by one. It has made me a little tedious. I understand the concept, but it seems to require too much human effort if it is not combined with more automatic techniques.

    Maybe if you keep the cursor on a design, could appear that design (being able to rotate it and all that) in a biggest form?

    What exactly represents the graphs of the population tab?

    To what extent does it allow you to work (or implement) with traits? A part of the genome that produces part of the phenotype. And then intervene in the evolution of one or other traits in isolation?

    I will see the other examples when I have more time.

    Thank you!



  • John Harding

    Hello Daniel,

    I've put a video from Cecilie's presentation at the Malmö computational group last week. Hopefully this should explain some of the ideas, we know the documentation is crap at present.

    You need the Lunchbox, Weaverbird and Kangaroo plugins for the examples. Maybe even Meshpipe. Next release we'll ensure to include examples that have 'raw' gh components to avoid these errors.

    Indeed, in the pipeline is integrating automatic optimisation for specific objectives, with more artificial selection methods (hence the large populations + K-means actually). These are the kind of nice ideas that we need to steer direction, so thanks for the suggestions!

    You can double click on a design to display it within grasshopper itself. No trait working yet, and yes this means that mapping has to be pretty direct for meaningful evolution. Actually, measuring the directness of mapping would be an interesting future development, i.e. comparing parameter space to objective (phenotype) space.

  • John Harding

    Dear Group,

    I've added a new video on the group page running through one of the simple examples included in the latest version of Biomorpher (0.2.0). Hope it helps to explains some of the thinking behind the software.

    Best wishes,

    John.