Science

The Problem with Genetic Algorithms? They're Too Cute

Posted 19 Feb 2008 at 17:00 UTC by steve Share This

A McGill Daily article offers a high-level overview of Genetic Algorithms (GAs) and the advantages brought to scientific problem solving by applying nature's method. The traditional problem solving method used by Scientists was described by Richard P. Feynman in a Southparkesque-way: 1) Write down the problem. 2) Think really, really hard. 3) Write down the solution.. Genetic Algorithms offer an advantage over this method in that they aren't limited by human preconceptions about how a problem should be solved. However, the article describes the downsides of GAs too. They may offer multiple solutions, leaving you to guess which is best and they may require excessive trial-and-error knob-twiddling. According to Doina Precup of McGill University, the biggest problem is that the beauty of the technique can blind people to the drawbacks; "They’re too cute. Genetic algorithms don’t get bonus credibility just because that’s what nature did".


She needs a GA for that!, posted 19 Feb 2008 at 22:53 UTC by The Swirling Brain » (Master)

Perhaps if she had a GA to control the GA and reduce her workload that would solve her problem and then GAs wouldn't have any downsides? That would be cute!

I guess this is the first time that I will have to agree about GAs! There are downsides to GAs but I at least give it some cred. Not that I think GAs equal life, the universe and everything, but they are handy tools and they can offer solutions that are better than you'd come up with given the same amount of time. However, they're still work to setup and use, but they can be very handy.

"Cute" is not really a word I'd use for them, tho, unless the software gui had my little ponies skins on it or something?

Machine learning in real life, posted 20 Feb 2008 at 04:05 UTC by cjang » (Journeyer)

Some coworkers are using machine learning for large classification problems. It is very difficult to get good results even in the completely supervised case with an abundance of data. This explains why there are contests like the Netflix Prize.

So I would modify Feynman's steps for machine learning to be:

  1. Write down the problem
  2. Think about it but not too much, not solving in closed form
  3. Run experiments, more impressive if this is "machine learning"
  4. Pick a solution (not "the" solution as there are many)

Dull, dirty, or dangerous designers?, posted 20 Feb 2008 at 22:24 UTC by MDude » (Journeyer)

WHaving something that can make designs you wouldn't think of does sound usefull, but I'm pretty sure if that if you give different people a general enough problem and have them work seperatly, they'll all most likely have very different answers, so I don't really see "not like anything a human would make" as signifigant as it might sound, since you could probably also say humans can reach solutions no GA could ever make.

More importantly, I don't know why I would just have something generated for me without trying first, because I like designing things. I'd rather make an attempt at making something, then maybe have a GA (or some freinds) tweak around with it to see if they can improve it.

Uses, posted 21 Feb 2008 at 13:40 UTC by c6jones720 » (Master)

I inherited a program that contained a GA for navigation and path planning. It was used successfully in robot navigation. I thought it was an intersting approach to solving the problem but never quite got my head around exactly how it worked.

Too much focus on "the problem", posted 28 Feb 2008 at 23:47 UTC by TheDuck » (Journeyer)

The "problem" with GAs is you really have to know the question. For example, you wish to make that path-finding robot. A robot that makes random turns will eventually get to its destination. So you have to identify and quantify the factors to maximize or minimize them. Fewest turns? Shortest time? Smallest drain on the batteries? Which (or which combination) supports your objective?

Every time I think about using a GA I always find I have to really think about the question and what "success" means as a set of quantifiable, significant factors. You might say the rest takes care of itself. :)

P.S. The next challenge is how to make a GA of a GA. Imagine a genetically programmed robot that improves itself or shares with others (control program breeding in a swarm). This is the next thing I want to work on. If I can figure out how "happy" or "healthy" a robot is then it can "breed" with other robots to continually improve. This also allows for adaptation. For example, I tear off its lawn cutting appendage and put a sweeper there. How does it adapt to that and immediately begin to optimize its job with its new actuator? Or I add a sensor? Or a wheel breaks? Great, now I'm not going to be able to sleep tonight.... :)

See more of the latest robot news!

Recent blogs

15 Nov 2014 mwaibel (Master)
14 Nov 2014 Sergey Popov (Apprentice)
14 Nov 2014 wedesoft (Master)
5 Nov 2014 shimniok (Journeyer)
5 Aug 2014 svo (Master)
20 Jul 2014 Flanneltron (Journeyer)
3 Jul 2014 jmhenry (Journeyer)
3 Jul 2014 steve (Master)
2 Jul 2014 Petar.Kormushev (Master)
10 Jun 2014 robotvibes (Master)
X
Share this page