Author: Robert Hyatt
Date: 12:31:22 03/01/06
Go up one level in this thread
On March 01, 2006 at 15:26:46, Alessandro Scotti wrote:
>Hi Bob,
>well this is almost exactly what I'm doing in Kiwi, which is actually a
>straightforward implementation of an idea I got from Uri here on the CCC. The
>only difference I see is I don't have the "another move failed high" bit, I just
>count fail highs.
Then here is a key question:
If you only count fail highs, how do you know whether this move fails high here
and there, or everywhere?
That's why I decided to count fail highs, along with failed lows when another
move failed high, so I could tell the difference...
Or are you incrementing the counter _every_ time the move is searched??? It
seems that the two counter approach provides more information, particularly in
"small cases" where you have one fail high and 1 fail low. Now you know that
this is a 50% fail high move rather than just knowing it failed high once. One
of two probably is enough to say "don't reduce" as compared to a move that did
fail high 40 times, but it was tried 5000 times...
Or, maybe I misunderstood what your code says...
>
> int hindex = hpiece * 64 + curr.getTo();
>
> if( haveHistoryPruning &&
> depthExtension == 0 &&
> validMoves >= 4 &&
> ! curr.isCaptureOrPromotion() &&
> ! givesCheck &&
> depth >= (4*FullPlyDepth) &&
> true )
> {
> int n = histTable[ hindex ].count;
> int f = histTable[ hindex ].fail_high;
>
> if( f < (n / 8) ) {
> depthExtension = -FullPlyDepth;
> }
> }
This page took 0.03 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.