Grasshopper

algorithmic modeling for Rhino

Hi all,

Need some tips from our powerful forum. I am currently working on a commercial project in the context of which I am conducting a facade study [unfortunately I can't post neither a definition nor a snapshot]. This facade has embedded some order, some hidden order & lots of randomness. I just started on working how to organize more the randomness and optimize the performance of the facade using the Galapagos evolutionary solver. In one of my case studies one of the genomes is a integer slider connected to the seed of a random number generator component .The results I am getting are better, and fitter patterns emerge. But I am afraid that I have been stuck in evolutionary neverending roundabout with the random component.

My question is simple and straightforward : Is it possible to achieve optimization by having random related genome, or you just get stuck in a local optima, found again randomly by the solver?

I remember seeing a similar post but it seems i can't find it...

Any piece of advice is appreciated.

Regards,

M.

Views: 259

Replies to This Discussion

Have a look at this blog-post about Fitness Functions. When you plug a gene into a Random seed input, you end up with a graph similar to the bottom-most image in that post. It will never work. The reason it doesn't work is because a minor change in seed results in a huge change in random sequence. So, seed=5 results in fitness A, seed=7 results in fitness B, but we can say nothing about the fitness for seed=6. It might be anywhere and everywhere.

You'll need to find a way to increase or change the randomness in a continuous fashion. Only then will you be able to get meaningful answers from an evolutionary solver.

--

David Rutten

david@mcneel.com

Thank you David,

I somehow knew that you would be the first to answer. I actually had understood that this kind of logic wouldn't work, but I wanted someone else to confirm it. Anyway the random component is only one of the genes so I suppose I will have to work my way round with the other inputs.

Thanks again for your help. Do you mind if I add this blog to my blogroll?

Marios

A way to make a smooth random sequence would be to make two fixed random sequences, then linearly interpolate between them. So for example you'd create:

A = {2,9,4,1,8,2,6,0,4}

B = {8,1,5,3,4,0,0,5,3}

Then use a slider to interpolate between these two sets:

slider t varies between 0.0 and 1.0, the expression that interpolates:

R = A + t * (B-A)

where R is the final random number. Of course this means you only get a very small subset of randomness, but at least it's smooth. If you want to evolve every single facade value, you'll need to create one slider per panel and evolve them all.

--

David Rutten

david@mcneel.com

I see... That makes sense.. I 'll give it a try just to compare the results... i don't think I will need to evolve each panel though, cause the random number is related mostly with the topological configuration of the facade.

Great, thanks once again...

M.

• View All