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!

feedback

I was able to make some first tests with biomorpher and I have to say that it works already quite well and i really like it! Nice that it works also with galapagos and embryo!

I think i didn't understand everything so far but I will nevertheless try to give some feedback and then extend this list once oi gained more knowledge about it.

1) It would be nice if you could set and save a view vector for all models at the same time. that would make the comparison a lot easier because every model has different interesting views

2) Color could be helpful i think. Would it be possible to read the mesh vertex color values? If that not straight forward maybe the component could have another input which takes a list of colors for each mesh you input in the geometry input.

3) Is the closeness of two outcomes only computed by the closeness of the genes? Sometimes you have very ruff parameter spaces where a little shift in the genes can make quite big changes in the outcome. Would it be possible to compute closeness or similarity of two outcomes based on the outcome itself? For example compare the resulting meshes to each other? 

4) It would be also great if you could replace a certain outcome with a solution that you manually generated by altering the sliders. That would be also a way to influence the direction.

5) I see that you are still working on the history. It would be great if one could use biomorpher as well to store you favorite versions of a definition. Something like a more advanced version of the state manager where you can also see the states and crossbreed them easily.

Best, Chris

  

  • up

    John Harding

    Hi Chris,

    Many thanks for your feedback, much appreciated. Pleased that you like things so far... early days. 

    On your points:

    1) Absolutely. Just to clarify, do you mean that whilst you are navigating a single design and you wish the others to be updated to that view also? There's a trade off here as we would need an extra button on the viewport (that we're trying to keep uncluttered as best we can)... I think it wouldn't be too bad. I'll put it on the enhancement list on git.

    2) One of the best things about meshes in wpf is the simplicity... one of the worst things is lack of vertex shading which is a real pain. Getting into OpenGL, DirectX, etc. is not going to happen with the spare time I currently have, but what you suggest is quite a nice compromise (i.e. one colour per mesh). I'm still hoping I can figure a method to get vertex shading with wpf (stackoverflow shows others with similar struggles!), although it looks very tricky. We are looking into it!

    3) It is, and yes this is a big problem when the mapping between genotype and phenotype is indirect (for example, the gh definition contains a random component or something). You can compare on the phenotype as you suggest, but this takes computational effort, such as some form of shape analysis. One hope is to compare genotype and phenotype 'solution' spaces (and thus give a measure of directness). On the TODO list!

    4) Hmmm, not thought of that one. Good idea, a kind of import design into population. Thanks! That could work nicely.

    5) Current idea is to maybe save a population history file, which would as you suggest act like a state manager of sorts. The data structure is quite complex in order to future proof the history approach, but we think we have a nice way of doing it and will be in the next release.

    Thanks again for your feedback Chris, its much appreciated.

    Best wishes,

    John. 

    PS: What is that mesh shape you have there? Curious.

    2
    • up

      Michael Fluer

      Salutări din Alba Iulia! Un prieten bun mi-a recomandat platforma asta după ce a văzut cât de mult mă chinuiam să recuperez niște pierderi vechi. Am intrat pe https://highflybet.com.ro și am început să joc online casino bets poker cu multă atenție la detalii. Strategia mea a dat roade și am reușit să ies pe plus după foarte mult timp. Sesiunea de slots online de la final a fost bonusul perfect pentru ziua de azi. Sunt satisfăcut.