Thanks.
I stumbled across these programs too, when I searched for evolution algorithm in clojure ;).
Might be, that I can use these at work, if the need arise...


Another thing about the posted code here.
When the alogrithm is stopped, the start-stop-agent became the state "stopped". Because this agent has not the state "running" anymore, there is no send for any other agent anymore. But these agents are available and "running" correct?

Does these unused agents use up any System ressources?
And if yes, might it be better to stop/remove them, when they are unused?

Am 08.04.2012 17:19, schrieb Lee Spector:
I don't know if this will help with the issues that are really motivating this thread, 
but for what it's worth I've written a couple of genetic programming systems (genetic 
algorithms in which the genomes are programs that are run as part of the fitness tests) 
in Clojure and I generally use agents to compute fitnesses across multiple threads and 
"await" to synchronize generations... which I gather is a different approach 
than was taken in the code being discussed, but in case it interests anyone see:

https://github.com/lspector/Clojush (this is a fairly mature research system 
that evolves Push programs)

or

https://github.com/lspector/taggp (this is a much simpler and more traditional genetic programming system 
with one novel feature, involving "code tagging" -- which is implemented in a pretty ugly way in 
"eval-with-tagging" but the multithreading part, using "pmapall", is pretty 
straightforward)

BTW I put an even simpler, almost minimal genetic programming system at https://gist.github.com/1452484 -- 
this one isn't even multithreaded (although one could easily use the "pmapall" approach from above) 
and it does have one non-traditional feature (called "trivial geography", which limits who can 
compete/mate with whom based on distance in the population), but it may be a good example for people who want 
to see one simple way of doing genetic programming in Clojure. Yes, scandalously, it uses "eval" in 
the error function.

  -Lee


--
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

Reply via email to