Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Software Evolution?

  1. Jul 4, 2009 #1
    So I was reading http://www.damninteresting.com/?p=870#more-870" and was astounded by the results Dr. Thompson produced. Basically, he used the principles of evolution to get the results he wanted. Is there a name for this type of research? Other examples? I'm very intrigued by it. I wonder how efficient one could make a computer algorithm using this technique.
    Last edited by a moderator: Apr 24, 2017
  2. jcsd
  3. Jul 4, 2009 #2
    These methods are called Evolutionary Algorithms (EA) have been used in computer science for decades to solve almost any problem imaginable. There are many variations upon the method,

    See here

    At a high level these EA's are just another method for solving mathematical optimization problems,


    The major advantage of EA's is that they can sometimes be used to exploit certain trends in feature space to converge upon a minima or find a pareto front more quickly than other methods. However they are also inherently inefficient algorithms so they are not best suited for everything.
  4. Jul 5, 2009 #3
    more generally, you might want to look at optimization problems. it's a bit like finding minima and maxima on a curve, but once you add several dimensions, the problem quickly becomes intractable, so you just start heading off in random directions (Monte Carlo, anyone?) and try to follow paths that minimize or maximize your objective function.

    "perfect individual" is rarely assured, though. the size of the space you're searching through gets huge and computing time is finite.
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook