Test Position

Discussion of anything and everything relating to chess playing software and machines.

Moderators: Harvey Williamson, Dann Corbit, hgm

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
cetormenter
Posts: 169
Joined: Sun Oct 28, 2012 8:46 pm

Test Position

Post by cetormenter » Fri Dec 13, 2013 8:03 pm

[d]r3kb1r/1b3pp1/2Np1q1p/p1nB4/P3P3/R2p4/1PP2PPP/3QR1K1 w kq - 0 18

Here is a position from Geert's CountryChess where NirvanaChess 1.3 lost to Myrddin 0.86.

I have analyzed this position with several engines. Stockfish DD gets the answer almost immediately, Houdini 1.5a takes a couple of seconds but eventually finds the correct answer. Engines such as Fruit, Nirvanachess, Crafty and Discocheck are completely oblivious in this position until its too late. I attempted to play around with various parameters in order to help Nirvana solve this issue but was unable to find anything that helped. It seems that most of the oblivious engines need until ~Depth 22 to solve this problem, which takes them quite some time.

The game in its entirety
[pgn][Event "CountryChess 03 UsA D3"]
[Site "Halle"]
[Date "2013.11.28"]
[Round "1.3"]
[White "Myrddin 0.86 64-bit"]
[Black "NirvanaChess 1.3 64-bit"]
[Result "1-0"]
[ECO "B87"]
[Annotator "-0.31;0.16"]
[PlyCount "133"]
[EventDate "2013.12.03"]
[EventType "tourn"]
[Source "Maeckelbergh"]
[TimeControl "1800+10"]

{Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz 2942 MHz W=16.8 plies; 1.
419kN/s B=19.3 plies; 715kN/s; Perfect2012t.ctg} 1. e4 {
[%eval 1,1] [%emt 0:00:00]} c5 {[%eval 0,0] [%emt 0:00:00]} 2. Nf3 {
[%eval 1,1] [%emt 0:00:00]} d6 {[%eval 0,0] [%emt 0:00:00]} 3. d4 {
[%eval 1,1] [%emt 0:00:00]} cxd4 {[%eval 0,0] [%emt 0:00:00]} 4. Nxd4 {
[%eval 1,1] [%emt 0:00:00]} Nf6 {[%eval 0,0] [%emt 0:00:00]} 5. Nc3 {
[%eval 1,1] [%emt 0:00:00]} a6 {[%eval 0,0] [%emt 0:00:00]} 6. Bc4 {
[%eval 1,1] [%emt 0:00:00]} e6 {[%eval 0,0] [%emt 0:00:00]} 7. Bb3 {
[%eval 1,1] [%emt 0:00:00]} b5 {[%eval 0,0] [%emt 0:00:00]} 8. O-O {
[%eval 1,1] [%emt 0:00:00]} Nbd7 {[%eval 16,20] [%emt 0:01:17]} 9. Re1 {
[%eval 1,1] [%emt 0:00:00]} Bb7 {[%eval 14,21] [%emt 0:01:16]} 10. Bg5 {
[%eval 1,1] [%emt 0:00:00]} h6 {[%eval 29,19] [%emt 0:01:39]} 11. Bxf6 {
(Bh4) [%eval 1,1] [%emt 0:00:00]} Qxf6 {[%eval 10,22] [%emt 0:01:22]} 12. a4 {
[%eval 1,1] [%emt 0:00:00]} b4 {[%eval 0,23] [%emt 0:01:41]} 13. Na2 {
[%eval 1,1] [%emt 0:00:00]} Nc5 {[%eval 6,21] [%emt 0:02:23]} 14. Nxb4 {
[%eval 1,1] [%emt 0:00:00]} a5 {[%eval -6,21] [%emt 0:01:08]} 15. Nbc6 {
(Na2) [%eval 1,1] [%emt 0:00:00]} e5 {[%eval -13,22] [%emt 0:01:17]} 16. Bd5 {
(Bc4) [%eval 1,1] [%emt 0:00:00]} exd4 {[%eval -71,21] [%emt 0:01:21]} 17. Ra3
{[%eval 1,1] [%emt 0:00:00]} d3 {[%eval -3,20] [%emt 0:01:11]} 18. Rxd3 {
[%eval -31,16] [%emt 0:01:28]} Qxb2 {(Nxd3) [%eval 80,19] [%emt 0:00:52]} 19.
Rf3 {[%eval 134,16] [%emt 0:01:06]} Ra6 {(Rc8) [%eval 84,20] [%emt 0:01:18]}
20. Bxf7+ {[%eval 187,17] [%emt 0:00:55]} Kd7 {[%eval 79,1] [%emt 0:00:00]} 21.
Nb8+ {[%eval 235,17] [%emt 0:00:54]} Kc7 {(Kc8) [%eval 102,20] [%emt 0:00:43]}
22. Nxa6+ {[%eval 201,18] [%emt 0:01:54]} Bxa6 {[%eval 88,21] [%emt 0:01:37]}
23. Bb3 {(Bd5) [%eval 204,16] [%emt 0:00:54]} Qe5 {
(Be7) [%eval 281,21] [%emt 0:01:28]} 24. Rf5 {[%eval 343,18] [%emt 0:00:49]}
Qc3 {[%eval 276,21] [%emt 0:00:39]} 25. Rf7+ {
(Re3) [%eval 326,17] [%emt 0:00:48]} Kc8 {[%eval 285,20] [%emt 0:00:31]} 26.
Re3 {[%eval 329,17] [%emt 0:00:47]} Qe5 {[%eval 304,21] [%emt 0:00:36]} 27. Qe1
{(Ref3) [%eval 354,17] [%emt 0:00:46]} g5 {(Nxb3) [%eval 249,20] [%emt 0:00:45]
} 28. Rf5 {[%eval 429,17] [%emt 0:00:45]} Qe8 {[%eval 317,20] [%emt 0:00:33]}
29. Qxa5 {[%eval 431,17] [%emt 0:00:45]} Bb7 {[%eval 317,20] [%emt 0:00:27]}
30. Qc3 {(Bf7) [%eval 436,17] [%emt 0:00:44]} Rh7 {
[%eval 225,20] [%emt 0:00:30]} 31. e5 {[%eval 440,17] [%emt 0:00:43]} d5 {
[%eval 261,19] [%emt 0:00:24]} 32. e6 {[%eval 457,17] [%emt 0:00:42]} Kb8 {
(Bd6) [%eval 258,19] [%emt 0:00:54]} 33. Bxd5 {
(e7) [%eval 477,17] [%emt 0:01:12]} Bxd5 {[%eval 407,18] [%emt 0:00:31]} 34.
Rxd5 {(e7) [%eval 484,16] [%emt 0:00:40]} Rb7 {[%eval 276,17] [%emt 0:00:24]}
35. Re1 {(Qe5+) [%eval 498,15] [%emt 0:00:39]} Qc8 {
(Qe7) [%eval 252,18] [%emt 0:00:27]} 36. Rdd1 {[%eval 493,15] [%emt 0:00:38]}
Be7 {[%eval 253,18] [%emt 0:00:27]} 37. a5 {(Rb1) [%eval 477,15] [%emt 0:00:37]
} h5 {(Ka7) [%eval 250,16] [%emt 0:00:26]} 38. Ra1 {
(Qf3) [%eval 499,14] [%emt 0:00:37]} Ka7 {(Na6) [%eval 245,16] [%emt 0:00:49]}
39. Qf3 {(Rad1) [%eval 492,15] [%emt 0:00:36]} h4 {
(Rc7) [%eval 229,17] [%emt 0:00:17]} 40. Qe3 {
(Rad1) [%eval 451,16] [%emt 0:02:00]} Rb4 {(Qf8) [%eval 226,17] [%emt 0:00:37]}
41. Qe5 {[%eval 451,16] [%emt 0:00:33]} Qb7 {
(Qf8) [%eval 220,16] [%emt 0:00:40]} 42. a6 {[%eval 440,14] [%emt 0:00:32]} Qc6
{[%eval 224,19] [%emt 0:00:28]} 43. Qg7 {[%eval 423,15] [%emt 0:00:32]} Qd6 {
[%eval 230,18] [%emt 0:00:21]} 44. h3 {[%eval 417,14] [%emt 0:00:31]} Rd4 {
[%eval 230,19] [%emt 0:00:21]} 45. Qf7 {(Reb1) [%eval 417,15] [%emt 0:00:31]}
Qd8 {(Rd2) [%eval 228,19] [%emt 0:00:25]} 46. c3 {
(Qf3) [%eval 414,15] [%emt 0:00:37]} Rd2 {(Rf4) [%eval 226,18] [%emt 0:00:21]}
47. c4 {[%eval 403,16] [%emt 0:00:29]} Rd3 {(Qd6) [%eval 227,19] [%emt 0:00:14]
} 48. Rab1 {(Qg6) [%eval 408,16] [%emt 0:00:34]} Nb3 {
(Kxa6) [%eval 238,17] [%emt 0:00:18]} 49. Qf5 {[%eval 412,15] [%emt 0:00:28]}
Nc5 {[%eval 232,19] [%emt 0:00:16]} 50. Qe5 {
(Qg4) [%eval 408,17] [%emt 0:00:28]} Rd4 {(Qd6) [%eval 231,20] [%emt 0:00:14]}
51. Rb8 {(Rb5) [%eval 408,18] [%emt 0:00:27]} Qxb8 {
[%eval 231,22] [%emt 0:00:23]} 52. Qxd4 {[%eval 410,18] [%emt 0:00:27]} Qb4 {
(Qc8) [%eval 231,20] [%emt 0:00:21]} 53. Rd1 {
(Ra1) [%eval 408,19] [%emt 0:00:26]} Qb3 {(Qb6) [%eval 231,20] [%emt 0:00:14]}
54. Qd5 {[%eval 408,19] [%emt 0:00:26]} Kb6 {
(Qb6) [%eval 231,20] [%emt 0:00:15]} 55. Ra1 {
(Rc1) [%eval 408,17] [%emt 0:00:26]} Qb2 {[%eval 231,21] [%emt 0:00:14]} 56.
Re1 {[%eval 408,19] [%emt 0:00:25]} Qb4 {(Ka7) [%eval 231,20] [%emt 0:00:10]}
57. Rc1 {[%eval 408,17] [%emt 0:00:25]} Ka7 {[%eval 241,20] [%emt 0:00:26]} 58.
Qe5 {(Rd1) [%eval 408,19] [%emt 0:00:25]} Qb6 {[%eval 309,18] [%emt 0:00:11]}
59. Rd1 {[%eval 408,18] [%emt 0:00:24]} Qc6 {
(Ka8) [%eval 330,19] [%emt 0:00:09]} 60. Rb1 {
(Qf5) [%eval 409,17] [%emt 0:00:24]} Qc8 {(Qd6) [%eval 314,19] [%emt 0:00:16]}
61. Rb5 {[%eval 489,18] [%emt 0:00:23]} Ka8 {
(Nxa6) [%eval 384,20] [%emt 0:00:17]} 62. a7 {[%eval 489,18] [%emt 0:00:23]}
Nb7 {(Na6) [%eval 430,20] [%emt 0:00:09]} 63. Rb2 {
(Rb1) [%eval 623,17] [%emt 0:00:24]} Bd6 {[%eval 483,16] [%emt 0:00:10]} 64.
Qg7 {[%eval 619,17] [%emt 0:00:22]} Ba3 {(Kxa7) [%eval 464,15] [%emt 0:00:10]}
65. Rb3 {(e7) [%eval 759,19] [%emt 0:00:22]} Bd6 {[%eval 613,19] [%emt 0:00:18]
} 66. Qf7 {[%eval 824,19] [%emt 0:00:22]} Kxa7 {[%eval 678,19] [%emt 0:00:14]}
67. e7 {[%eval 872,19] [%emt 0:00:22]} 1-0[/pgn]

User avatar
JVMerlino
Posts: 1044
Joined: Wed Mar 08, 2006 9:15 pm
Location: San Francisco, California

Re: Test Position

Post by JVMerlino » Fri Dec 13, 2013 9:06 pm

Wow, a test position in which Myrddin did the RIGHT thing. :) Kind of shocked. For reference, I ran this position and Myrddin finds the move at depth 14.

Code: Select all

 1  -189      0        13 c2d3 f6b2 d5c6 
 1  -176      0       127 d1c1 
 1  -145      0       590 e4e5 f6d4 e4d5 
 2  -115      0       985 e4e5 d6e5 e1e5 e8d7 d5e6 
 3  -115      0      1778 e4e5 d6e5 e1e5 e8d7 d5e6 
 4   -75      0      3416 e4e5! 
 4   -27      0      4446 e4e5 d6e5 e1e5 e8d7 d1g4 d7d6 
 5   -67      1      5711 e4e5? d6e5 (356 KNPS)
 5  -164      1     12043 e4e5 d6e5 e1e5 e8d7 d1g4 d7d6 c2d3 b7c6 d5c6 d6c6 c6a8 (752 KNPS)
 6  -164      4     31356 e4e5 d6e5 e1e5 e8d7 d1g4 d7d6 c2d3 b7c6 d5c6 d6c6 c6a8 (667 KNPS)
 6  -124      7     49999 a3c3! c5b3 e4e5 c5d3 (641 KNPS)
 6  -112     10     57905 a3c3 d3c2 d1c2 a8a6 e4e5 d6e5 e1e5 c5e6 c3c5 f6e5 (531 KNPS)
 7  -152     14     79161 a3c3? a8a6 c6a5 b7c6 b2c3 (561 KNPS)
 7   -72     17    105024 e4e5! c5d3 d3d4 (610 KNPS)
 7   -59     17    111369 e4e5 d6e5 c6e5 b7d5 e5g4 f6e7 e1e7 f8e7 c2d3 (647 KNPS)
 8   -93     23    150259 e4e5 d6e5 c6e5 b7d5 e5g4 f6e7 e1e7 f8e7 c2d3 a8c8 a3d3 (642 KNPS)
 9   -53     35    241118 e4e5! (671 KNPS)
 9   -51     42    295690 e4e5 d6e5 c6e5 b7d5 e5g4 f6e7 e1e7 f8e7 c2d3 a8c8 d3d4 (702 KNPS)
10   -54     76    543326 e4e5 d6e5 c6e5 b7d5 e5g4 f6e7 e1e7 f8e7 c2d3 a8c8 g4e3 d5c6 (710 KNPS)
11   -39    146   1075069 e4e5 d6e5 c6e5 b7d5 e5g4 f6e6 e1e6 f7e6 c2d3 a8c8 a3c3 f8d6 d3d4 (732 KNPS)
12   -29    337   2453971 e4e5 d6e5 c6e5 b7d5 e5g4 f6e7 e1e7 f8e7 c2d3 a8c8 g4e3 d5c6 d3d4 c5e6 (728 KNPS)
13   -53    695   5116396 e4e5 d6e5 c6e5 b7d5 e5g4 f6e6 e1e6 d5e6 c2d3 a8b8 d1e2 b8b4 g4e5 b4a4 a3a4 c5a4 (735 KNPS)
14   -56   2616  19041371 e4e5 d6e5 c6e5 b7d5 e5g4 f6e6 e1e6 d5e6 c2d3 a8b8 d1e2 f8d6 g4e5 b8b4 e5c4 d6f4 (727 KNPS)
14   -15   3656  26585300 a3d3 c5d3 d1d3 f6b2 e4e5 e8d7 d3f5 d7c7 f5f7 c7b6 c6d4 a8b8 d5b7 b8b7 f7d5 b2c3 (727 KNPS)
15   -16   4853  34990330 a3d3 c5d3 d1d3 f6b2 e4e5 e8d7 d3f5 d7c7 e5d6 f8d6 f5f7 c7b6 c6a5 b7d5 f7d5 a8a5 d5d6 b6b7 e1e7 b7a8 (720 KNPS)
jm

jdart
Posts: 4035
Joined: Fri Mar 10, 2006 4:23 am
Location: http://www.arasanchess.org

Re: Test Position

Post by jdart » Sat Dec 14, 2013 12:27 am

23 seconds for Arasan (latest dev version) on a quad:

Code: Select all

Arasan 16.3 Copyright 1994-2013 by Jon Dart. All Rights Reserved.
test \chess\temp\test.epd 60 -v
Using book file book.bin
found 5-man Nalimov tablebases in directory c:\chess\tb
 bm Rxd3
1       0.00    cxd3    -0.46   261
2       0.00    e5!     -0.28   655
2       0.02    e5      +0.18   4338
3       0.02    e5      +0.21   8010
4       0.02    e5!     +0.39   8316
4       0.02    e5!     +0.78   8739
4       0.02    e5      +0.86   9331
5       0.02     --     +0.68   9817
5       0.03     --     +0.29   11588
5       0.03    e5      -0.02   13528
6       0.03     --     -0.20   16767
6       0.03    e5      -0.34   21265
7       0.04    e5      -0.50   28598
8       0.05    e5      -0.50   54972
9       0.06     --     -0.68   106669
9       0.07    e5      -0.70   141722
10      0.09    e5      -0.70   216017
11      0.14     --     -0.88   437281
11      0.19    e5      -0.90   605500
12      0.25    e5      -0.82   949367
13      0.58    cxd3!   -0.64   2436883
13      0.77    Rc3!    -0.25   3361831
13      0.84    cxd3    -0.70   3649632
13      0.85    cxd3    -0.70   3717850
14      1.33    cxd3    -0.78   6133501
15      1.48    cxd3!   -0.60   6783704
15      1.78    cxd3    -0.42   8310288
16      2.06    cxd3!   -0.24   9670233
16      2.56    cxd3!   +0.15   12083804
16      3.08    cxd3    +0.42   14843942
17      3.93    cxd3    +0.38   19366311
18      4.93    cxd3!   +0.56   24532239
18      6.14    cxd3    +0.38   30918186
19      9.19    cxd3    +0.38   47037349
20      11.40   cxd3!   +0.56   58494625
20      23.17   Rxd3!   +0.95   121053550
20      25.67   Rxd3    +1.36   134096097
21      29.15   Rxd3!   +1.54   152225142
21      33.90   Rxd3    +1.60   177511394
22      42.81   Rxd3    +1.56   225133011
5.30M nodes/second.
0 tablebase probes, 0 tablebase hits
15910 splits, average thread usage=3.98
result: Rxd3    score: +1.56            ++ solved in 23.17 sec. (121.05M nodes)
Rxd3 Nxd3 Qxd3 Ba6 Qb3 Be7 Nb8 Rxb8 Bc6+ Kf8 Qxb8+ Bd8 Bd5 g5 Qa8 Kg7 Qxa6 Qxb2
Qc6 Qb6 Qc4 Qc7 Qe2 Bf6 Rb1 Rb8

solution times:
         0      1      2      3      4      5      6      7      8      9

   0 |        23.17

correct : 1/1
nodes to solution : 121.05M
depth to solution : 19.00
time to solution  : 23.17 sec.
test complete

cetormenter
Posts: 169
Joined: Sun Oct 28, 2012 8:46 pm

Re: Test Position

Post by cetormenter » Sat Dec 14, 2013 5:01 am

Yeah I am not sure why exactly it takes Nirvana so long to solve this problem. It might be how it calculates kingsafety perhaps? The king becomes extremely exposed but it believes that the best white can do is perpetual.

Code: Select all

Nirvana Chess v1.4
position fen r3kb1r/1b3pp1/2Np1q1p/p1nB4/P3P3/R2p4/1PP2PPP/3QR1K1 w kq - 0 18
go infinite
info depth 1 seldepth 6 nps 43000 nodes 43 score cp -158 pv c2d3
info depth 1 seldepth 11 nps 61000 nodes 306 score cp -102 pv e4e5
info depth 2 seldepth 19 nps 164000 nodes 1814 score cp -86 pv e4e5 d6e5
info depth 3 seldepth 13 nps 173000 nodes 2769 score cp -86 pv e4e5 d6e5 e1e5 c5
e6
info depth 4 seldepth 12 nps 170000 nodes 3586 score cp -86 pv e4e5 d6e5 e1e5 c5
e6 a3d3
info depth 5 seldepth 18 nps 188000 nodes 5456 score cp -124 pv e4e5 d6e5 e1e5 c
5e6 a3d3 f8c5
info depth 6 seldepth 18 nps 217000 nodes 8932 score cp -144 pv e4e5 d6e5 e1e5 c
5e6 a3d3 f8d6 e5e3
info depth 7 seldepth 21 nps 304000 nodes 20979 score cp -139 pv e4e5 d6e5 e1e5
c5e6 d1d3 f8a3 d3a3 b7a6
info depth 8 seldepth 21 nps 338000 nodes 31507 score cp -175 pv e4e5 d6e5 e1e5
c5e6 d1d3 f8a3 d3a3 a8d8 d5f3
info depth 8 seldepth 21 nps 359000 nodes 42414 score cp -138 pv c2d3 a8a6 d3d4
a6c6 d4c5 f6b2 d5c6 b7c6 a3b3
info depth 9 seldepth 20 nps 414000 nodes 74255 score cp -78 pv c2d3 a8a6 d3d4 b
7c6 d4c5 c6d7 a3f3 f6b2 d5f7 e8d8
info depth 10 seldepth 18 nps 428000 nodes 90006 score cp -88 pv c2d3 a8a6 d3d4
b7c6 d4c5 c6d7 a3f3 f6b2 f3f7 d6c5
info depth 11 seldepth 21 nps 460000 nodes 128419 score cp -107 pv c2d3 f6b2 d1f
3 b2f6 d3d4 f6f3 a3f3 c5e6 e1b1 b7a6 c6a5
info depth 12 seldepth 28 nps 523000 nodes 346077 score cp -43 pv c2d3 f6b2 d1h5
 b7c6 d5c6 e8d8 c6a8 b2a3 h5f7 a3d3 a8d5 f8e7 f7g7
info depth 13 seldepth 25 nps 550000 nodes 686780 score cp -16 pv c2d3 f6b2 d1h5
 g7g6 h5f3 c5e6 a3b3 b2b3 d5b3 b7c6 e1c1 a8c8 f3f6
info depth 14 seldepth 27 nps 555000 nodes 780977 score cp -16 pv c2d3 f6b2 d1h5
 g7g6 h5f3 c5e6 a3b3 b2b3 d5b3 b7c6 e1c1 a8c8 f3f6 f8g7
info depth 15 seldepth 31 nps 564000 nodes 953932 score cp -32 pv c2d3 f6b2 d1h5
 g7g6 h5f3 b2g7 d3d4 c5e6 a3b3 b7c8 e4e5 h6h5 d5e6 f7e6 d4d5
info depth 16 seldepth 27 nps 572000 nodes 1177028 score cp -36 pv c2d3 f6b2 d1h
5 g7g6 h5f3 b2g7 d3d4 c5e6 a3b3 b7c8 e4e5 h6h5 b3e3 c8d7 e5d6 f8d6
info depth 17 seldepth 31 nps 585000 nodes 1709752 score cp -41 pv c2d3 f6b2 d1h
5 b7c6 d5c6 e8d8 c6a8 b2a3 h5f7 a3d3 a8d5 f8e7 f7g7 h8f8 g7b2 c5d7 b2b7 d8e8
info depth 18 seldepth 30 nps 597000 nodes 2406553 score cp -44 pv c2d3 f6b2 d1h
5 b7c6 d5c6 e8d8 c6a8 b2a3 h5f7 c5d3 e1b1 d3b4 f7b7 a3a4 b1c1
info depth 19 seldepth 34 nps 609000 nodes 3686432 score cp -56 pv c2d3 f6b2 d1h
5 b7c6 d5c6 e8d8 c6a8 b2a3 h5f7 a3d3 a8d5 f8e7 f7g7 h8f8 g7b2 d8d7 f2f3 d3a6 e1c
1 h6h5
info depth 20 seldepth 35 nps 596000 nodes 17433906 score cp -2 pv c2d3 f6b2 a3a
1 b2b6
info depth 21 seldepth 36 nps 599000 nodes 20765639 score cp -6 pv c2d3 f6b2 a3a
1 b2b6 a1b1 b6a6 b1b7 a6b7 c6d8 a8d8 d5b7 c5b7 d1e2 d8d7 d3d4 f8e7 e1c1 e7f6 c1c
8 b7d8 e2c4 e8g8
info depth 22 seldepth 38 nps 590000 nodes 29505654 score cp 0 pv c2d3
info depth 23 seldepth 42 nps 598000 nodes 48091614 score cp 10 pv c2d3 f6b2 a3a
1
info depth 24 seldepth 45 nps 610000 nodes 84696663 score cp 0 pv c2d3 f6b2
info depth 24 seldepth 42 nps 614000 nodes 169434680 score cp 102 pv a3d3

User avatar
smrf
Posts: 484
Joined: Mon Mar 13, 2006 10:08 am
Location: Klein-Gerau, Germany
Contact:

Re: Test Position

Post by smrf » Sat Dec 14, 2013 12:42 pm

SMIRF makes an approach to this:

Image

User avatar
lucasart
Posts: 3167
Joined: Mon May 31, 2010 11:29 am
Full name: lucasart
Contact:

Re: Test Position

Post by lucasart » Sat Dec 14, 2013 1:30 pm

cetormenter wrote:[d]r3kb1r/1b3pp1/2Np1q1p/p1nB4/P3P3/R2p4/1PP2PPP/3QR1K1 w kq - 0 18

Here is a position from Geert's CountryChess where NirvanaChess 1.3 lost to Myrddin 0.86.

I have analyzed this position with several engines. Stockfish DD gets the answer almost immediately, Houdini 1.5a takes a couple of seconds but eventually finds the correct answer. Engines such as Fruit, Nirvanachess, Crafty and Discocheck are completely oblivious in this position until its too late. I attempted to play around with various parameters in order to help Nirvana solve this issue but was unable to find anything that helped. It seems that most of the oblivious engines need until ~Depth 22 to solve this problem, which takes them quite some time.

The game in its entirety
[pgn][Event "CountryChess 03 UsA D3"]
[Site "Halle"]
[Date "2013.11.28"]
[Round "1.3"]
[White "Myrddin 0.86 64-bit"]
[Black "NirvanaChess 1.3 64-bit"]
[Result "1-0"]
[ECO "B87"]
[Annotator "-0.31;0.16"]
[PlyCount "133"]
[EventDate "2013.12.03"]
[EventType "tourn"]
[Source "Maeckelbergh"]
[TimeControl "1800+10"]

{Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz 2942 MHz W=16.8 plies; 1.
419kN/s B=19.3 plies; 715kN/s; Perfect2012t.ctg} 1. e4 {
[%eval 1,1] [%emt 0:00:00]} c5 {[%eval 0,0] [%emt 0:00:00]} 2. Nf3 {
[%eval 1,1] [%emt 0:00:00]} d6 {[%eval 0,0] [%emt 0:00:00]} 3. d4 {
[%eval 1,1] [%emt 0:00:00]} cxd4 {[%eval 0,0] [%emt 0:00:00]} 4. Nxd4 {
[%eval 1,1] [%emt 0:00:00]} Nf6 {[%eval 0,0] [%emt 0:00:00]} 5. Nc3 {
[%eval 1,1] [%emt 0:00:00]} a6 {[%eval 0,0] [%emt 0:00:00]} 6. Bc4 {
[%eval 1,1] [%emt 0:00:00]} e6 {[%eval 0,0] [%emt 0:00:00]} 7. Bb3 {
[%eval 1,1] [%emt 0:00:00]} b5 {[%eval 0,0] [%emt 0:00:00]} 8. O-O {
[%eval 1,1] [%emt 0:00:00]} Nbd7 {[%eval 16,20] [%emt 0:01:17]} 9. Re1 {
[%eval 1,1] [%emt 0:00:00]} Bb7 {[%eval 14,21] [%emt 0:01:16]} 10. Bg5 {
[%eval 1,1] [%emt 0:00:00]} h6 {[%eval 29,19] [%emt 0:01:39]} 11. Bxf6 {
(Bh4) [%eval 1,1] [%emt 0:00:00]} Qxf6 {[%eval 10,22] [%emt 0:01:22]} 12. a4 {
[%eval 1,1] [%emt 0:00:00]} b4 {[%eval 0,23] [%emt 0:01:41]} 13. Na2 {
[%eval 1,1] [%emt 0:00:00]} Nc5 {[%eval 6,21] [%emt 0:02:23]} 14. Nxb4 {
[%eval 1,1] [%emt 0:00:00]} a5 {[%eval -6,21] [%emt 0:01:08]} 15. Nbc6 {
(Na2) [%eval 1,1] [%emt 0:00:00]} e5 {[%eval -13,22] [%emt 0:01:17]} 16. Bd5 {
(Bc4) [%eval 1,1] [%emt 0:00:00]} exd4 {[%eval -71,21] [%emt 0:01:21]} 17. Ra3
{[%eval 1,1] [%emt 0:00:00]} d3 {[%eval -3,20] [%emt 0:01:11]} 18. Rxd3 {
[%eval -31,16] [%emt 0:01:28]} Qxb2 {(Nxd3) [%eval 80,19] [%emt 0:00:52]} 19.
Rf3 {[%eval 134,16] [%emt 0:01:06]} Ra6 {(Rc8) [%eval 84,20] [%emt 0:01:18]}
20. Bxf7+ {[%eval 187,17] [%emt 0:00:55]} Kd7 {[%eval 79,1] [%emt 0:00:00]} 21.
Nb8+ {[%eval 235,17] [%emt 0:00:54]} Kc7 {(Kc8) [%eval 102,20] [%emt 0:00:43]}
22. Nxa6+ {[%eval 201,18] [%emt 0:01:54]} Bxa6 {[%eval 88,21] [%emt 0:01:37]}
23. Bb3 {(Bd5) [%eval 204,16] [%emt 0:00:54]} Qe5 {
(Be7) [%eval 281,21] [%emt 0:01:28]} 24. Rf5 {[%eval 343,18] [%emt 0:00:49]}
Qc3 {[%eval 276,21] [%emt 0:00:39]} 25. Rf7+ {
(Re3) [%eval 326,17] [%emt 0:00:48]} Kc8 {[%eval 285,20] [%emt 0:00:31]} 26.
Re3 {[%eval 329,17] [%emt 0:00:47]} Qe5 {[%eval 304,21] [%emt 0:00:36]} 27. Qe1
{(Ref3) [%eval 354,17] [%emt 0:00:46]} g5 {(Nxb3) [%eval 249,20] [%emt 0:00:45]
} 28. Rf5 {[%eval 429,17] [%emt 0:00:45]} Qe8 {[%eval 317,20] [%emt 0:00:33]}
29. Qxa5 {[%eval 431,17] [%emt 0:00:45]} Bb7 {[%eval 317,20] [%emt 0:00:27]}
30. Qc3 {(Bf7) [%eval 436,17] [%emt 0:00:44]} Rh7 {
[%eval 225,20] [%emt 0:00:30]} 31. e5 {[%eval 440,17] [%emt 0:00:43]} d5 {
[%eval 261,19] [%emt 0:00:24]} 32. e6 {[%eval 457,17] [%emt 0:00:42]} Kb8 {
(Bd6) [%eval 258,19] [%emt 0:00:54]} 33. Bxd5 {
(e7) [%eval 477,17] [%emt 0:01:12]} Bxd5 {[%eval 407,18] [%emt 0:00:31]} 34.
Rxd5 {(e7) [%eval 484,16] [%emt 0:00:40]} Rb7 {[%eval 276,17] [%emt 0:00:24]}
35. Re1 {(Qe5+) [%eval 498,15] [%emt 0:00:39]} Qc8 {
(Qe7) [%eval 252,18] [%emt 0:00:27]} 36. Rdd1 {[%eval 493,15] [%emt 0:00:38]}
Be7 {[%eval 253,18] [%emt 0:00:27]} 37. a5 {(Rb1) [%eval 477,15] [%emt 0:00:37]
} h5 {(Ka7) [%eval 250,16] [%emt 0:00:26]} 38. Ra1 {
(Qf3) [%eval 499,14] [%emt 0:00:37]} Ka7 {(Na6) [%eval 245,16] [%emt 0:00:49]}
39. Qf3 {(Rad1) [%eval 492,15] [%emt 0:00:36]} h4 {
(Rc7) [%eval 229,17] [%emt 0:00:17]} 40. Qe3 {
(Rad1) [%eval 451,16] [%emt 0:02:00]} Rb4 {(Qf8) [%eval 226,17] [%emt 0:00:37]}
41. Qe5 {[%eval 451,16] [%emt 0:00:33]} Qb7 {
(Qf8) [%eval 220,16] [%emt 0:00:40]} 42. a6 {[%eval 440,14] [%emt 0:00:32]} Qc6
{[%eval 224,19] [%emt 0:00:28]} 43. Qg7 {[%eval 423,15] [%emt 0:00:32]} Qd6 {
[%eval 230,18] [%emt 0:00:21]} 44. h3 {[%eval 417,14] [%emt 0:00:31]} Rd4 {
[%eval 230,19] [%emt 0:00:21]} 45. Qf7 {(Reb1) [%eval 417,15] [%emt 0:00:31]}
Qd8 {(Rd2) [%eval 228,19] [%emt 0:00:25]} 46. c3 {
(Qf3) [%eval 414,15] [%emt 0:00:37]} Rd2 {(Rf4) [%eval 226,18] [%emt 0:00:21]}
47. c4 {[%eval 403,16] [%emt 0:00:29]} Rd3 {(Qd6) [%eval 227,19] [%emt 0:00:14]
} 48. Rab1 {(Qg6) [%eval 408,16] [%emt 0:00:34]} Nb3 {
(Kxa6) [%eval 238,17] [%emt 0:00:18]} 49. Qf5 {[%eval 412,15] [%emt 0:00:28]}
Nc5 {[%eval 232,19] [%emt 0:00:16]} 50. Qe5 {
(Qg4) [%eval 408,17] [%emt 0:00:28]} Rd4 {(Qd6) [%eval 231,20] [%emt 0:00:14]}
51. Rb8 {(Rb5) [%eval 408,18] [%emt 0:00:27]} Qxb8 {
[%eval 231,22] [%emt 0:00:23]} 52. Qxd4 {[%eval 410,18] [%emt 0:00:27]} Qb4 {
(Qc8) [%eval 231,20] [%emt 0:00:21]} 53. Rd1 {
(Ra1) [%eval 408,19] [%emt 0:00:26]} Qb3 {(Qb6) [%eval 231,20] [%emt 0:00:14]}
54. Qd5 {[%eval 408,19] [%emt 0:00:26]} Kb6 {
(Qb6) [%eval 231,20] [%emt 0:00:15]} 55. Ra1 {
(Rc1) [%eval 408,17] [%emt 0:00:26]} Qb2 {[%eval 231,21] [%emt 0:00:14]} 56.
Re1 {[%eval 408,19] [%emt 0:00:25]} Qb4 {(Ka7) [%eval 231,20] [%emt 0:00:10]}
57. Rc1 {[%eval 408,17] [%emt 0:00:25]} Ka7 {[%eval 241,20] [%emt 0:00:26]} 58.
Qe5 {(Rd1) [%eval 408,19] [%emt 0:00:25]} Qb6 {[%eval 309,18] [%emt 0:00:11]}
59. Rd1 {[%eval 408,18] [%emt 0:00:24]} Qc6 {
(Ka8) [%eval 330,19] [%emt 0:00:09]} 60. Rb1 {
(Qf5) [%eval 409,17] [%emt 0:00:24]} Qc8 {(Qd6) [%eval 314,19] [%emt 0:00:16]}
61. Rb5 {[%eval 489,18] [%emt 0:00:23]} Ka8 {
(Nxa6) [%eval 384,20] [%emt 0:00:17]} 62. a7 {[%eval 489,18] [%emt 0:00:23]}
Nb7 {(Na6) [%eval 430,20] [%emt 0:00:09]} 63. Rb2 {
(Rb1) [%eval 623,17] [%emt 0:00:24]} Bd6 {[%eval 483,16] [%emt 0:00:10]} 64.
Qg7 {[%eval 619,17] [%emt 0:00:22]} Ba3 {(Kxa7) [%eval 464,15] [%emt 0:00:10]}
65. Rb3 {(e7) [%eval 759,19] [%emt 0:00:22]} Bd6 {[%eval 613,19] [%emt 0:00:18]
} 66. Qf7 {[%eval 824,19] [%emt 0:00:22]} Kxa7 {[%eval 678,19] [%emt 0:00:14]}
67. e7 {[%eval 872,19] [%emt 0:00:22]} 1-0[/pgn]
Don't worry about specific test positions. Your engine will find some faster than others and vice-versa. What matters is that your engine makes progress on the elo scale. And it's progressing by leaps and bounds, so congratulations for that!

I'll talk about a couple of engines that know: DiscoCheck and Stockfish. One thing that helps Stockfish here is that SF does not reduce bad captures. DC does reduce bad captures (by 1 ply never more). In this instance the best move is a bad capture, so that does not help. Another thing is perhaps the singular extension in SF. Also, SF does a kind of Botvinnik-Markov extension at shallow depth, and that helps in tactics.

But whenever I tried to not reduce bad captures or implement singular extension or BM extension, it makes DC weaker in the average case. I don't know why these things work in SF, and do not work in DC, but that's the way things are.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.

Post Reply