Author: William Bryant
Date: 12:31:31 01/30/99
Go up one level in this thread
On January 30, 1999 at 14:34:15, Robert Hyatt wrote: >On January 30, 1999 at 13:34:46, William Bryant wrote: > >>On January 30, 1999 at 11:23:31, Robert Hyatt wrote: >> >>>On January 30, 1999 at 09:59:38, Steve Maughan wrote: >>> >>>>I have a couple of question regarding hash tables - can anyone help? >>>> >>>>1 I see in the Crafty code that the flag for a hash entry can be "value is >>>>worthless". What is the condition for storing this type of entry? >>>> >>> >>>that's an entry that has been 'cleared'. IE the score/bound is totally >>>no good because something changed at the root that caused the piece/square >>>tables to be recomputed... which means scores will change. I set the type >>>to 'worthless' because the 'move' stored in such a position is still good for >>>move ordering, but the score/bound is not. >>> >>>if I just cleared the entire entry, I'd lose the move ordering stuff the table >>>contains... this way I just lose the score. >>> >>> >>>>2 Is it advisable to store the a) the side to move b)Enpassant square c) >>>>castling right in the hash code? ie assign a random value that is XORed for >>>>these conditions. >>> >>> >>>you _must_. I do it by dynamically updating the hash signature when I make a >>>move that makes an enpassant possible, and updating it again when I make a move >>>that makes the EP capture impossible. Ditto for castling. If you don't do this >>>you will get matches that are wrong, and results that are wrong. >>> >>>> >>>>All help appreciated. >>>> >>>>Steve Maughan >> >>I may have the wrong impression, but I though you maintained different hash >>tables depending on the side to move, ie a white-to-move table, and a >>black-to-move table. >> >>Can this be done by simple using an XOR value for side to move >> (ie include it if white to move, exclude it if white not to move). >> >>This would double the amount of available hash table space for me. > >up to you... I am testing this myself, in fact... and it seems to be >just as good as the wtm/btm tables... you have to xor in a random number >for positions where you have wtm, but that is all that is needed... > > > >> >>Thanks. >> >>William Bryant I just redid my hash tables to XOR in a number when white to move and to not do so (or to undo this number) for black to move. Since I don't do null moves (yet :) ) this is simple a single XOR with each move. The program runs faster and more effieciently (seems to anyway). Let me know what you get. William
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.