Komodo 9 and hash table usage
Moderators: hgm, Rebel, chrisw
-
- Posts: 1494
- Joined: Thu Mar 30, 2006 2:08 pm
Re: Komodo 9 and hash table usage
I confess find that field nearly useless. I use it once for setting hash size. I also confess that I have used it for other things while developing a chess engine. For example, I wanted to see how good my chess program was at searching the best move first when there was a best move. Just take over hashfull and it can report that as a convenient percentage. And it works in most GUIs already.
-
- Posts: 5563
- Joined: Tue Feb 28, 2012 11:56 pm
Re: Komodo 9 and hash table usage
Since not somehow "resetting" the value between moves will always make it go to 99 quickly and stay there for the remainder of the game, and since many users get very upset by a value of 99 and might even fear it hurts their hardware, it seems to me the intended behaviour is to reset it between moves.mjlef wrote:Unfortunately, the existing UCI standards do not address what this is supposed to mean. Should it be the percentage of hash table used on a given move, or the percentage of the total hash used? I do not have a strong opinion either way. The only use we make of it is in trying to set an optimum size for the Hash table.
But I would recommend not reporting it at all. It is such a completely useless number.
-
- Posts: 588
- Joined: Sun Nov 23, 2008 11:16 pm
- Location: Berlin, Germany
Re: Komodo 9 and hash table usage
But resetting it between moves will make it peg at 0 once the hash is filled. So it's a no-win situation.
http://www.open-chess.org : Independent Computer Chess Discussion Forum
-
- Posts: 27790
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Komodo 9 and hash table usage
Reporting the entries accessed during the current search and the one directly preceding it, as I described, would have neither of these problems. It won't go to 0, and it won't converge to 100 by indefinite accumulation.
-
- Posts: 588
- Joined: Sun Nov 23, 2008 11:16 pm
- Location: Berlin, Germany
Re: Komodo 9 and hash table usage
That may be so, but I wouldn't hazard to describe that as a reasonable interpretation of the (admittedly vaguely) specified protocol.hgm wrote:Reporting the entries accessed during the current search and the one directly preceding it, as I described, would have neither of these problems. It won't go to 0, and it won't converge to 100 by indefinite accumulation.
http://www.open-chess.org : Independent Computer Chess Discussion Forum
-
- Posts: 27790
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Komodo 9 and hash table usage
I think it would be the most reasonable interpretation: you count exactly that what might still prove useful (used in the previous search, which might perhaps yet be visited in the current one), and you discount what has been 'proven' useless by not having been visited in the (completed) previous search.
How could counting something that was shown not to be relevant anymore in the previous search, or not counting something that was relevant then, and has not yet shown to be not needed anymore, be considered "more reasonable"?
How could counting something that was shown not to be relevant anymore in the previous search, or not counting something that was relevant then, and has not yet shown to be not needed anymore, be considered "more reasonable"?
-
- Posts: 588
- Joined: Sun Nov 23, 2008 11:16 pm
- Location: Berlin, Germany
Re: Komodo 9 and hash table usage
I know you refuse to admit error and won't back down, so I won't argue with you. I'll leave it to you to justify your implementation against the protocol's specification:
How does your arbitrary usefulness test in any way satisfy "the hash is x permill full"?
jb
Code: Select all
* hashfull <x>
the hash is x permill full, the engine should send this info regularly
jb
http://www.open-chess.org : Independent Computer Chess Discussion Forum
-
- Posts: 6442
- Joined: Tue Jan 09, 2007 12:31 am
- Location: PA USA
- Full name: Louis Zulli
Re: Komodo 9 and hash table usage
At this point, the consensus seems to be that the specification is unclear, and that the information itself is of little or no value.sockmonkey wrote:I know you refuse to admit error and won't back down, so I won't argue with you. I'll leave it to you to justify your implementation against the protocol's specification:
How does your arbitrary usefulness test in any way satisfy "the hash is x permill full"?Code: Select all
* hashfull <x> the hash is x permill full, the engine should send this info regularly
jb
My original point was that "hashfull" is included as an item under "info" in the specification. Other such items in this list include "nodes" and "tbhits".
Are these typically reported as totals accumulated from the start of the game? No. They are zeroed at the start of the current search.
In any case, it's clear the "specification" isn't one. (And I wonder why hashfull was specified as "permill" rather than "percent". Aren't two significant figures enough? Why not four?)