[ANN] geva-clj 1.2 - Grammatical evolution in clojure

172 views
Skip to first unread message

cameron

unread,
Jul 25, 2012, 6:33:34 PM7/25/12
to clo...@googlegroups.com
Grammatical evolution is a form of genetic programming that allows you
to search for a program fragment or form that has a high fitness by
evolving and testing multiple models across generations.

Grammatical evolution differs from traditional genetic programming in
that individuals are created from a BNF grammar, this makes it much
easier to specify constraints in the solution and adapt the search to
new problem domains.

geva-clj allows you to evolve clojure programs or drive java based
searches written in the GEVA framework.

There's a getting started guide available at http://cdorrat.github.com/geva-clj/
The source is on github at http://github.com/cdorrat/geva-clj

The GEVA project page with lots of documentation and Java examples is
available at http://ncra.ucd.ie/Site/GEVA.html

The core library is available on clojars, add the following to your project.clj
[org.clojars.cdorrat/geva-core "1.2-SNAPSHOT"]

Cameron.

Jeff Rose

unread,
Jul 26, 2012, 9:07:31 AM7/26/12
to clo...@googlegroups.com
Wow, cool.  Over the years we've talked about using some kind of grammar constrained evolution to generate synthesizers and musical ideas in Overtone, and this could be just the tool to do that.  Would it be possible to perform iterations manually, rather than having to pass the fitness function to geva-run?  That way we could create a new generation, generate mp3's based on their output, let people score them, and once all scored request the next generation.

Now I need to think about how to define synthesis grammars...

-Jeff

cameron

unread,
Jul 27, 2012, 6:22:54 AM7/27/12
to clo...@googlegroups.com
It doesn't support that out of the box but it should be pretty straight forward to add.
Was the use case you were thinking of something like this http://paste.lisp.org/display/130713 ?

Cameron.
Reply all
Reply to author
Forward
0 new messages