3 ms·
A little background here - Lisp is an ideal language for genetic algorithms because its syntax maps directly to S-expressions which can be represented as a tree
by zackmorris 8y ago
A little background here - Lisp is an ideal language for genetic algorithms because its syntax maps directly to S-expressions which can be represented as a tree (warning, PDF):
http://www.cis.umassd.edu/~ivalova/Spring08/cis412/Ectures/GP.pdf http://www.cis.umassd.edu/~ivalova/Spring08/cis412/Ectures/G...
This tree can be directly represented as a binary string which represents the DNA of the genetic algorithm.
So evolution is easy to simulate by randomly mutating nodes in the tree. Other operations like crossover (exchanging branches) and sexual reproduction are also straightforward.
Personally, I think that genetic algorithms are more approachable than neural nets and would like to see them emphasized more in machine learning (especially with modern video cards). When you think about it, both approaches are searching for local maximums/minimums in an effectively infinite search space. They are basically solving a giant matrix to find the function that maps inputs to outputs. Sure genetic algorithms generally take more computing power, but that becomes less of a problem with each passing year. Given enough time, evolution always wins!