Fritz Help

Hash tables

Hash tables

Previous topic Next topic  

Hash tables

Previous topic Next topic  

Hash tables are memory areas in which the program can store positions and evaluations while it is calculating the moves of a game. If the program encounters the same position again, it can simply take the evaluation from the hash tables, rather than analysing the position all over again.

 

Example

 

Hash tables increase the playing strength of the program considerably. This is especially true of tactically strong engines like Fritz, Houdini or Kommodo. Some run at well over 500,000 positions per second, and will fill the hash tables very quickly. After that, the search slows down. This is not the case in a slower, positionally oriented program, which processes less positions per second, and takes much longer to fill the hash tables.

 

For slower time controls and deep analysis the engines need large hash tables. Tournament games with an average of three minutes (180 seconds) per move would ideally require over 256 MB for the hash tables. On blitz levels 16 to 64 MB is enough.

 

Some engines work best with hash tables sizes that are powers of two. This means that 64 MB of hash tables is much more valuable than 63 MB. Hash table sizes are set in the "Load engine" menu.

 

Some technical notes

Generate/do-it.gif    The Windows operating system takes unused memory and uses it for internal purposes (e.g., to cache file and speed up the hard disk). If you set very large hash tables, Windows has to free the memory the first time you activate the engine. To do so, it writes the contents to the hard disk, closes files, etc. The process can sometimes take a while, and during that time the hard disk will run constantly.

 

Generate/do-it.gif    After the memory required for the hash tables is free the hard disk should show no more activity (except for short seeks in the openings). This applies to subsequent games as well.

 

Generate/do-it.gif    If there is constant disk activity during the game, then the hash tables you have set are too large. Windows has installed part of the tables on your hard disk, which slows the program down drastically. You will notice that the search depth remains very low.

 

Generate/do-it.gif    If there is no disk activity at all when you first start an engine, this generally means that you have been too timid with the hash tables size. You may want to increase the size to get optimum playing strength.

 

Generate/do-it.gif    If you are playing an important tournament game with large hash tables, you should start the engine once to force Windows to release the required memory. Press Alt-F2 to start the engine, and Alt-F2 again to stop it when everything is quiet.