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!

Optimization using Biomorpher

Hello,

Thank you John for the amazing tool Biomorpher.

I am a PhD student and I am using it in my work. I want to ask what method Biomorpher is using for optimization? is it Pareto optimal? if not then what is the method?

  • up

    John Harding

    Hi Abdulaziz,

    Pleased to hear you are using biomorpher. To summarise the current process:

    At each generation, fitness is assigned to each phenotype from 0.0 to 1.0. These are then used for roulette wheel selection (see Goldberg's classic book for more info on this). There is no elitsm at all. The process is as follows:

    • All fitnesses are reset to zero.
    • If a manual selection is made (i.e. the tickbox checked), than all designs in that cluster will have fitness set to 1.0 regardless of performance-based fitness. They can go no higher.
    • If no performance-based criteria is specified, goto selection.
    • If one performance-based criteria is specified, then normalise performance values for the whole population and assign this as the fitness. If fitness is already 1.0 (due to manual selection) then do nothing. Note that if you are minimising a performance value, we normalise and take 1-x of course.
    • If two or more performace-based criteria are used, then simply normalise performance values, sum these and divide by the number of criteria.

    So at present, there is no Pareto approach here. Multiple criteria are assumed an equal weighting based on the min and max performance values, and combined to a single objective. Academically, this is known as a 'no-preference method'. This will likely change in future as we develop the tool, but even mixed mode interactive and performance based optimisation is quite rare, so we'll see how things go and how much time I can find!

    Just to add, this is different to typical multi-objective optimisation methods in that you could in theory evolve something that is poorly performing for all performance-based objectives (i.e. nowhere near a Pareto front), simply because you like the look of it.

    I'm just writing a paper on this at the moment, so will have some more references in due course.

    Hope this helps,

    John.

    1
    • up

      Antoinette Stevens

      I’ve been trying to stay more consistent with my daily routine lately, especially balancing long work sessions with physical activity. The madmuscles app actually helped me a lot with keeping a structured fitness routine without spending too much time planning workouts. It’s super convenient when you’re busy with projects and still want to stay active.