Author: Bruce Moreland
Date: 15:56:17 07/11/01
Go up one level in this thread
On July 11, 2001 at 18:42:19, Heiner Marxen wrote: >On July 11, 2001 at 16:37:38, Dann Corbit wrote: > >>On July 11, 2001 at 16:16:29, Artem Pyatakov wrote: >> >>>I was just in the process of making my own program hash, and I was looking at >>>the Gerbil 01 source code for some guidance, but I noticed something strange. >>> >>>Does Gerbil at this point NOT hash En Passant squares? >>>Am I correctly thinking that this information should be hashed? >> >>Gerbil has the smartest e.p. hashing of any program I have ever seen. I intend >>to brashly copy it, as soon as I find the time. >> >>Gerbil hashes ONLY those e.p. information points where the pawn can *actually* >>be taken which is just plain brilliant. It will result in a lot more hash hits >>for no apparent penalty. >> >>An example of the genius of Bruce Moreland. > >I have not yet looked into the sources of Gerbil, please excuse my ignorance. > >If the above means "can actually be taken by a *legal* move", then it appears >to be really new. > >If thew above means "can actually be taken by a *pseudo legal* move", >then this is not really new. It has been discussed some time ago (on this >board IIRC). E.g. Chest does so, by setting the flag "e.p. is possible" >within move execution only for those pawn double steps with an enemy pawn >in the correct position (left or right of the moving pawn's target). >This is not perfect, but much better than flagging each double step. Yes, I'm doing this (second paragraph, not first paragraph) in Ferret. In Gerbil, I'm doing anything with en-passant or castling in the release version. Flagging each double-step is bad because there are a huge number of perfect transpositions that are regarded as hash table misses. >As a consequence the FEN generated from such positions is not strictly >correct according to the standard from SJE, but IMO the standard should >be changed, here. The square should not be set unless there is a legal en-passant capture, and I think that's the right way to do it, but a program shouldn't break because the en-passant or castling flags are bogus ("KQkq" with no rooks, etc.), either. bruce > >Regards, >Heiner
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.