Author: Robert Hyatt
Date: 12:59:22 10/08/01
Go up one level in this thread
On October 08, 2001 at 12:36:51, J. Wesley Cleveland wrote:
>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)) {
Actually you are right. However, this will _definitely_ be worse than not
doing a null-move search at all... because the point of null-move is to save
time. And with null_depth=0, not only does it save no time, but if the null-
move search doesn't fail high, it wastes a huge search to boot. Just fixed it
in the source code for the next version, but doing selective=0/0 will definitely
reduce the strength... by maybe 50 points or less as that is all null-move is
really worth, generally...
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.