News for hackers. Stuff that matters.
Re:Using Genetic Algorithms to Break Things by j2kun on Sunday May 25, 2014 @10:46AM (#7796453)
I largely agree with you, but there are recent pushes to make the study of genetic algorithms (usually not stated this way) more palatable to the theory community. Look, for example, to the work of Christos Papadimitriou [1] (who is the anti snake-oil guy if I've ever seen one). He gave a talk last year at the Simons Institute on his ideas [2]. See also [3].

The essential argument of this new school is that GAs (and evolution in general) do not try to find the optimal individual. Here is a reader's digest argument as to why: say you had actually achieved the perfect individual, then sex would result in imperfect children while the parents die off. So if evolution isn't optimizing fitness, what is it optimizing? One hypothesis is that it's balancing fitness and variation, so that if the environment changes drastically the entire population does not die off.

[Edit: another note to add] And there is a common adage in CS theory that for every problem, a focused gradient descent algorithm (using knowledge about the optimization function, domain, etc.) will always outperform GA. So this is a sort of meta-theorem that says asexual reproduction is better at finding the optimal individual than sexual reproduction.

There are concrete techniques being analyzed in this context, for example the "Multiplicative Weights Update Algorithm," which has been proven to perform well against adversarial manipulations of the environment. See [4] for a long and detailed reference of its applications to classical CS problems.

[1]: http://www.informatik.uni-trier.de/~ley/pers/hd/p/Papadimitr... [2]: https://www.youtube.com/watch?v=cWv-s6KuDlM [3]: http://simons.berkeley.edu/programs/evolution2014 [4]: https://www.cs.princeton.edu/~arora/pubs/MWsurvey.pdf

Re:Using Genetic Algorithms to Break Things by srean on Sunday May 25, 2014 @11:23AM (#7796530)
Now, I am thoroughly confused.

You provided (i) a link to Papadimitriou's dblp page, (ii) a link to an academic program to devise algorithms, data structures and mathematics to reconstruct and study evolution (nothing to do with GAs), a program in which Papadimitrou is involved and (iii) a survey paper on a classic optimization technique from the mid 80s known as exponentiated gradient method (alternatively called mirror descent, Bregman proximal gradient method, multiplicative update method), again nothing to do with GAs. Apparently it all connects to GAs, but how it does so totally eludes me :)

GA is not natural evolution, GA does whatever it is programed to do by whoever wrote the code for it. The program that you pointed to is about using CS techniques to analyze huge amounts of natural evolution related data (by the terrabytes) to make sense out of it.

I have not watched the video yet, so it is possible I am missing something, I must be.

Re:Using Genetic Algorithms to Break Things by j2kun on Sunday May 25, 2014 @12:05PM (#7796629)
GA has nothing to do with evolution? Now I am thoroughly confused. GA is inspired by natural selection. If you program your algorithm to mimic natural selection then of course it's related to evolution, and if you don't then it's no longer a GA. Maybe your point is that the GA community has taken their snake oil so far away from this that they're not even using natural selection anymore?

If you want to study GAs, and you want to avoid the snake oil, what would you do? Selling it as studying the mathematics of natural selection seems like a good idea to me. I'm not saying that's Papadimitriou's motivation, but he does mention things like GAs in his talks.

The DBLP page has a handful of papers at the very beginning relating to this new direction. I didn't want to presume to choose one, so I linked there. But for those who don't have the time to read the titles and abstracts, here is one titled "Multiplicative updates in coordination games and the theory of evolution." [1]

Here is an excerpt:

> In this paper we provide such a demonstration; in doing so, we make some totally unexpected connections between Evolution and familiar concepts from Computation and Game Theory.

They go on to show that the natural selection occurring in some well accepted model of natural selection is equivalent to a multiplicative weight update in a coordination game. This would suggest that if we want to come up with provable guarantees for the convergence properties of GAs, we may fare better by relating their dynamics to these well-understood tools.

[1]: http://arxiv.org/abs/1208.3160

Re:Using Genetic Algorithms to Break Things by srean on Sunday May 25, 2014 @05:00PM (#7797550)
> GA has nothing to do with evolution ?

GA uses evolutionary analogies and metaphors, but that is about as much the similarity between large scale algorithms and models to explore gene and evolution data goes. So really little or no similarity between the two except for use of common words.

To put it differently that academic program is as related to GA as, imaging algorithms to explore FMRI data is related to training artificial neural networks.

However the specific paper that you point to now, and changing GA to follow the nature's model is indeed an interesting idea.

Re:Using Genetic Algorithms to Break Things by hershel on Sunday May 25, 2014 @11:25AM (#7796533)
> balancing fitness and variation, so that if the environment changes drastically the entire population does not die off.

How can this property be advantageous for technological systems ?

Re:Using Genetic Algorithms to Break Things by j2kun on Sunday May 25, 2014 @12:07PM (#7796635)
If this is what GAs are doing then it would imply it's not a good technique for single-purpose optimization at all. It could be a good technique, for example, for designing robust agents to interact in some environment, such as robots walking or viruses in an unknown network.