Author: J. Wesley Cleveland
Date: 09:36:51 10/08/01
Go up one level in this thread
On October 08, 2001 at 10:56:38, Robert Hyatt wrote:
>On October 08, 2001 at 07:29:04, Bernhard Bauer wrote:
>
>>On October 07, 2001 at 21:39:52, Robert Hyatt wrote:
>>
>>>
>>>2. You can tone down (or even disable) the null-move search. You can
>>>try sel=2/3 (the default) then sel=2/2, sel=1/1, and finally sel=0/0 which
>>>will turn null-move off. This will further reduce the search depth and overall
>>>strength.
>>>
>>
>>From my experience sel=0/0 doesn't turn null-move completely off.
>>Here an example with sel=0/0
>>
>>[D]4B/8/6N/5p/1r4p/6pk/7b/4K2Q w - -
>>
>>
>> (4) 6-> 1.90 -0.44 1. Bc6 Rb1+ 2. Ke2 Rxh1 3. Nf4+ Kh4
>> 4. Bxh1 Kg5 5. Ke3
>> (3) 7 1.96 -0.22 1. Bc6 Rb1+ 2. Ke2 Rxh1 3. Nf4+ Kh4
>> 4. Bxh1 Bg1 5. Bg2 Bd4
>> 7 2.75 ++ 1. Kd2!!
>> (2) 7 3.79 0.00 1. Kd2 g2 2. Qe1 g1=Q 3. Qh4+ Kg2 4.
>> Bc6+ Re4 5. Bxe4+ fxe4 6. Qxg4+ Kh1
>> 7. Qxe4+ Qg2+ 8. Ke3
>> (2) 7-> 6.29 0.00 1. Kd2 g2 2. Qe1 g1=Q 3. Qh4+ Kg2 4.
>> Bc6+ Re4 5. Bxe4+ fxe4 6. Qxg4+ Kh1
>> 7. Qxe4+ Qg2+ 8. Ke3
>> 8 8.14 0.00 1. Kd2 g2 2. Qe1 g1=Q 3. Qh4+ Kg2 4.
>> Bc6+ Re4 5. Bxe4+ fxe4 6. Qxg4+ Kh1
>> 7. Qxe4+ Qg2+ 8. Ke3 Qxe4+ 9. Kxe4
>> Bg3
>> (2) 8-> 14.57 0.00 1. Kd2 g2 2. Qe1 g1=Q 3. Qh4+ Kg2 4.
>> Bc6+ Re4 5. Bxe4+ fxe4 6. Qxg4+ Kh1
>> 7. Qxe4+ Qg2+ 8. Ke3 Qxe4+ 9. Kxe4
>> Bg3
>> 9 20.50 0.00 1. Kd2 g2 2. Qe1 g1=Q 3. Qh4+ Kg2 4.
>> Bc6+ Re4 5. Bxe4+ fxe4 6. Qxg4+ Kh1
>> 7. Qxe4+ Qg2+ 8. Ke3 Qxe4+ 9. Kxe4
>> Bg3 10. Nf4
>> (2) 9-> 42.50 0.00 1. Kd2 g2 2. Qe1 g1=Q 3. Qh4+ Kg2 4.
>> Bc6+ Re4 5. Bxe4+ fxe4 6. Qxg4+ Kh1
>> 7. Qxe4+ Qg2+ 8. Ke3 Qxe4+ 9. Kxe4
>> Bg3 10. Nf4
>> 10 1:05 0.00 1. Kd2 g2 2. Qe1 g1=Q 3. Qh4+ Kg2 4.
>> Bc6+ Re4 5. Bxe4+ fxe4 6. Qxg4+ Kh1
>> 7. Qxe4+ Qg2+ 8. Ke3 Qxe4+ 9. Kxe4
>> Bg3 10. Nf4 Bxf4
>> (2) 10-> 2:22 0.00 1. Kd2 g2 2. Qe1 g1=Q 3. Qh4+ Kg2 4.
>> Bc6+ Re4 5. Bxe4+ fxe4 6. Qxg4+ Kh1
>> 7. Qxe4+ Qg2+ 8. Ke3 Qxe4+ 9. Kxe4
>> Bg3 10. Nf4 Bxf4
>> 11 3:35 0.00 1. Kd2 g2 2. Qe1 g1=Q 3. Qh4+ Kg2 4.
>> Bc6+ Re4 5. Bxe4+ fxe4 6. Qxg4+ Kh1
>> 7. Qxe4+ Qg2+ 8. Ke3 Qxe4+ 9. Kxe4
>> Bg3 10. Nf4 Bxf4 11. Kxf4 Kh2
>> time=5:00 cpu=201% mat=4 n=142525014 fh=89% nps=474k
>> ext-> chk=10823921 cap=287226 pp=207595 1rep=668532 mate=112510
>> predicted=0 nodes=142525014 evals=28834988
>> endgame tablebase-> probes done=0 successful=0
>> hashing-> trans/ref=47% pawn=99% used=99%
>> SMP-> split=1018 stop=90 data=7/32 cpu=10:05 elap=5:00
>>
>>
>>Kind regards
>>Bernhard
>
>
>I'm not sure what that is supposed to show. But look at option.c to see how
>the selective command changes null_min and null_max, then look at search.c
>(the only place a null-move search is done) to see how it uses those two
>values. 0/0 will definitely turn it off...
>
>Completely...
the code in search is
null_depth=(depth>6*INCPLY && pieces>8) ? null_max : null_min;
if (depth-null_depth >= INCPLY)
value=-Search(tree,-beta,1-beta,ChangeSide(wtm),
depth-null_depth,ply+1,NO_NULL);
else
value=-Quiesce(tree,-beta,1-beta,ChangeSide(wtm),ply+1);
which looks to me like it will perform a null move to the full search depth with
null_max and null_min 0. The if statment that controlls the null move
does not reference null_max and null_min.
if (do_null && !tree->in_check[ply] && pieces && (pieces>5 || depth<421)) {
This page took 0 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.