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.