3 ms·
This isn't genetic programming at all. What's being described here is a kind of sample-based stochastic optimization which, if I were pressed, is most similar
by SeanLuke 8y ago
This isn't genetic programming at all.
What's being described here is a kind of sample-based stochastic optimization which, if I were pressed, is most similar to an algorithm known as a "(mu, lambda) evolution strategy". This is in the general subarea of evolutionary computation. Another algorithm in this area, for example, is the Genetic Algorithm.
Genetic Programming (GP) is the application of stochastic optimization techniques to a specific problem: the discovery and optimization of small computer programs or procedures. Because GP is famously associated with candidate solutions in the form of tree structures, it's also applied to non-program optimization as long as the problem involves trees. That's the rough boundary for the community.
The most famous example of a genetic programming system in Clojure is Lee Spector's Clojush (https://github.com/lspector/Clojush https://github.com/lspector/Clojush).
- throw2455 8y agoESs don't consider uniform sampling and there is no step-size adaptation involved in his algorithm so it is just a (mu,lambda)-EA.
- TeMPOraL 8y agoAKA. the usual confusion between "genetic programming" and "genetic algorithms".
- jmmcd 8y agoAnd ironically, Push/Clojush don't actually use trees! I quite like Push, and also Linear GP, the DAG-based system used by Schmidt and Lipson, and grammatical GP, depending on the application.
- SeanLuke 8y agoSure, there's no requirement to use trees: but because trees are so common, non-programming tree-representation stuff is also typically included in the GP umbrella.