News for hackers. Stuff that matters.
Re:Evolutionary Algorithm: Evolving "Hello, World" by jacques_chester on Wednesday September 28, 2011 @09:10AM (#3047645)
> Just a string of 0s and 1s? CPU opcodes?

These have been tried. Historically Genetic Algorithms have represented their genotypes as bit strings. Some Genetic Programming systems use CPU instruction strings (pros: fast as heck, cons: can produce indecipherable spaghetti code that breaks when you remove those 400 NOOPs because it's adapted to the cache size of this particular CPU).

> Or maybe some higher level sub-units.

These too. Sometimes as trees of instructions, dataflow diagrams, FSMs and so on.

Re:Evolutionary Algorithm: Evolving "Hello, World" by nydev on Wednesday September 28, 2011 @09:54AM (#3047822)
Very interesting.."indecipherable spaghetti code that breaks when you remove those 400 NOOPs because it's adapted to the cache size of this particular CPU" - sounds a little like our "junk" DNA (though I suspect the analogy breaks down in the details.)
Re:Evolutionary Algorithm: Evolving "Hello, World" by jacques_chester on Wednesday September 28, 2011 @10:17AM (#3047929)
It can get pretty Rube Goldbergesque, apparently. The main rule of thumb is that if you're doing GP with CPU strings as your representation, beware of including run time in the fitness function. Because you will almost inevitably get over adaptation that breaks on any other platform.