Hi All, it's my pleasure to share with you two libraries: darwin and algebolic.
Algebolic is a library for evolving mathematical expressions. You can use it to perform what's known as symbolic regression, where a symbolic mathematical expression is found that fits a given dataset. More generally, you can use it to evolve mathematical expressions that optimise any score function. The expressions are implemented so they can be very quickly evaluated, as can their derivatives which is useful in more advanced applications. We use it in my research lab, for example, to evolve laws of physics directly from data. Repository: https://github.com/JonyEpsilon/algebolic Getting started example: http://viewer.gorilla-repl.org/view.html?source=github&user=JonyEpsilon&repo=algebolic&path=ws/demo/intro.clj Algebolic is powered by ... Darwin is a flexible framework for programming genetic algorithms, aimed at research applications. It is representation agnostic, working just as well for simple GA examples as it does for complex genetic programming problems. It can be configured to perform both single- and multi-objective optimisation, including the SPEA2 algorithm. It has facility for adaptive evolution where the run parameters evolve in response to changes in the population. Repository: https://github.com/JonyEpsilon/darwin Getting started example: http://viewer.gorilla-repl.org/view.html?source=github&user=JonyEpsilon&repo=darwin&path=ws/demo.clj Some of the code is "research-quality" and in particular the core data structures in Darwin are a bit suspect. And the documentation is a bit sparse in places. But it works and maybe someone will find it useful :-) Enjoy! Jony -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.