Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Result of Hash Table

Author: Stuart Cracraft

Date: 13:02:27 01/20/98

Go up one level in this thread


On January 20, 1998 at 15:22:51, Robert Hyatt wrote:

>On January 20, 1998 at 14:10:49, Stuart Cracraft wrote:
>
>>An error was discovered in the search/quiescence calling.
>>
>>The call to  the quiescence search was made
>>after the probe to the hash table, instead of before.
>>When this was moved to before the probe to the hash
>>table, the probe success rate jumped up to the kinds
>>of levels we're talking about here.
>>
>>The speed of the program jumped up 20% from 25,000 nps
>>to 30,000 nps on the same test suite and the hashing
>>success rate increased significantly from 14% to 40%
>>for the suite.
>>
>>--Stuart
>
>Your "bug" was correct.  You *always* probe before doing anything
>else.  That's the point.  What you did was make the current position
>probe fail by deferring it, so that a deeper position probe would
>succeed. You bumped up your probe hit rate, but check out your nodes
>to reach a specific depth.
>
>The probe should be the first thing you do.  Then the null-move
>search.  Then the regular search.

Okay to test your hunch, I did a 6-ply search of the first 20 positions
from Win-at-Chess (unless it is a checkmate, which returns when found).

In my old way:

	search(alpha,beta,depth,etc.)
	  :
	  :
	Do transposition table probe
	if (depth <= 0) quiescence(alpha,beta,etc.)

With the above this is the search result for the 20 positions:

Time = 51.7 Rate=24332 Nodes=[927630/329326/1256956]
EvalCnt=289750 RptCnt=276 NullCut=49186
Extensions: Check=45027 Recapture=23718 Pawn=350 PassedPawn=0
            OneMove=0 Threat=0 DeepSearch=0 Mate=0
Hash: Success=10% Collision=16%
Pawn Hash: Success=93% Collision=5%

The new way:

	search(alpha,beta,depth,etc.)
	  :
	  :
	if (depth <= 0) quiescence(alpha,beta,etc.)
	Do transposition table probe

With the new way, these are the results:

Time = 46.0 Rate=27392 Nodes=[930731/329941/1260672]
EvalCnt=293997 RptCnt=271 NullCut=48967
Extensions: Check=45281 Recapture=23840 Pawn=360 PassedPawn=0
            OneMove=0 Threat=0 DeepSearch=0 Mate=0
Hash: Success=31% Collision=16%
Pawn Hash: Success=93% Collision=5%

So for the cost of searching 10,000 more nodes (but at a higher rate),
I got a 10% improvement in total time with the new way. Am I missing
something? I still like the new way, even with more nodes.

--Stuart



This page took 0.01 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.