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.