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!

engine inquiry

hi john, 

thank you so much for your continuous efforts. 

in the sake of academic writing and citation for biomorpher have some questions for you

- what is the genetic algorithm (mating /mutating/ cross over) principles. 

-also what are the principles for clustering and on what basis does it choose the REP for each cluster

- and if you have any publication about it i would be grateful if you recommended it for me. 

regards

anas

  • up

    John Harding

    Dear Anas,

    To answer your questions in sequence:

    • The genetic algorithm uses a floating point encoding, with single point mutation. There is only one probability rate which can be triggered on any gene. Mutation at present simply replaces the gene with a new random (normalised) value. In future I should implement polynomial mutation or similar, but to be honest I have been trying to keep things as simple as possible. Selection is roulette wheel for both artificial and performance based methods.
    • There is no crossover at all. Indeed, crossover has been shown to be somewhat ineffective for interactive evolution (in general cases), although I don't have the reference to hand (note: If you use Biomorpher with Embryo, things are a little different as cross-over in the definition can be caused by a single point mutation in the genotype, but let's not go there here).
    • Clustering algorithm is K-means++. The cluster centroid is actually the closest member of the population to the true centroid. We may change this in future, so that the centroid itself can be a new design, but not yet. Google 'Cluster-Orientated Genetic Algorithms' for more info, and a couple of papers written in 2004 I believe.
    • No publication as yet. We are planning something though after a couple of upcoming workshops. It will be based on mixed-mode evolution (objective function with artificial selection in the same run). Will post something when I get round to writing something!

    Nice to hear you are using biomorpher, what do you plan to use it for in the end?

    Thanks,

    John.