

Evolutionary algorithms now surpass human designers - nickb
http://www.newscientisttech.com/channel/tech/mg19526146.000-evolutionary-algorithms-now-surpass-human-designers.html

======
ivankirigin
Evolutionary algorithms require quantitative object functions. The set of
problems that have those are pretty small. Lots of design has to do with
beauty, which almost by definition isn't easily quantifiable.

Another issue is the complexity of the problem, which might make convergence
on even a semi-optimal solution difficult or extremely time consuming to find.
Complexity, even of a quantitative problem, makes for difficult objective
functions. Different dimensions of optimization require fairly arbitrary
weighting.

But the future is still exciting. iRobot is working on a new software
architecture for robotics, called Aware2. It will allow EA to permute fairly
high level pieces of code and behaviors. The system is still under
development, but it has great potential. If you're curious, it is in C++ for
component speed with boost.Python for glue & configuration. Similar systems
can be made for other complex problems, not just robotics.

~~~
henning
"Another issue is the complexity of the problem, which might make convergence
on even a semi-optimal solution difficult or extremely time consuming to
find."

Huh? Ant colony optimization and other such stuff can do quite a nice job on a
variety of classic NP-complete problems.

The set of problems where a quantitative objective function can be introduced
is fucking enormous. Do a Google scholar search for "evolutionary computation"
and look at all the different engineering/scientific fields it's used it.
There are thousands and thousands of papers on this stuff every year.

There's lots of tricks for controlling how individuals evolve - a lot of them
so obvious they aren't published. The perpetual challenge is always finding
the right balance between convergence speed and premature convergence.

~~~
ivankirigin
The behavior of ants is certainly amazing. But take a look at behavior based
robotics to see how well it scales. You won't find something as capable as,
say, a cat. At least not by human design. The system needed to evolve such
behaviors through EA would need to be quite complicated. We've seen systems
that can do a pretty good job on mobility -- like that flopping starfish from
Cornell. But locomotion is exactly the type of problem that has a very
precise, quantitative objective function.

But perhaps I was too broad. I should have said orderable, which is really all
that matters. You have to know something is better than something else. But
you can't just take a euclidean distance in high dimensional objectives.
Things just don't work like that. A real-world example: work-life balance. The
two parts are just not really comparable, making optimization difficult.
That's what I'm talking about.

Also, EA has lots of potential for lots of areas, but you have to compare it
to other methods of solving a problem to talk about quality of the approach.
Machine Learning offers a host of methods. Here is a great list of them
<http://www.cs.cmu.edu/~awm/>

