Author: Robert Hyatt
Date: 21:51:25 06/21/03
Go up one level in this thread
On June 21, 2003 at 22:48:01, scott farrell wrote: >I have had pawn hashtables for sometime, here is what I currently hash: > >- pawns >- castling rights > >I store: >- score >- pawnattacks (my engine is bitboard based, so this is a bit board for >sidetomove) > >This is fine for pawn only eval, passed, connected passed, doubled, etc etc. And >if you take these pawn-only scenarios, I get 99% hash hit, and no collisions >(more or less). > >My question goes to when you need to include other factors to score pawns >effectively, like: >- the king position and amount of other material for passed pawn races >- the king position for passed pawns, if the king can protect the passed pawn, >then it is more valuable. If you include other pieces, you have to hash them into the signature. This will kill that 99%. I don't do it myself. For anything other than pawns, I do that pawn scoring _after_ the hashing has been done. > >Now if you dont hash the "other info" like King position, I assume you have a >nice new bug. If you do hash it, it ends up storing more info, and slowing, more >collisions and less hits in % terms, and the incremental hashkey generation >becomes more complex each time. > >What do other people do? > >Do you put king protecting passedpawns in the evalKing routine instead? You certainly should have it outside the pure pawn code, yes. > >What about passed pawn races? Do you try to put that in evalking? that is essential, yes.
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.