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.