-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for custom individual generation #64
Comments
Thank you for taking the time to let us know! |
Hello again @nnichols, I did not have much time to work on this in recent months, but I'm now back on this again. I gave another glance at the existing code and my solution, and I think that this implementation of mine is a potential solution, albeit an ugly one. I'm working on a better solution, and in the meanwhile hosted my own version on Clojars for easier access. I'm not sure whether you want to maintain this library, but if you can take some time to give me some feedback regarding my ask, I'd greatly appreciate it. If you don't want to maintain this anymore, I can continue from my fork for my own use if you think that's more appropriate. Let me know what you think. |
@btezergil Hello, I'm back from vacation and will catch up on your PR. This library was mostly an educational endeavor for myself, and I provide basic support when I'm available. That said, it's not production code for any system I maintain- so I don't regularly run or test it myself. If you want to use it in a production capacity, I recommend maintaining your own fork. If you'd like to contribute back, great! If not, I totally understand that too. |
Hello again @nnichols, and thanks for the response! First of all, I do not plan to use this code in a production capacity, it's mostly for research purposes. My first choice would be contributing to the library itself (in terms of implementation and maintenance) if we can align on the changes. That said, I've noticed that my initial PR covers some areas but leads to some ugly code in the main runner, and will try to address that. Other than that, I understand that you are okay with the changes; I think we can continue from the PR and close this thread, WDYT? |
Yeah, I think we can continue the discussion in the PR |
Feature Request
First of all, thanks for this amazing and comprehensive library! I am working on a new project based on genetic algorithms (actually an old one, but the code was in Python and I've moved it to Clojure), and stumbled upon your library during my research for a new library to manage the evolution flow.
Problem Statement
Regarding the project above, I have a rather complex sequence representation that has a distinct structure consisting of non-uniform alleles. Consequently, generating individuals with
generate-sequence
method of this library does not work for me.There are some potential workarounds for me such as writing new wrappers that use my own version of
generate-sequence
, but looking at the library code, I thought that since the library supports custom binary (i.e. crossover) and unary (i.e. mutation) operators, I think it's also logical for it to support custom generation methods.Ideal Solution
evolve
function can get a generator function instead of an allele-set allowing generation based on a custom function.Alternative solutions
In my case, methods like
evolve
andgenerate-sequence
can be overriden with versions that generate custom sequences, but it's not a native solution.Additional Context
While I'm not very well-versed in Clojure, I can also try to add this to the library. I just wanted to know your point of view on this issue as the owner.
The text was updated successfully, but these errors were encountered: