Author: rasjid chan
Date: 08:25:24 06/19/05
Go up one level in this thread
On June 19, 2005 at 05:54:02, Vasik Rajlich wrote:
>On June 19, 2005 at 03:06:35, rasjid chan wrote:
>
>>Vasik,
>>
>>How do you resolve this simplest of case:-
>>We have:-
>>1) absearch has a rep3 that FH with 0 > beta;
>>2) Assume for the node below, all other moves also fail low.
>>
>>Now at the node after returning from rep3():-
>>Consider code-block A.
>>
>> int absearch(int alpha, int beta){
>> int best, alpha0 = alpha;
>>
>> score = -absearch();
>> //score== 0 from rep3
>>
>> if (score>alpha){
>> alpha = score;
>> ...
>> }else if (alpha == alpha0){
>>/*code-block A*/
>>
>> //if we DO NOT pass down return_type, we do this:-
>> if (score>best)
>> best = score;
>> }
>>
>> If all other moves also fail low with score below 0, then
>> best = 0; we finally return best(0) which is an error.
>>
>> //if we PASS DOWN return_type, we do this:-
>> if (return_type == REP3)
>> best = alpha;
>> }
>
>I don't understand the purpose of these four lines. If you just remove them,
>you'll get the behavior you want.
>
>> If all other moves also fail low with score < alpha , then
>> best = alpha; we finally return best(alpha) which is CORRECT.
>>
>
>If you had removed those four lines above, then you would be returning best,
>which is 0 - which is the correct fail-soft value.
My mistake here. 0 is the correct fail-soft value for "this" current
path-dependent search. When this node is hashed, path-dependency enters
into HT and if there is a need to avoid HT corruption, we have to be informed
and passing down REP3 may be a way.
>
>> This is similar to the cases of forward-prunning, lazy evaluation, etc
>> when we CANNOT fail low and soft at the same time.
>> }
>>
>
>It's not that you can't fail soft, it's that your fail-soft value won't be as
>soft as you would like.
I apologize I can never understand how to analyse the way search() intereacts
with set board positions. But I understand now, also from dieter's reply,
that fail-soft value need not be strictly correct UB / LB; ie some
risk may be taken.
>
>Let's do another crazy position :)
>
>[D] rnb1kbnr/p1p2p1p/3p4/4p3/1pP1P1p1/2N2N2/PP1P1PPP/R1BQKB1R w KQkq - 0 1
>
>Here, white is up a queen. Let's say that our alpha-beta window is 0.00. A very
>likely continuation of the search will be 1. (null) bxc3 2. (null) gxf3 3. null
>and white fails high with a score of around +3 (queen vs two pieces).
>
>You're still failing soft here - just not as aggressively as you would like.
>
>Vas
>
>>
>> return ....
>> }
>>
>>
>> Have I mixed up darkness with the light.
>>
>> Best Regards
>> Rasjid
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.