I have been trying crafty 23.4 and I appreciate the better PVs. I found one situation where I occasionally get shortened PVs. It is doing reverse analysis. I analyze down a line and start backing up moves and sometimes the PV is 1 or 2 plies long. I believe a simple fix for this would be if a hash hit would cause an exact cutoff and the cached pv is either truncated or not there, don't cut off. This would be extremely rare in normal game play, so I doubt the cost would be measurable.
I also noticed that you changed the age field to use the 6 unused bits in the tt. Did this fix some problem?
crafty pv hash request
Moderator: Ras
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: crafty pv hash request
I'm drawing a blank for the reason I did that, but there was a reason. I believe that part of the issue is that if you do a search and only have a 1 or 2 bit age counter, things would not remain in the PV hash long enough. And this is still a problem I am thinking about.jwes wrote:I have been trying crafty 23.4 and I appreciate the better PVs. I found one situation where I occasionally get shortened PVs. It is doing reverse analysis. I analyze down a line and start backing up moves and sometimes the PV is 1 or 2 plies long. I believe a simple fix for this would be if a hash hit would cause an exact cutoff and the cached pv is either truncated or not there, don't cut off. This would be extremely rare in normal game play, so I doubt the cost would be measurable.
I also noticed that you changed the age field to use the 6 unused bits in the tt. Did this fix some problem?
For example, I do a search, dump the PV, etc, which is also saved in the PV hash table. Then I start to ponder, and now the age is updated and I will overwrite old entries before I overwrite current ones. And that can cause me to lose the old PV info, while still having the corresponding normal hash entry survive since a path hash entry is 16x bigger than a normal hash entry. I lose the path, keep the hash entry, and _still_ can see a short PV as a result.
Still thinking...