Remove code that doesn't work is a good practice, BUT, it is also a good practice to test each part of your engine to ensure that you can go one step further.Henk wrote:Tried LMR for the tenth time. Used a simple implementation: apply LMR when move is not a capturing move. Did not notice much improvement.
Maybe the program is more tactical, but I also saw very bad strategical lines.For instance bishop got locked in totally by its own pawns.
I cannot measure ELO. But if there is any improvement it certainly is not spectacular. I remove the LMR from the program. I don't want extra code in my program if it doesn't help much.
Don't try to apply LMR if your eval isn't working with a minimum of quality. Also if your move generation does not produce the exact moves for every position. Try to do a perft function before.
Don't try LMR if your qsearch is not working well, or your move ordering functions are bad, etc, etc.
We don't know if your qsearch doesn't stand pat correctly, or whatever.
Now, replace the word "LMR" in the text above with the name of any heuristic, and you'll get a good answer to any of your questions.
You'll have to be more patient.
Regards.

