Genetic Algorithms Flawed?
Recently I read
Prey which, while not a real deep book, did get me thinking about genetic algorithms, how they are being applied in computer science, and generally how they are used in nature. So, I've started to notice articles about them in the news recently. This phenomenon is akin to learning a new word and then all of a sudden it shows up everywhere... but I digress. I saw
this article over on
NewScientist.com and was struck by the thought that while useful, the application of genetic algorithms in this case might miss a large set of potential solutions.
What about the Runt?
Growing up we lived in a rural area and had "barn cats" which weren't really people friendly, but still came around when we set out food, etc. Many times there would be a "runt" in the litter, and many times that runt would have characteristics which would make it stand out from the rest, in a good way. Whether these characteristics were manifested as a result of some social interaction or because of genetic difference is unknown to me, but the runts were typically physically less "ideal" so, one might assume that even though their behavior and intelligence were desirable, they might not get their genetics back into the mix, if you follow.
Anyway, back to my original thought about the reactor design... from the article:
The algorithms they created first produce a population of reactor designs by
randomising all the different design factors involved. Each design is then tested in
a simulation for its "fitness", measuring its performance efficiency, running cost,
safety and other parameters.
The designs that perform best are singled out for survival. They are mutated and
recombined to create the next generation of designs. After many cycles, the
potential of the most refine designs is evaluated by engineers.
Which basically says that through a series of iterations, the "best" designs result. The key is in the iterations: "The designs that perform best are singled out for survival." which means a whole class of possible solutions is lost in every iteration. Granted, in the previous trial those designs which were dropped failed to perform, but what if something in them brought about an even better design in the next iteration? The simulation would never know.
In Nature, runts get a chance, but in the simulation I think we may be overlooking the runt and in doing so we have let ourselves potentially let the most optimal solution slip through our fingers.