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
Simplify SEE calculation (no X-Ray) #365
Conversation
Do not use x-ray in SEE. Bench # 9159664 Master # 6716940
|
This is not a simplification, this is a breakage of SEE.
I'm quite surprised this patch has been approved indeed, because it makes
no sense.
It is like: "simplify castling, removing long castling", or "simplify pawns
removing en-passant".
SEE is a quite clearly defined algorithm, you cannot butcher it just
because it is not an ELO loss!
Now SEE works as expected and as is described in literature, after this
patch it is no more SEE.
|
|
This is quite interesting that it passed. It's not a simplification though, it does break the idea behind SEE. Now, the fact that the full SEE doesn't seem to be necessary is an idea worth testing some more! But I agree with Marco that this patch should not go in as a simplification. RE: approving the test runs - I generally just make sure that the code is not malicious. I don't usually check the SPRT bounds, but perhaps we should have an alert if they are different that the usual. |
|
@mcostalba: I dont see your point. If Rocky640 would just change the name of the function to, say, ROCKY_SEE, would be ok for you? Your comparison to "simplify castling, removing long castling", or "simplify pawns, removing en-passant" does not hold since SEE is not part of chess rules. |
|
OK, let's call this LazySEE. This LazySEE is just a bit more blind than SEE |
|
What is the advantage of lazy see? Two lines less of code? Oh well.. You guys are totally missingg the point : this is not a simplification, If your patch would prove stronger maybe, after renaming SEE, you could On Saturday, June 13, 2015, Rocky640 notifications@github.com wrote:
|
|
I agree with Marco. A change that removes code lines but breaks the underlying logic is not a simplification. It's an interesting result though... I'm closing the request because the patch is not committable, it would need to pass [0,4] to be committed. |
|
Hi, I dont have a really strong opinion on the point, but I have a question. Why have the following patches been commited as simplification, and the LazySee patch not? In particular the second one surprises me, i would have considered it a parameter tweak. I really just want to understand how you guys think about this simplification stuff. |
|
SEE is a classic computer chess algorithm, well described in literature and Patches you refer to are just tweaks, they don't implement any classical On Sat, Jun 13, 2015 at 6:03 PM, Stefano Cardanobile <
|
|
Ok, this is an understandable argument. So, can we agree that "A simplification is a patch which removes code and does not break any algorithm for which SF claims to have a reference implementation"? This is just for me for the future... |
|
What is a simplification and what is not? This is always somewhat question
On Sat, Jun 13, 2015 at 6:22 PM, Stefano Cardanobile <
|
Tweak evaluation parameters for racing kings
Passed STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 31885 W: 6055 L: 5953 D: 19877
And LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 76309 W: 12017 L: 11981 D: 52311
Bench: 9159664
Same version which passed the tests, but with dead code removed.
See also next pull request for a possibly faster version.