Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question about Gerbil

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.