Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: One stupid(?) null-move question

Author: Robert Hyatt

Date: 10:11:56 08/11/98

Go up one level in this thread


On August 11, 1998 at 00:20:16, Bernhard Bauer wrote:

>On August 10, 1998 at 04:59:04, Robert Hyatt wrote:
>
>>On August 09, 1998 at 23:57:46, blass uri wrote:
>>
>>>
>>>On August 09, 1998 at 23:28:43, Jouni Uski wrote:
>>>
>>>>Can any programming expert explain this: There are some simple positions, which
>>>>Fritz5 is not able to solve because of null-move(as I have been told). But
>>>>are they totally unsolvable even if I give Fritz enough time let's say one
>>>>year?!
>>>
>>>I did not give fritz one year to run but I believe Fritz cannot solve them
>>>and it is not a problem of time.
>>>If there is no threat then fritz simply do not analyze so it cannot see.
>>>There are positions other programs can solve in 1 second and fritz cannot solve
>>>because it sees the result of 1 move is a draw and cannot see the result of a
>>>second move is better because there is no threat in the second move.
>>>
>>>These positions are not common because fritz does not use null move in king and
>>>pawn endgames and when there are queens in the board
>>>position with no threat are not common.
>>>
>>>Uri
>>>>
>>>>Jouni
>>
>>
>>
>>Basically null-move fails whenever there is a zugzwang.  Which means that
>>not moving is the best move.  There are few such positions when there are
>
>This is the usual argument: There are few positions where null move fails.
>However, chess seems to be a set of many types which seldom occur.
>Bruce Moreland comes to mind when he provided code for a KNN-KP endgame and
>soon after he did it happend.
>
>If your program fails on nullmove uou are likely to never notice and that
>will strengthen you that null move problems are very rare.
>
>>pieces on the board, but they do exist.  And in such positions, each time
>>such a situation arises, the null-move fails high, not because the position
>>is good for the side on move, but because the position is so bad that doing
>>nothing is actually the best move...
>>
>>and no amount of searching will get around that, unless the null-move
>>algorithm is modified in some way...  It is possible, however, to reduce
>>the frequency of occurrences, but it means turning null-move off at selected
>>nodes...
>
>If you use a chess program for analysis purposes time (speed) may not be
>the most important thing - you may prefer accuracy. You may want your
>program to solve any type of position, at least to some debth.
>
>Here are two examples with a *modified* crafty to avoid the null move problem.
>
>
>FEN: 8/2b2pk1/6p1/p2p3p/P2P1P1P/2P3P1/2qB2QK/8 b
>
>       +---+---+---+---+---+---+---+---+
>    8  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>    7  |   |   | *B|   |   | *P| *K|   |
>       +---+---+---+---+---+---+---+---+
>    6  |   |   |   |   |   |   | *P|   |
>       +---+---+---+---+---+---+---+---+
>    5  | *P|   |   | *P|   |   |   | *P|
>       +---+---+---+---+---+---+---+---+
>    4  | P |   |   | P |   | P |   | P |
>       +---+---+---+---+---+---+---+---+
>    3  |   |   | P |   |   |   | P |   |
>       +---+---+---+---+---+---+---+---+
>    2  |   |   | *Q| B |   |   | Q | K |
>       +---+---+---+---+---+---+---+---+
>    1  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>         a   b   c   d   e   f   g   h
>
>Black(1): end-game phase
>              clearing hash tables
>              time surplus   0.00  time limit 10:00 (10:00)
>              depth   time  score   variation (1)
>starting thread 1
>                5     0.11  -0.66   1. ... Qd1 2. Kh3 Qg4+ 3. Kh2 Qd1
>                5->   0.24  -0.66   1. ... Qd1 2. Kh3 Qg4+ 3. Kh2 Qd1
>                6     0.28  -0.66   1. ... Qd1 2. Kh3 Qg4+ 3. Kh2 Qd1
>                6->   0.49  -0.66   1. ... Qd1 2. Kh3 Qg4+ 3. Kh2 Qd1
>                7     0.69  -0.66   1. ... Qd1 2. Kh3 Qg4+ 3. Kh2 Qd1
>                7->   1.70  -0.66   1. ... Qd1 2. Kh3 Qg4+ 3. Kh2 Qd1
>                8     2.39  -0.66   1. ... Qd1 2. Kh3 Qg4+ 3. Kh2 Qd1
>                8->   4.64  -0.66   1. ... Qd1 2. Kh3 Qg4+ 3. Kh2 Qd1
>                9     7.28  -0.66   1. ... Qd1 2. Kh3 Qg4+ 3. Kh2 Qd1
>                9->  16.00  -0.66   1. ... Qd1 2. Kh3 Qg4+ 3. Kh2 Qd1
>               10    23.75  -0.66   1. ... Qd1 2. Kh3 Qg4+ 3. Kh2 Qd1
>               10    56.27     ++   1. ... Qxa4!!
>               10     1:04  -0.27   1. ... Qxa4 2. Qxd5 Qc2 3. Qg2 a4 4.
>                                    f5 Qxf5 5. Bc1 Bd6 6. Bg5
>               10->   1:19  -0.27   1. ... Qxa4 2. Qxd5 Qc2 3. Qg2 a4 4.
>                                    f5 Qxf5 5. Bc1 Bd6 6. Bg5
>               11     1:55  -0.01   1. ... Qxa4 2. Qxd5 Qc2 3. Qg2 a4 4.
>                                    f5 Qxf5 5. Bg5 f6 6. Be3 a3 7. c4
>               11->   3:40  -0.01   1. ... Qxa4 2. Qxd5 Qc2 3. Qg2 a4 4.
>                                    f5 Qxf5 5. Bg5 f6 6. Be3 a3 7. c4
>               12     6:28  -0.08   1. ... Qxa4 2. Qxd5 Qc2 3. Qg2 a4 4.
>                                    f5 Qxf5 5. Bc1 Qg4 6. Bg5 a3 7. Be7
>                                    a2 8. Qxa2 Bxg3+
>              time: 10:00  cpu:200%  mat:-1  n:128702148  nps:214364
>              ext-> checks:10118863 recaps:653709 pawns:565899 1rep:4053339
>              predicted:0  nodes:128702148  evals:11368176
>              endgame tablebase-> probes done: 10  successful: 10
>              hashing-> trans/ref:38%  pawn:24%  used:w99% b99%
>
>Black(1): Qxa4
>              time used:  10:00
>
>and FEN: 2q5/8/6p1/B6p/7k/7P/R5PK/8 w
>
>       +---+---+---+---+---+---+---+---+
>    8  |   |   | *Q|   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>    7  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>    6  |   |   |   |   |   |   | *P|   |
>       +---+---+---+---+---+---+---+---+
>    5  | B |   |   |   |   |   |   | *P|
>       +---+---+---+---+---+---+---+---+
>    4  |   |   |   |   |   |   |   | *K|
>       +---+---+---+---+---+---+---+---+
>    3  |   |   |   |   |   |   |   | P |
>       +---+---+---+---+---+---+---+---+
>    2  | R |   |   |   |   |   | P | K |
>       +---+---+---+---+---+---+---+---+
>    1  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>         a   b   c   d   e   f   g   h
>
>White(1): end-game phase
>              clearing hash tables
>crafty is behind  1.5 on time, reducing by 1/3.
>              time surplus   0.00  time limit 10:00 (10:00)
>              depth   time  score   variation (1)
>                4->   0.16  -1.68   1. g3+ Kg5 2. Rf2 Kh6 3. Bd2+ Kg7 4.
>                                    Bf4
>                5     0.30  -1.85   1. g3+ Kg5 2. Rf2 Kh6 3. Bd2+ Kg7 4.
>                                    Bg5 Qh8
>                5->   0.75  -1.85   1. g3+ Kg5 2. Rf2 Kh6 3. Bd2+ Kg7 4.
>                                    Bg5 Qh8
>                6     1.21  -1.79   1. g3+ Kg5 2. Rf2 Kh6 3. Bd2+ Kg7 4.
>                                    Bg5 Qe6 5. Bf6+ Kh6
>                6->   2.91  -1.79   1. g3+ Kg5 2. Rf2 Kh6 3. Bd2+ Kg7 4.
>                                    Bg5 Qe6 5. Bf6+ Kh6
>                7     4.43  -1.74   1. g3+ Kg5 2. Rf2 Kh6 3. Bd2+ Kg7 4.
>                                    Bg5 Qe6 5. Bf6+ Kh6 6. Kg2
>                7->   8.86  -1.74   1. g3+ Kg5 2. Rf2 Kh6 3. Bd2+ Kg7 4.
>                                    Bg5 Qe6 5. Bf6+ Kh6 6. Kg2
>                8    15.52  -1.79   1. g3+ Kg5 2. Rf2 Kh6 3. Bd2+ Kg7 4.
>                                    Bg5 Qe6 5. Bf6+ Kh6 6. Kg2 g5
>                8    29.61  -1.74   1. Rb2 Kg5 2. Rf2 Kh6 3. Bd2+ Kg7 4.
>                                    Bf4 Qe6 5. Kg3
>                8    34.63  -1.66   1. Rf2 Qb8+ 2. Kh1 Qe5 3. Bd2 g5 4.
>                                    Rf5 Qa1+ 5. Kh2 g4 6. hxg4 hxg4
>                8->  34.97  -1.66   1. Rf2 Qb8+ 2. Kh1 Qe5 3. Bd2 g5 4.
>                                    Rf5 Qa1+ 5. Kh2 g4 6. hxg4 hxg4
>                9    35.27     ++   1. Rf2!!
>                9    35.88  -0.66   1. Rf2 Qb8+ 2. Kh1 Qe5 3. Bd2 g5 4.
>                                    Rf5 Qg3 5. Bxg5+ Qxg5 6. Rxg5 Kxg5
>                9     2:03     ++   1. Rc2!!
>                9     2:03   5.32   1. Rc2 Qxc2 2. Bd8+ g5 3. Ba5 Qe2 4.
>                                    Bc7 Qf2 5. Bd6 Qg1+ 6. Kxg1 g4 7. hxg4
>                                    Kxg4
>                9->   2:03   5.32   1. Rc2 Qxc2 2. Bd8+ g5 3. Ba5 Qe2 4.
>                                    Bc7 Qf2 5. Bd6 Qg1+ 6. Kxg1 g4 7. hxg4
>                                    Kxg4
>               10     2:04   5.23   1. Rc2 Qxc2 2. Bd8+ g5 3. Ba5 Qf2 4.
>                                    Bc7 Qg1+ 5. Kxg1 g4 6. hxg4 Kxg4 7.
>                                    Kf2 Kf5
>               10->   5:49   5.23   1. Rc2 Qxc2 2. Bd8+ g5 3. Ba5 Qf2 4.
>                                    Bc7 Qg1+ 5. Kxg1 g4 6. hxg4 Kxg4 7.
>                                    Kf2 Kf5
>               11     5:51   5.45   1. Rc2 Qxc2 2. Bd8+ g5 3. Ba5 Qf2 4.
>                                    Bc7 Qg1+ 5. Kxg1 g4 6. hxg4 Kxg4 7.
>                                    Kf2 Kf5 8. Bd6
>              time: 10:00  cpu:199%  mat:-1  n:148236993  nps:246913
>              ext-> checks:11681254 recaps:634070 pawns:248794 1rep:4894127
>              predicted:0  nodes:148236993  evals:5607957
>              endgame tablebase-> probes done: 160638  successful: 160638
>              hashing-> trans/ref:39%  pawn:4%  used:w99% b99%
>
>White(1): Rc2
>              time used:  10:00
>
>In the second example the *modified* crafty needs only 123 sec to find the win.
>The original crafty will not find a win in 100 years.
>
>Kind regards
>Bernhard

Sorry, but this last is wrong...  I posted the "original crafty" results on this
this morning and it finds Rc2 in about 90 seconds on my 4 processor machine...

This isn't a real null-move issue at all, just depth...  Took me 14 plies, but
I got there in under 2 minutes with the current null-move approach...



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.