Article View: gnu.chess
Article #5616Hashing in gnuchess 4.0 pl 61
From: Dietmar Wolz
Date: Mon, 26 Apr 1993 12:45
Date: Mon, 26 Apr 1993 12:45
47 lines
2408 bytes
2408 bytes
Some ideas about hashing in gnuchess4pl61:
1) routine PutInTTable in util.c
if (score > beta)
{
ptbl->flags = lowerbound;
ptbl->score = beta + 1;
}
else
ptbl->flags = truescore;
Why beta+1 is stored ? If we have a window (alpha,beta) and a result score
with score > beta, then score should be a lower bound for the real value.
Storing score instead of beta+1 would cause more (correct) cuts.
2) routine ProbeTTable in util.c:
#ifdef notdef /* Never happens! see search */
else if (ptbl->flags & upperbound)
Thats true, but why ? Todays machines have large memory resulting in large
transposition tables. Why not also store upper bounds ? This again results
in more cuts during search.
3) routine ProbeTTable in util.c:
if ((ptbl->depth>= (short)depth) && (ptbl->hashbd == hashbd))
/* ^^^^^^^^^^^^ we can use some informations of the entry even
the depth is not large enough */
I agree to the comment.
Only when ptbl->depth >= depth you can use the value or bound.
But ptbl->mv is very useful when ptbl->depth >= depth - 1.
ptbl->mv should be the first move evaluated when ptbl->depth == depth - 1,
because ptbl->mv was the move selected during an earlier stage of
iterative deepening. This should improve the current move ordering heuristics.
To choose the probably best move first is very important, if you want to
enhance the search by singular extensions
(I currently perform some experiments).
Dietmar Wolz, e-mail: dietmar@cs.tu-berlin.de
Tel. +49-30-31473137, Fax. +49-30-31423516
Technical University Berlin, Fachbereich 20 / Sekr. FR 6-1
Franklinstr. 28/29, 1000 Berlin 10, Germany
Technical Details
Message-ID:
<1rglhs$l3d@news.cs.tu-berlin.de>Path:
arc1-ca.pugleaf.net!gmd.de!ira.uka.de!math.fu-berlin.de!cs.tu-berlin.de!dietmarShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 10d71d,d290045303a8aad2,start X-Google-Attributes: gid10d71d,public X-Google-ArrivalTime: 1993-04-26 05:46:37 PST Path: arc1-ca.pugleaf.net!gmd.de!ira.uka.de!math.fu-berlin.de!cs.tu-berlin.de!dietmar From: dietmar@cs.tu-berlin.de (Dietmar Wolz) Newsgroups: gnu.chess Subject: Hashing in gnuchess 4.0 pl 61 Date: 26 Apr 1993 12:45:48 GMT Organization: Technical University of Berlin, Germany Lines: 47 Message-ID: <1rglhs$l3d@news.cs.tu-berlin.de> NNTP-Posting-Host: spezi.cs.tu-berlin.de Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit