It's been a decade since I have written a BF program, but if I'm not mistaken, the winning strand in the gif example has quite a bit of dead code, for example here: [[]+ +,] This entire loop must always be skipped, because if entered, the inner [] loop will also enter, and run indefinitely. It would be cool to run it through more iterations, to get to the local minimum of length, rather than just a correct program.
This appears to be GA rather than GP, but I did some experiments with GP a while ago and the most counterintuitive thing I discovered was how essential junk code turns out to be. First, for anyone unaware of the difference, in Genetic Algorithms (GA) you have fixed-length strings of instructions. Genetic Programming (GP) is a superset in which you have ASTs, which can get arbitrarily large (which can be a problem if…
It better not, as DNA isn't planning to "get down into final generations". The Borg would be long dead if it ever stopped adapting.