If the move exceeds 75% of maxhistory I am not reduce. I have also tried to start with a value of maxhistory, for example 16000 for not reducing in the first ply, works very similar.
I tested values 60-85% and the best for me was 75%.
Alessandro Scotti wrote:Hi,
anyone tried LMR not based on history?
I tried various ways of using history information for Bright.
None of them ever worked, so yes I have in fact applied
non-history based reductions exclusively.
I do have a couple of other criteria though.
MartinBryant wrote:FWIW, Colossus does not use history stats with LMR.
FWIW NOW gathers the stats, but the default is now 100%, meaning it ignores them. This means it wastes time gathering information it does not use! Actually, I use the info in some Futility-like pruning decisions.
bob wrote:I don't have any history counters in Crafty. I found that at the depths I see today, the history counters were simply saturated with nonsense...
My experience is different. I still haven't found anything better than history counters for ordering the remaining non-captures after the killer moves. I have tried many approaches (ordering by piece square tables, static exchange evaluation, moving hanging pieces to safe squares, defending the destination square of the null move refutation at the current node, etc.), but to my surprise, history counters perform better than everything else (or at least they did the last time I tried). There also doesn't seem to be a trend that the efficiency of history move ordering decreases at big depths with my program, as long as I scale down the history scores sufficiently often.
I agree about using history counters for LMR, though. They seem to have zero effect in my program, and I currently don't use them (although I did use them in the public Glaurung 2.0.1).
In Twisted Logic, I noticed that not having history counters for LMR is faster and stronger in endgame as it searches deeper, but in middlegame, it is weaker than the one with history counters.
I also noticed that in longer time controls and/or in fast hardware, the two methods are about of the same strength. It seems that history counters helps only in blitz games.
I remembered a year or so ago that the author of Zappa posted about still using history counters as it helps in blitz. I'm not sure if it was still valid with the latest Zappa today.
I just make a test in chess960 and blitz (1 '+1 ")
With history --> DanaSah - AICE: 130 - 70
Without history --> DanaSah - AICE: 114.5 - 85.5
Previously I have already obtained similar results. I lost about 60 points ELO. This seems to agree with the words of Edsel, I will try to remove the story only in the endgame.
In Twisted Logic, I noticed that not having history counters for LMR is faster and stronger in endgame as it searches deeper, but in middlegame, it is weaker than the one with history counters.
I also noticed that in longer time controls and/or in fast hardware, the two methods are about of the same strength. It seems that history counters helps only in blitz games.
I remembered a year or so ago that the author of Zappa posted about still using history counters as it helps in blitz. I'm not sure if it was still valid with the latest Zappa today.
Hi Edsel,
that makes sense to me but in my tests I could not measure the difference (800+800 blitz games at 1+1). I've also had a hard time in the past trying to establish a bound for the history threshold, I've tried 20%, 40% and 60% with basically identical results (600 games each).
Anyway I'll repeat the history/no-history test with 900 games for each version, and post the result here.
P.S. In Hamsters, I have a "is_tactical()" function that tries to see if a move can be "interesting". E.g. forks, skewers and so on are detected by this function and usually handled "with care". I'm not really sure if this helps, but it's there.
Alessandro Scotti wrote:Hi,
anyone tried LMR not based on history? In a recent test Hamsters scored 471/800 with LMR+history and 469/800 with same LMR but no history. In other words, if the LMR prerequisites are satisfied (not in check, not an "interesting" move and so on) the move is reduced regardless of its history. I will run another test but so far it seems the two are practically equivalent. However, the "historyless" version is simpler and more appealing to me... have you tried this?
RomiChess is now using two identical history tables for LMR. The difference is that in table 1 an entry is reduced after every 20 hits and in table 2 an entry is reduced after every 2000 hits. Both tables must agree to grant an LMR reduction. Got a new record against Hamsters doing it this way!
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through