Author: Don Dailey
Date: 09:35:42 02/25/99
Go up one level in this thread
On February 25, 1999 at 05:48:06, Larry Griffiths wrote: >On February 25, 1999 at 05:10:19, Ulrich Tuerke wrote: > >> >>On February 25, 1999 at 00:35:29, Don Dailey wrote: >> >>>On February 24, 1999 at 17:53:05, Larry Griffiths wrote: >>> >>>> >>>>I have read a few chess papers about hashing. The ones that I have read >>>>recommend not hashing at the leaves of the tree, but I seem to get better >>>>performance doing it this way. (At least in the opening and middlegame). >>>>Am I missing something or is this recommendation from the stone ages? >>>> >>>>Larry ~(:-> >>> >>>Do what works best. I hash 4 ply into the quies search but no farther. >>>Why? Because I ran a lot of timing tests and this was optimum. >> >>Hashing in quiescence seems a little bit tricky to me. Imagine that you are >>generating captures only but you get a non-capture move from the hash table >>probe. >>How do you handle this case, ignore this hit or make this move ? >> >>Uli Uli, This should rarely if ever happen because presumably you will only read and write quies positions from quies positions. But there are move sequences that can generate this situation, especially so with certain kinds of move extensions but not limited to them. But it doesn't really matter. You get two things out of the hash table, a score or bound improvement, and a suggested move. The key word here is "suggested." If it turns out that you can use the score, there is no issue, just use the score. If it turns out that you cannot use the suggested move at the next node, then it's probably because that position was seen at a deeper level elsewhere in the tree. That's ok, not a problem. If you are worried about using the suggested move to verify that you do not have a collision, don't be. This check is no different than adding 1 or 2 bits to the key and it doesn't guarantee anything anyway. There is nothing wrong with checking it if you can, but don't lose any sleep over it and don't throw away a small speedup over this. - Don >>>Your mileage may vary! >>> >>>- Don > > >Thanks Don and Uli, > >I actually only hash that last plys of the primary search. I still generate >all moves so the hashing is cutting out a lot of those moves. I know that >some folks have code that only generate capture move's or quick gen code >that validates the killer move and only generate the rest of the moves >if the killer does not cause a cut-off. > >As to the question of quiesence hashing, I do not see how this particular >case of a capture would cause a problem for me since I use a bitboard in >my hash table to detect collisions and the positions would not match. > >My mileage may vary. How true Don. I realize that no two chess programs >are the same and what may work for one may not produce the same results >for another. I would not want to stop someone from trying what I have >already tried, just because they thought It was a dead-end. I believe in >confirming the results that have been reported by others. > >Larry :-) There is not an issue here to confirm or disprove. I don't hash at end nodes because it slows my program down. I DO hash 4 ply into quies. I gain very little from doing this, so I wouldn't lose any sleep over this. There is a good chance I will have to adjust this depending on the platform I run on. On a big distributed memory machine I may not even hash on the last ply of the main search for instance. I don't really know, you should do what works. To illustrate Deep Blue did not hash at all in their hardware search, which is approximately 4 ply of main search! Not because they cannot, but because they took the best tradeoff for them and their situation. They have the possibility of hashing locally on chip but they had this turned off during the last match. I understand that Bob probably would gain nothing whatsoever from doing this since his quies is designed to get out fast. My program uses MTD(f) and it may well be that I would get different results with the less aggressive aspiration searches most programs use. - Don
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.