Re:How Do Genetic Algorithms Work? [video]
by cmsmith on Tuesday February 09, 2016 @08:33PM
(#11070209)
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.
Re:How Do Genetic Algorithms Work? [video]
by Lerc on Tuesday February 09, 2016 @10:28PM
(#11070573)
The 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.
Re:How Do Genetic Algorithms Work? [video]
by Houshalter on Wednesday February 10, 2016 @01:15AM
(#11071043)
Yes, 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.
Re:How Do Genetic Algorithms Work? [video]
by ai_maker on Wednesday February 10, 2016 @02:51AM
(#11071307)
I 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.
Re:How Do Genetic Algorithms Work? [video]
by theatraine on Tuesday February 09, 2016 @06:57PM
(#11069811)
I'm curious to see what people have used genetic algorithms for in practice. Personally I've used them for feature selection when I was trying to reduce a high amount of features to smaller amount for a classification problem.
Re:How Do Genetic Algorithms Work? [video]
by nickpsecurity on Tuesday February 09, 2016 @07:11PM
(#11069899)
Google "applications of" genetic algoritms. I got results that way years ago. The abstracts of conference papers are also informative. I remember them used for scheduling/planning and optimization problems. One person even made one to find the optimal set of compiler arguments to get best performance for Haskell programs. Look up Humie Awards for Genetic Programming for a long list of human-equivalent achievements too.
Re:How Do Genetic Algorithms Work? [video]
by auxym on Tuesday February 09, 2016 @09:36PM
(#11070412)
A grad-student-colleague of mine developped a control system for a robot using hyper-redundant binary-state actuators using GA's to search the solution space.
Re:How Do Genetic Algorithms Work? [video]
by dyarosla on Tuesday February 09, 2016 @08:53PM
(#11070271)
How difficult of a problem is it to break out of local optimums several generations down in a genetic algorithm? If we prune the domain space from the get-go randomly, and then keep on creating sub-domains of the original large (or potentially non-finite) domain, wouldn't we generally only head towards local optimums, albeit, quickly?
Re:How Do Genetic Algorithms Work? [video]
by danielbarla on Wednesday February 10, 2016 @08:18AM
(#11072500)
Reinforcement learning refers to the general problem of reward maximization where the agent must try solutions for itself and get feedback of the results via some kind of evaluation / fitness function. (As contrasted with supervised learning, where it the agent would be given examples, and would try to learn from that). Genetic algorithms are one specific class of optimization algorithms which accomplish this.
Exploration and / vs exploitation is just a natural consequence of trying to make best sense of the unknown environment. Different algorithms have different strategies for this, and are generally suited for different classes of problems (generally, the issue would be matching the nature of the problem with the nature of the optimization algorithm - which brings up things like the no free lunch theorem).
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.
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.
My stab at explaining GA's: http://ai-maker.atrilla.net/the-%EF%BB%BFgenetic-algorithms/
Of course they're definitely great for evolving little cars, like this other example shows: http://rednuht.org/genetic_cars_2/
My favorite is the guy who got e-ink displays to work using them.
Also see the Hummie awards, for the best use of genetic algorithms outperforming humans: http://www.genetic-programming.org/combined.php
See: http://dx.doi.org/10.1109/ICRA.2013.6630624
Exploration and / vs exploitation is just a natural consequence of trying to make best sense of the unknown environment. Different algorithms have different strategies for this, and are generally suited for different classes of problems (generally, the issue would be matching the nature of the problem with the nature of the optimization algorithm - which brings up things like the no free lunch theorem).