-
Notifications
You must be signed in to change notification settings - Fork 120
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
HillClimbing acceptance criterion #82
Conversation
Codecov Report
@@ Coverage Diff @@
## master #82 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 25 26 +1
Lines 548 579 +31
=========================================
+ Hits 548 579 +31
Continue to review full report at Codecov.
|
@N-Wouda I didn't manage to finish this criterion today unfortunately. There's a subtle difference between LAHC as presented in Santini et al. (2018) and Burke and Bykov (2017) that requires more time to investigate. But the other criteria are ready to be reviewed! |
Can you explain the difference? If it's not easy to bridge the two, we might just go with one of the two. Where possible I prefer to implement the original methods, but if not possible we just have to pick and explain what we did in the docstring.
Great, I'll have a look hopefully (late) tomorrow! |
My understanding is not so good yet but I’ll try to explain. The difference has to do with how the deque is updated. There are two differences: first, it seems that the original authors append the candidate to the history if it is accepted and otherwise there is no change. The second difference is how they implement the FIFO queue. They use a pre-initialized array of length L and use idx mod L to access the position in the queue. In combination with the previous, it can be that at iteration v mod L there is no change of that element. Which is not how a FIFO works. The description of the original paper is not crystal clear on these details unfortunately I’ll be able to fix it, just need some time to tinker with it :-) |
I think I understand the original LAHC now. I'll probably implement this late today or early tomorrow. |
The most recent implementation of LAHC is based on Burke and Bykov (2017). I'm not too fond yet of the chosen input argument names, let me know if you have suggestions. Also, I couldn't get coverage to pass here, do you have any clue why? |
I understand it much better now! The differences between LAHC and HC are quite subtle, particularly wrt the greedy parameter. That took me a bit of thinking before I understood why that's different from HC. I think we're almost there. Most of the things I've highlighted now are about documentation. |
Two final remarks. After this I think it's good to go! |
Related comments: