Tech Off Thread

5 posts

The .NET Framework, Genetic Programming and Rudy Rucker

Back to Forum: Tech Off
  • User profile image
    karstenj

    This month's MSDN has an amazing article on genetic programming with the .NET Framework. If you aren't familiar with genetic programming, it is the application of evolution to writing algorithms and programs, fundamentally teaching the computer to breed applications.  This article uses the CodeDom to generate and breed applications based on a famous problem in genetic programming from John Koza's seminal work Genetic Programming: On the Programming of Computers by means of Natural Selection.   The problem itself is simulation of ants searching for food in the most efficient way. Source code is included, so you can get a sense of how this works.  There is even mutation added to keep some randomness in the gene pool.

    Where does Rudy Rucker fit in?  He's a computer scientist professor, but also a science fiction writer, who often includes genetic programming in his novels, perhaps with the most detail in a work called The Hacker and the Ants, which I'm sure was inspired by the very problem solved in this MSDN article. Definitely worth reading.

    I'll be breeding Avalon 3D apps in my spare time...

  • User profile image
    Titan

    An interesting implementation of Darwinian Algorithms:

    http://www.newscientist.com/news/news.jsp?id=ns99996112

  • User profile image
    Charles

    Thanks for the links Karsten and Titan.

    There is some very interesting research going on in the field of Artificial Life (aka a-life). Genetic programming is a staple in a-life.

    It's fascinating that computer science is as hungry for a definition of Life as biology. Then again, developing a unified definition of life is far from a strictly biological problem. It's mathematical (which can fork off into strange territory when you contemplate the notion of the universality of math), philosophical, chemical, physical, biological(rife with unknowns) and algorithmic. Makes good sense, though, given that the things trying to come up with this unified definition (and who created the disciplines above) are themselves alive. 

    Of course, like biology, a-life centers its search on implicit universal core principals like natural selection, which may be too limiting for a universal definition. Nevertheless, the a-life camp is very flexible when it comes to chemistry (as is the astronomy camp), designing some wild models of life forms based on non-carbon ingredients. A notable astronomer even devised a thinking cloud of gas with dynamic intelligence. But would such a construct evolve given the lack of a genetic subsystem? Smiley

    Should be fun to see how this all evolves. (Wait, No!- A System.Charles.UnhandledContradictionException was thrown. Program is aborting.)

  • User profile image
    qwert231

    Interesting, however, what you've termed natural selection, simply sounds like logic. The computer is simply changing parameters and storing results, ranking them and thus finding the ultimate results. You still design base parameters and rules. When it comes right down to it, rules are rules. You can't change the most basic and fundamental, so all you can ever do is try and try until you find the correct solution.

    So, these programs are not really random as evolutionists claim natural selection to be based on.

    Useful? Yes.

  • User profile image
    Tom Servo

    Yes and no. I suppose.

    Natural selection = Survival of the fittest
    Survival of the fittest = Best parameters

    If the rules are changing, it's evolution.

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.