-
Notifications
You must be signed in to change notification settings - Fork 222
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
[Feature request] Adding Hill Climbing #1066
Comments
What's your intended use-case? Is the domain (multivariate) continuous? |
My intended use case (at the moment) is program synthesis β programs are symbolic though (I haven't figured out how I might be able to reduce it to a vector/matrix-centric representation). The domain is currently discrete, but will become mixed (so aspects discrete, others continuous). I didn't see this before I opened the issue β but I don't believe I can actually specify the problem's objective using the syntax |
What's the objective? |
Assemble a program which maximizes the likelihood of an action sequence in a POMDP. The program specifies rewards and beliefs for the POMDP, then simulation is used to MC-integrate a likelihood estimate. (Trying to be as high-level as possible, let me know if this is unclear. π ) |
Alright, that makes it a bit more clear. Are you simulating this program writing process? |
I don't think so? (I don't fully understand what you're looking for. π ) In terms of [S]HC: You can treat the neighboring programs as mutations (a la EvoComp-style mutations) of the best program. Each mutation is then scored via simulation (processed described above). Then, we convert the likelihoods of the neighbors into a distribution via softmax and follow [S]HC accordingly. (So, either taking |
@pkofod friendly ping about this. π |
π I was wondering if there's a reason that [Stochastic] Hill Climbing isn't part of
Optim.jl
βΒ I definitely get that Simulated Annealing is a "better" version of [S]HC, but [S]HC is still useful for many problems. (Definitely understand that it's a local optimizer, but it's not that uncommon to use in Program Synthesis!)I'm happy to contribute it, just wanted to get a sense of why it might not already be in
Optim.jl
. πThe text was updated successfully, but these errors were encountered: