I've tried lately to add LMR to my engine, but the results are not looking good. I'm losing like 100 ELO with the changes.
Here's the code for the LMR part of the engine:
I know Stockfish tests if the current node is a PV node and does not reduce in this case. How do I determine if the current node is a PV node?
Also, am I doing anything obviously wrong with LMR here?
theturk1234 wrote:I've tried lately to add LMR to my engine, but the results are not looking good. I'm losing like 100 ELO with the changes.
Here's the code for the LMR part of the engine:
I know Stockfish tests if the current node is a PV node and does not reduce in this case. How do I determine if the current node is a PV node?
Also, am I doing anything obviously wrong with LMR here?
Thanks,
David Cimbalista
I do not know which version of AB you are using, but re-search with an open window could be very expensive in a plain vanilla AB. Basically, average depth must be higher when using LMR. If it is not, then you have some bug.
Yes, my move ordering is decent at the moment, but it can use some improvement!
I was looking for that glauringchess.com page but it went offline but the link you gave works; thanks Tony!
Well, what should I do if the LMR search returns above alpha? I could try opening the window a little, but risk having to research with a full window if that search is above alpha. I just thought searching immediately with an open window was best.....
You can try first a zero-width search but with no reduction. Then if that still fails high, you can widen the window (again with no reduction).
LMR is highly dependent on move ordering especially if you increase the reduction with the move index. So if your move ordering is bad expect bad results from LMR.