Cultured Perl: Genetic Algorithms, The Next Generation
BritMit writes "One of the more intriguing types of algorithm is the genetic algorithm. Genetic algorithms mimic Darwinian natural selection, where "fitness" selects individuals for survival, breeding, and, hence, adaptive mutation. A previous article: Genetic algorithms applied with Perl covered the background on this, and provided two Perl implementations, one that bred bytes and another that bred words. This follow-up article expands this idea of Perl evolution with more advanced material on genetic algorithms."
I know that's a joke, but just in case someone decides to take it seriously....
This is one of those persistent myths. Darwin apparently did dislike the way certain atheists tried to appropriate his work as a theological agrument, but there's no proof he ever disavowed evolution or converted back to Christianity at the end of his life. (Review: The Darwin Legend by James Moore)
That said, evolution and theology have little to do with each other. If you believe in God (or some version thereof), there's no reason to disbelieve that she/he/it used evolution as a mechanism of creation. Personally, I think a supreme being is an unnecessary complication, but that's not related to evolution either.
This is the voice of World Control. I bring you Peace.
Here's a great site if you just want to learn a little more about genetic algorithms and how they work. The Java applets on the pages are kinda interesting too.
http://cs.felk.cvut.cz/~xobitko/ga/
Dave
FPGA, Wireless, ASIC, Verilog, VHDL, HW, 10yr exp, Team Lead, Ottawa (More? Email above. slashdotusername=dgmartin98 )
Do you even know what esoteric means? Can you give me a definition of it that applies to Perl but not, for instance, C? Very few people on this planet can program, so the activity is by definition esoteric.
Now, I bet you mean that Perl is idiosyncratic, which is another thing entirely. It certainly is, especially compared with say Python, which is very structured. But here we get back to programmer efficiency. Perl's motto is, "There's more than one way to do it." If you can't handle the complexity, you're free to do it your own way. Even if your own way is using another language. Many Perl programmers swear by the language's flexibility and power; those people who prefer more restricted languages are free to use them.
I hope you realize, in retrospect, what a silly statement that is. Yes, poorly-written Perl is hard to maintain. Reply and give me a list of languages that make shitty code easy to maintain, eh?
Your comment about bugs is just as silly. Good programmers write good code; poor programmers write poor code and then blame their tools.
GAs and Perl are a great fit; it's precisely because they're both so alive that they work well together. A highly structured language would make it more difficult to do all sorts of wierd shit that you're not "supposed" to do. GAs are developing faster than the languages we use to describe them. It only makes sense to use the most expressive, idiomatic languages we have to manipulate them.
This isn't as much "normalization" as it is "don't take so many drugs when you're designing tables."