5 ms·
My issue with GA is that they are definitely the sexiest/best known evolutionary algorithm in their class, so they get used for a lot of things that they're not
by cmsmith 11y ago
My issue with GA is that they are definitely the sexiest/best known evolutionary algorithm in their class, so they get used for a lot of things that they're not really designed for. GA work best if you have lots of discrete parameters that combine in weird ways to determine fitness (you know, like DNA). I'm a structural engineer, and most search problems I run into have a smaller number of continuously valued parameters (like the locations of the joints in the car in the video). GA tends to try to swap parameters between the fittest of the previous generation, instead of looking in the area between those individuals.
- Lerc 11y agoThe way I look at it is the selection/mutation mechanism is where the strength lies, the rest can be applied in all manner of ways. There's no reason why you can't generate the candidate generations in intelligent ways, in fact evolutionary models would be an excellent platform for error prone heuristics. Any cases where the heuristic fails are just discarded with the rest of the failures. I'm currently putting together a shader based polygon evolver and one of the things that I want to implement is smarter mutations where it weighs the relative importance of each gene and can more aggressively mutate genes that contribute the least.
- Houshalter 11y agoYes, I believe there was a paper that hillclimbing with random restarts almost always did better than genetic algorithms. However does it really matter? It might save a little bit of time at best. But almost everyone has heard of genetic algorithms, so it's easier to talk about, than talking about particle swarm optimizations or whatever. Also genetic algorithms tend to excite people in a way that other metaheuristics just don't. People are fascinated with genetic algorithms, not so much with hillclimbing.
- ai_maker 11y agoI would say that hill climbing with random restarts works better because you must first define a cost function in a precise (and concise) symbolic mathematical way. Very much similar to simulated annealing, stochastic gradient descent and the like. However, GA's can be applied regardless of the piece of knowledge that is required to build this cost function. GA is a universal optimisation technique: as long as you can encode features in a gene form (this is very convenient for binary attributes) and rate the fitting of that gene you are ready to search the optimum. My stab at explaining GA's: http://ai-maker.atrilla.net/the-%EF%BB%BFgenetic-algorithms/ http://ai-maker.atrilla.net/the-%EF%BB%BFgenetic-algorithms/