Oddity around depths 7-8 with Stockfish 6 & 7

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

Moderators: hgm, Rebel, chrisw

BBauer
Posts: 658
Joined: Wed Mar 08, 2006 8:58 pm

Re: Oddity around depths 7-8 with Stockfish 6 & 7

Post by BBauer »

So you said. But why?
I do not know.
Perhaps it is worth to have a look at

Code: Select all

 for &#40;int pv = 0; pv <= 1; ++pv&#41;
      for &#40;int imp = 0; imp <= 1; ++imp&#41;
          for &#40;int d = 1; d < 64; ++d&#41;
              for &#40;int mc = 1; mc < 64; ++mc&#41;
              &#123;
                  double r = K&#91;pv&#93;&#91;0&#93; + log&#40;d&#41; * log&#40;mc&#41; / K&#91;pv&#93;&#91;1&#93;;

                  if &#40;r >= 1.5&#41;
                      Reductions&#91;pv&#93;&#91;imp&#93;&#91;d&#93;&#91;mc&#93; = int&#40;r&#41; * ONE_PLY;

                  // Increase reduction when eval is not improving
                  if (!pv && !imp && Reductions&#91;pv&#93;&#91;imp&#93;&#91;d&#93;&#91;mc&#93; >= 2 * ONE_PLY&#41;
                      Reductions&#91;pv&#93;&#91;imp&#93;&#91;d&#93;&#91;mc&#93; += ONE_PLY;
              &#125;
Perhaps it may have to do with log(1)=0

Which says nothing about other positions. Fixing problems (or perceived problems) based on single positions is generally misleading and therefor dangerous. Especially if it isn't entirely clear why a certain change appears to correct the problem.
Agreed. Do you know another position with this problem?
I'm happy to test it.
Kind regards
Bernhard
KWRegan
Posts: 18
Joined: Wed Aug 19, 2015 9:06 pm

Re: Oddity around depths 7-8 with Stockfish 6 & 7

Post by KWRegan »

I have now made the mentioned post on the Gödel's Lost letter blog:
https://rjlipton.wordpress.com/2016/01/ ... l-at-zero/
Here is one of its tables, counting positions in which the played move is flagged as 1.50 or more worse at depths 5, 10, 15, and (19-or-)20.

Image

The same moves are not being flagged by Komodo 9.3 so there must be thousands of such cases in my data. I happened to notice this one because I was using those two tiebreak games as a bite-sized way to verify my output. I can try to dig more out when time allows.
KWRegan
Posts: 18
Joined: Wed Aug 19, 2015 9:06 pm

Re: Oddity around depths 7-8 with Stockfish 6 & 7

Post by KWRegan »

Here's a "data dump" of likely cases---all from the Elo 2600+ player run in positions where Stockfish 7 at high depth says it is within 0.10 of equality. First comes a game tag and then the FENs before and after the played move, which is labeled in the former by the EPD opcode "sm". The anomaly occurs at depth 8 and is often in the latter FEN---I illustrate what's going on with the last two.


Bundesliga 0910;Germany;2010.03.20;12.7;Hracek, Zbynek;Golod, Vitali;1-0
r2kn3/2p4p/rp1p1pnP/p2PpNpN/1PP1P1P1/P7/1K3P2/R1R5 b - - 39 61 sm Nf4
r2kn3/2p4p/rp1p1p1P/p2PpNpN/1PP1PnP1/P7/1K3P2/R1R5 w - - 40 62
Bundesliga 0910;Germany;2010.03.20;12.7;Hracek, Zbynek;Golod, Vitali;1-0
r3n3/2pk3p/rp1p1p1P/p2P2p1/1PPNPpP1/P4P2/1K6/R1R5 b - - 2 64 sm Ke7
r3n3/2p1k2p/rp1p1p1P/p2P2p1/1PPNPpP1/P4P2/1K6/R1R5 w - - 3 65
USA-ch;Saint Louis;2010.05.20;7;Hess, Robert L;Akobian, Varuzhan;1-0
r1bq1rk1/p1p2pp1/1p1bp2p/3nN3/2PP4/3BBQ2/PP3PPP/R3K2R b KQ - 0 12 sm Bxe5
r1bq1rk1/p1p2pp1/1p2p2p/3nb3/2PP4/3BBQ2/PP3PPP/R3K2R w KQ - 0 13
ESP-chT CECLUB Honor;Sestao;2010.08.28;7;Hamdouchi, Hicham;Zhigalko, Andrey;1-0
r2q1rk1/1p1bbppp/p2ppn2/8/3nP3/1BN3R1/PPP2PPP/R1BQ2K1 w - - 0 12 sm Bh6
r2q1rk1/1p1bbppp/p2ppn1B/8/3nP3/1BN3R1/PPP2PPP/R2Q2K1 b - - 1 12
Khanty-Mansiysk ol (Men) 39th;Khanty-Mansiysk;2010.09.28;7.2;Kozul, Zdenko;Banikas, Hristos;1/2-1/2
rn1q1rk1/2pp1ppp/1pb5/p3P3/4n3/2P2NP1/P4PBP/R1BQR1K1 w - - 1 14 sm Nd4
rn1q1rk1/2pp1ppp/1pb5/p3P3/3Nn3/2P3P1/P4PBP/R1BQR1K1 b - - 2 14
Groningen op-A;Groningen;2010.12.30;9;Gupta, Abhijeet;Ernst, Sipke;0-1
4rk2/p2n2pp/1q1n4/3Pp1PQ/P1p2p2/1p6/1P3PBP/2RR2K1 b - - 2 26 sm Qd8
3qrk2/p2n2pp/3n4/3Pp1PQ/P1p2p2/1p6/1P3PBP/2RR2K1 w - - 3 27
Bundesliga 1011;Germany;2011.03.20;13.3;Tregubov, Pavel V;Postny, Evgeny;0-1
q6r/5pk1/4p1p1/4P1P1/r4P2/P1B5/4Q1b1/R1R3K1 w - - 0 35 sm Bb4
q6r/5pk1/4p1p1/4P1P1/rB3P2/P7/4Q1b1/R1R3K1 b - - 1 35
AUT-chT2M 1011;Austria;2011.03.12;7.1;Kozul, Zdenko;Lenic, Luka;0-1
r5k1/4bppp/p3p3/P1n1P3/2P5/1pqrBP2/4Q1PP/RR1B1K2 w - - 6 29 sm Bf2
r5k1/4bppp/p3p3/P1n1P3/2P5/1pqr1P2/4QBPP/RR1B1K2 b - - 7 29
SVK-chT 1011;Slovakia;2011.05.06;9.1;Antoniewski, Rafal;Azarov, Sergei;1/2-1/2
r2q1rk1/bpp2ppp/p2pbnn1/P3p3/2N1P3/1BPP1N2/1P3PPP/R1BQ1RK1 w - - 1 12 sm Be3
r2q1rk1/bpp2ppp/p2pbnn1/P3p3/2N1P3/1BPPBN2/1P3PPP/R2Q1RK1 b - - 2 12
Commonwealth-ch RSA op;Gauteng;2011.07.03;11;Jones, Gawain C;Gupta, Abhijeet;1-0
4rqk1/1rp2p1p/1bp2Bp1/p3PN2/P3pQ2/2P5/1P4PP/R6K b - - 1 27 sm h5
4rqk1/1rp2p2/1bp2Bp1/p3PN1p/P3pQ2/2P5/1P4PP/R6K w - - 0 28
TUR-chT;Konya;2011.07.01;4;Kulaots, Kaido;Galkin, Alexander;1/2-1/2
r3kb1r/ppqn1pp1/2p1pn1p/7P/3P4/3Q1NN1/PPPB1PP1/2KR3R w kq - 4 13 sm Ne4
r3kb1r/ppqn1pp1/2p1pn1p/7P/3PN3/3Q1N2/PPPB1PP1/2KR3R b kq - 5 13
TUR-chT;Konya;2011.07.04;7;Spasov, Vasil;Gagunashvili, Merab;1/2-1/2
r3kb1r/ppqn1pp1/2p1pn1p/7P/3P4/3Q1NN1/PPPB1PP1/2KR3R w kq - 4 13 sm Ne4
r3kb1r/ppqn1pp1/2p1pn1p/7P/3PN3/3Q1N2/PPPB1PP1/2KR3R b kq - 5 13
SWE-chT 1112;Sweden;2012.03.11;9;Kotronias, Vasilios;Tikkanen, Hans;1-0
2r2rk1/pp1b2pp/q1nbp3/3p2B1/3P1n1P/1R3NN1/PP3PP1/1B1QR1K1 b - - 0 19 sm Be8
2r1brk1/pp4pp/q1nbp3/3p2B1/3P1n1P/1R3NN1/PP3PP1/1B1QR1K1 w - - 1 20
Chicago op 21st;Wheeling;2012.05.27;6;Ramirez, Alejandro;Kacheishvili, Giorgi;1/2-1/2
r4rk1/p5bp/b1qPpnp1/2p1p1B1/8/2N2N2/PPP2PP1/R2QK2R w KQ - 2 15 sm Bxf6
r4rk1/p5bp/b1qPpBp1/2p1p3/8/2N2N2/PPP2PP1/R2QK2R b KQ - 0 15
Istanbul ol (Men) 40th;Istanbul;2012.09.03;6.1;Solak, Dragan;Amonatov, Farrukh;1/2-1/2
r2q1rk1/1p1nbppp/p2pbn2/3Np3/4P3/1N2B3/PPP1BPPP/R2Q1RK1 w - - 8 11 sm Qd3
r2q1rk1/1p1nbppp/p2pbn2/3Np3/4P3/1N1QB3/PPP1BPPP/R4RK1 b - - 9 11
Istanbul ol (Men) 40th;Istanbul;2012.09.04;7.2;Markus, Robert;Adly, Ahmed;0-1
1r4k1/6p1/4RbN1/1p5Q/8/3q2PP/3p1P2/2rB2K1 w - - 1 42 sm Nf4
1r4k1/6p1/4Rb2/1p5Q/5N2/3q2PP/3p1P2/2rB2K1 b - - 2 42
Vladivostok Russian Cup;Vladivostok;2012.09.24;8;Romanov, Evgeny;Smirnov, Pavel;1/2-1/2
2rq1rk1/5ppp/p2b1n2/1pN1p3/3Pb3/2Q2NP1/PP2PPBP/R4RK1 w - - 0 17 sm e3
2rq1rk1/5ppp/p2b1n2/1pN1p3/3Pb3/2Q1PNP1/PP3PBP/R4RK1 b - - 0 17
Chigorin Memorial 20th;St Petersburg;2012.10.31;5;Shimanov, Aleksandr;Hovhannisyan, Robert;1-0
5b2/1pQ1pkp1/p3p1b1/3p4/3B2Pr/1q2P3/1P2BK2/2R5 b - - 1 24 sm Kg8
5bk1/1pQ1p1p1/p3p1b1/3p4/3B2Pr/1q2P3/1P2BK2/2R5 w - - 2 25
ARM-ch 73rd;Yerevan;2013.01.18;6;Pashikian, Arman;Grigoryan, Avetik;1/2-1/2
r2k4/pb1n4/3b2rp/3N1R1p/PppQ1Bq1/6P1/1P3P1P/3R2K1 w - - 1 30 sm Rf7
r2k4/pb1n1R2/3b2rp/3N3p/PppQ1Bq1/6P1/1P3P1P/3R2K1 b - - 2 30
Agzamov Memorial 07th;Tashkent;2013.04.22;9;Turov, Maxim;Korneev, Oleg;1/2-1/2
rnbq1k1r/pp3p1p/2p2bp1/8/3PQ3/2N2N2/PP3PPP/R3KB1R w KQ - 1 11 sm Bc4
rnbq1k1r/pp3p1p/2p2bp1/8/2BPQ3/2N2N2/PP3PPP/R3K2R b KQ - 2 11
Jermuk Asrian Memorial 6th;Jermuk;2013.06.21;6;Hovhannisyan, Robert;Andriasian, Zaven;1/2-1/2
r3kb1r/1R1n1pp1/4b2p/1N1p4/7B/q7/P1PQ2PP/4K2R b Kkq - 0 17 sm Be7
r3k2r/1R1nbpp1/4b2p/1N1p4/7B/q7/P1PQ2PP/4K2R w Kkq - 1 18
TUR-chT;Denizli;2013.07.03;5.1;Mamedov, Nidjat;Ipatov, Alexander;1-0
r3k2r/1bq1bpp1/ppn1pn1p/2p1N3/P2pPP2/N2P2Q1/1PP1B1PP/R1B2RK1 b kq - 1 14 sm Rg8
r3k1r1/1bq1bpp1/ppn1pn1p/2p1N3/P2pPP2/N2P2Q1/1PP1B1PP/R1B2RK1 w q - 2 15
Dresden ZMDI op 22nd;Dresden;2013.08.18;9;Shankland, Samuel L;Vorobiov, Evgeny E;1-0
r2q1rk1/4p1bp/1p1p2P1/p1n5/2P5/2N1Bb2/PP1Q2P1/3RK2R w K - 0 19 sm Rxh7
r2q1rk1/4p1bR/1p1p2P1/p1n5/2P5/2N1Bb2/PP1Q2P1/3RK3 b - - 0 19
USA tt playoff;ICC INT;2013.11.16;2;Shankland, Samuel L;Gelashvili, Tamaz;1-0
5q2/3R4/5r1k/p4Pp1/P3Q3/4P3/5P2/1r3BK1 b - - 0 39 sm Rb4
5q2/3R4/5r1k/p4Pp1/Pr2Q3/4P3/5P2/5BK1 w - - 1 40
EU-chT (Men) 19th;Warsaw;2013.11.16;8.7;Kozul, Zdenko;Miton, Kamil;1/2-1/2
rbbqr1k1/pp1n1pp1/7p/1N1pp3/1B1Pn1P1/4PN1P/PPQ2P2/2R1KB1R w K - 8 14 sm Nc7
rbbqr1k1/ppNn1pp1/7p/3pp3/1B1Pn1P1/4PN1P/PPQ2P2/2R1KB1R b K - 9 14
EU-chT (Men) 19th;Warsaw;2013.11.16;8.7;Kozul, Zdenko;Miton, Kamil;1/2-1/2
r1b4k/ppR3p1/5n1N/3p4/8/4r2P/P5B1/5RK1 w - - 2 26 sm Rf4
r1b4k/ppR3p1/5n1N/3p4/5R2/4r2P/P5B1/6K1 b - - 3 26
AUT-chT 1314;Austria;2014.01.30;4.6;Baramidze, David;Kuljasevic, Davorin;1-0
1r1q1rk1/1b2ppbp/ppnp2p1/2pN2B1/2P1P3/1P1P2PP/P2Q1PB1/4RRK1 w - - 3 17 sm f4
1r1q1rk1/1b2ppbp/ppnp2p1/2pN2B1/2P1PP2/1P1P2PP/P2Q2B1/4RRK1 b - - 0 17
FRA-chT Top 12;Saint Quentin;2014.05.26;3.3;Mista, Aleksander;Iordachescu, Viorel;1-0
2r2rk1/1pq2ppb/4pn1p/2pn3P/p1PP4/5BP1/PP1BQP2/R3RNK1 b - - 0 22 sm Nb6
2r2rk1/1pq2ppb/1n2pn1p/2p4P/p1PP4/5BP1/PP1BQP2/R3RNK1 w - - 1 23
Bundesliga 1415;Germany;2014.11.08;3.4;Potkin, Vladimir;Nyback, Tomi;1/2-1/2
r3kb1r/1Q3ppp/p3p3/2pq1P2/8/4B3/PP3PPP/R3K2R w KQkq - 0 16 sm Qb6
r3kb1r/5ppp/pQ2p3/2pq1P2/8/4B3/PP3PPP/R3K2R b KQkq - 1 16
Sharjah Open 2014;Sharjah UAE;2014.11.20;6.1;Adly, A.;Guseinov, G.;1/2-1/2
2r5/4ppbk/Q1p1q1p1/p2r4/4p3/1P2B1PP/P1R1P1K1/2R5 b - - 2 26 sm Bh6
2r5/4pp1k/Q1p1q1pb/p2r4/4p3/1P2B1PP/P1R1P1K1/2R5 w - - 3 27
NED-chT 0910;Netherlands;2010.03.27;8.2;Sokolov, Ivan;Van Wely, Loek;0-1
3r1rk1/1b3ppp/p7/1pbPp1q1/P1n1P3/1Q6/4NPBP/R1R1B1K1 b - - 1 24 sm Nd2
3r1rk1/1b3ppp/p7/1pbPp1q1/P3P3/1Q6/3nNPBP/R1R1B1K1 w - - 2 25
Moscow op-A;Moscow;2010.02.03;5;Bareev, Evgeny;Grachev, Boris;1/2-1/2
3r2k1/4bpp1/p3p1p1/1q6/n1p1P3/5PP1/PPR1QN1P/1K2B3 b - - 8 30 sm Bb4
3r2k1/5pp1/p3p1p1/1q6/nbp1P3/5PP1/PPR1QN1P/1K2B3 w - - 9 31
Moscow op-A;Moscow;2010.02.07;9;Sasikiran, Krishnan;Bareev, Evgeny;1/2-1/2
r3kb1r/ppq2ppp/2p2n2/4nb2/P1N2B2/2N3P1/1P2PP1P/R2QKB1R b KQkq - 1 10 sm Nfd7
r3kb1r/ppqn1ppp/2p5/4nb2/P1N2B2/2N3P1/1P2PP1P/R2QKB1R w KQkq - 2 11
Sarajevo Bosna op 40th;Sarajevo;2010.05.12;8;Sandipan, Chanda;Gustafsson, Jan;1/2-1/2
1rb2rk1/ppp1bppp/4pn2/8/Q1pq4/P1N1B1P1/1P2PPBP/1R3RK1 b - - 1 12 sm Qe5
1rb2rk1/ppp1bppp/4pn2/4q3/Q1p5/P1N1B1P1/1P2PPBP/1R3RK1 w - - 2 13
EU-Cup 26th;Plovdiv;2010.10.20;4.5;Najer, Evgeniy;Ni, Hua;0-1
r3kb1r/ppq2ppp/2p2n2/4nb2/P1N2B2/2N3P1/1P2PP1P/R2QKB1R b KQkq - 1 10 sm Nfd7
r3kb1r/ppqn1ppp/2p5/4nb2/P1N2B2/2N3P1/1P2PP1P/R2QKB1R w KQkq - 2 11
Tata Steel-B 73rd;Wijk aan Zee;2011.01.21;6;Li, Chao B;Hammer, Jon Ludvig;1-0
r3kb1r/ppq2ppp/2p2n2/4nb2/P1N2B2/2N3P1/1P2PP1P/R2QKB1R b KQkq - 1 10 sm Nfd7
r3kb1r/ppqn1ppp/2p5/4nb2/P1N2B2/2N3P1/1P2PP1P/R2QKB1R w KQkq - 2 11
Nakhchivan op;Nakhchivan;2011.04.28;6;Korobov, Anton;Smirin, Ilia;0-1
r1bq1rk1/2p4p/3p1npb/BN1Ppn2/2P5/1N2P3/P3B1PP/R2QR1K1 w - - 1 19 sm Bd2
r1bq1rk1/2p4p/3p1npb/1N1Ppn2/2P5/1N2P3/P2BB1PP/R2QR1K1 b - - 2 19
GRE-chT 39th;Eretria;2011.07.04;2.5;Ragger, Markus;Balogh, Csaba;1/2-1/2
r3kb1r/ppq2ppp/2p2n2/4nb2/P1N2B2/2N3P1/1P2PP1P/R2QKB1R b KQkq - 1 10 sm Nfd7
r3kb1r/ppqn1ppp/2p5/4nb2/P1N2B2/2N3P1/1P2PP1P/R2QKB1R w KQkq - 2 11
Baku op-A;Baku;2011.08.13;8;Iordachescu, Viorel;Najer, Evgeniy;1-0
1r1rq1k1/5p1p/1pp1pb2/p7/3P1PB1/P1PR4/1PQ1R2P/3K4 b - - 2 28 sm Kf8
1r1rqk2/5p1p/1pp1pb2/p7/3P1PB1/P1PR4/1PQ1R2P/3K4 w - - 3 29
FIDE World Cup;Khanty-Mansiysk;2011.08.28;1.1;So, Wesley;Ding, Liren;1/2-1/2
r1bq2k1/ppp3b1/8/2BPp1p1/4PpPn/2N2P1r/PP2BK2/2RQ2R1 w - - 7 24 sm Rh1
r1bq2k1/ppp3b1/8/2BPp1p1/4PpPn/2N2P1r/PP2BK2/2RQ3R b - - 8 24
FIDE World Cup;Khanty-Mansiysk;2011.08.30;1.3;Ragger, Markus;Alekseev, Evgeny;1/2-1/2
rnr2qk1/pp3pp1/4N3/3p4/6Q1/4P3/PP3P1P/4KBR1 b - - 2 19 sm Rc1
rn3qk1/pp3pp1/4N3/3p4/6Q1/4P3/PP3P1P/2r1KBR1 w - - 3 20
FIDE World Cup;Khanty-Mansiysk;2011.08.30;1.4;Ding, Liren;So, Wesley;1/2-1/2
r1bq1rk1/pp2bp1p/2n1p1p1/2npP2P/2Pp4/P4N2/1PQNBPP1/R1B1K2R w KQ - 4 13 sm b4
r1bq1rk1/pp2bp1p/2n1p1p1/2npP2P/1PPp4/P4N2/2QNBPP1/R1B1K2R b KQ - 0 13
Bundesliga 1112;Germany;2011.10.14;1.4;Gyimesi, Zoltan;Saric, Ivan;1/2-1/2
3r2k1/5rbp/3B2p1/2Ppp3/7q/7n/P2NNPKP/R2Q1R2 b - - 2 25 sm Rf5
3r2k1/6bp/3B2p1/2Pppr2/7q/7n/P2NNPKP/R2Q1R2 w - - 3 26
Istanbul ol (Men) 40th;Istanbul;2012.09.04;7.1;Amin, Bassem;Ivanisevic, Ivan;0-1
r2q1rk1/4ppbp/p1np1np1/1p6/3PP3/4BQ1P/PP1N1PP1/R3RBK1 b - - 0 14 sm Nb4
r2q1rk1/4ppbp/p2p1np1/1p6/1n1PP3/4BQ1P/PP1N1PP1/R3RBK1 w - - 1 15
Bundesliga 1213;Germany;2012.10.21;2.1;Melkumyan, Hrant;Ragger, Markus;1/2-1/2
1r4k1/p2bqppp/5n2/P2p4/1brN4/2N1P2P/1P1B1PP1/R2Q1RK1 w - - 0 20 sm Nce2
1r4k1/p2bqppp/5n2/P2p4/1brN4/4P2P/1P1BNPP1/R2Q1RK1 b - - 1 20
Khanty-Mansiysk Governor Cup-A 8th;Khanty-Mansiysk;2012.11.22;8;Mamedov, Rauf;Kurnosov, Igor;1/2-1/2
r3r1k1/pp3ppp/5q2/3B4/3b4/6P1/PP1Q1P1P/R2R2K1 b - - 0 18 sm Re7
r5k1/pp2rppp/5q2/3B4/3b4/6P1/PP1Q1P1P/R2R2K1 w - - 1 19
Kostic Memorial 17th;Vrsac;2012.11.23;4;Georgiev, Kiril;Nikolic, Predrag;1/2-1/2
r4rk1/pp1nqbpp/2p1p3/3p1p2/2PPnN2/1P2P1P1/P1QN1PBP/R4RK1 w - - 1 15 sm Nf3
r4rk1/pp1nqbpp/2p1p3/3p1p2/2PPnN2/1P2PNP1/P1Q2PBP/R4RK1 b - - 2 15
Kostic Memorial 17th;Vrsac;2012.11.30;10;Nikolic, Predrag;Georgiev, Kiril;1/2-1/2
r1r3k1/3n1pbp/bqn1p1p1/pp1p4/3P1B2/PPN1PNP1/5PBP/RQR3K1 b - - 0 18 sm b4
r1r3k1/3n1pbp/bqn1p1p1/p2p4/1p1P1B2/PPN1PNP1/5PBP/RQR3K1 w - - 0 19
Abu Dhabi op 21st;Abu Dhabi;2013.07.04;6;Efimenko, Zahar;Kurnosov, Igor;1-0
r1bq1rk1/pp2bppp/2nppn2/8/3NP3/2N3P1/PPP2PBP/R1BQ1RK1 w - - 5 9 sm a4
r1bq1rk1/pp2bppp/2nppn2/8/P2NP3/2N3P1/1PP2PBP/R1BQ1RK1 b - - 0 9
AUT-chT 1314;Austria;2013.12.07;2.1;Lenic, Luka;Ragger, Markus;1/2-1/2
r3kb1r/ppq2ppp/2p2n2/4nb2/P1N2B2/2N3P1/1P2PP1P/R2QKB1R b KQkq - 1 10 sm Nfd7
r3kb1r/ppqn1ppp/2p5/4nb2/P1N2B2/2N3P1/1P2PP1P/R2QKB1R w KQkq - 2 11
EU-ch 15th;Yerevan;2014.03.13;10;Motylev, Alexander;Smirin, Ilia;1-0
3qk2r/r4ppp/ppnpb3/2n1p3/2P1PP2/1NN1Q3/PP2B1PP/R2R2K1 b k - 0 16 sm f6
3qk2r/r5pp/ppnpbp2/2n1p3/2P1PP2/1NN1Q3/PP2B1PP/R2R2K1 w k - 0 17
NED-ch;Amsterdam;2014.07.13;7;L'Ami, Erwin;Tiviakov, Sergei;0-1
r4r1k/1b2qppp/pnpNp3/1p1nP3/P1pP2Q1/2N3P1/1P3PBP/R4RK1 w - - 2 17 sm a5
r4r1k/1b2qppp/pnpNp3/Pp1nP3/2pP2Q1/2N3P1/1P3PBP/R4RK1 b - - 0 17
Tromso ol (Men) 41st;Tromso;2014.08.06;5.3;Smirin, Ilia;Quesada Perez, Yuniesky;1-0
r4rk1/1pp1nqpp/3bb3/4pp2/RP2P3/2P1BP2/2QNB1PP/5RK1 b - - 0 17 sm fxe4
r4rk1/1pp1nqpp/3bb3/4p3/RP2p3/2P1BP2/2QNB1PP/5RK1 w - - 0 18
Riga Tech op 4th;Riga;2014.08.21;6;Melkumyan, Hrant;Iturrizaga Bonelli, Eduardo;1-0
3r1rk1/p2n1pp1/1p2q2p/2b1p3/4Q3/1P3NP1/PB2PPKP/3R1R2 w - - 1 20 sm Rd2
3r1rk1/p2n1pp1/1p2q2p/2b1p3/4Q3/1P3NP1/PB1RPPKP/5R2 b - - 2 20
Riga Tech op 4th;Riga;2014.08.21;6;Melkumyan, Hrant;Iturrizaga Bonelli, Eduardo;1-0
3r1rk1/p2n2p1/1p2qp1p/2b1p3/4Q3/1P3NP1/PB1RPPKP/5R2 w - - 0 21 sm Rfd1
3r1rk1/p2n2p1/1p2qp1p/2b1p3/4Q3/1P3NP1/PB1RPPKP/3R4 b - - 1 21
EU-Cup 30th;Bilbao;2014.09.20;7.6;Efimenko, Zahar;Safarli, Eltaj;1/2-1/2
r2q1rk1/1p1nbppp/p2pbn2/3Np3/4P3/1N2B3/PPP1BPPP/R2Q1RK1 w - - 8 11 sm Qd3
r2q1rk1/1p1nbppp/p2pbn2/3Np3/4P3/1N1QB3/PPP1BPPP/R4RK1 b - - 9 11
Khanty-Mansiysk Governor Cup 10th;Khanty-Mansiysk;2014.11.08;4;Artemiev, Vladislav;Mamedov, Rauf;1/2-1/2
1rr2k2/1p1nppb1/p1np2p1/3N3p/N1P1P3/1P2BP2/P2R2PP/2R3K1 b - - 4 20 sm b5
1rr2k2/3nppb1/p1np2p1/1p1N3p/N1P1P3/1P2BP2/P2R2PP/2R3K1 w - - 0 21
RUS-chT 17th;Dagomys;2010.04.05;5;Rublevsky, Sergei;Alekseev, Evgeny;1/2-1/2
r4rk1/ppq2ppp/5n2/2b1p1B1/6b1/2P5/PP1NBPPP/R2Q1RK1 b - - 5 15 sm Bf5
r4rk1/ppq2ppp/5n2/2b1pbB1/8/2P5/PP1NBPPP/R2Q1RK1 w - - 6 16
RUS-chT 17th;Dagomys;2010.04.10;9;Vitiugov, Nikita;Alekseev, Evgeny;1/2-1/2
rnr2q1k/p4p2/b3pp1p/8/2p1PPQP/P5R1/3N2P1/3RKB2 w - - 3 26 sm Bxc4
rnr2q1k/p4p2/b3pp1p/8/2B1PPQP/P5R1/3N2P1/3RK3 b - - 0 26
Khanty-Mansiysk ol (Men) 39th;Khanty-Mansiysk;2010.10.01;10.2;Akopian, Vladimir;Laznicka, Viktor;1/2-1/2
r5k1/1b3ppp/pqpbB3/8/8/1P6/PB2QPPP/5RK1 b - - 0 20 sm c5
r5k1/1b3ppp/pq1bB3/2p5/8/1P6/PB2QPPP/5RK1 w - - 0 21
EU-Cup 26th;Plovdiv;2010.10.20;4.1;Nepomniachtchi, Ian;Kamsky, Gata;0-1
1n2r1k1/4rpb1/3q2pp/p1Np4/1P2p3/R1P1B2P/5PP1/3QR1K1 w - - 0 33 sm Qc1
1n2r1k1/4rpb1/3q2pp/p1Np4/1P2p3/R1P1B2P/5PP1/2Q1R1K1 b - - 1 33
Prague Cez Trophy m;Prague;2011.06.14;2;Navara, David;Movsesian, Sergei;1/2-1/2
r4rk1/p4p1p/1qn1pp2/2p5/Q7/P3PN2/1PR2PPP/4KR2 b - - 0 16 sm Na5
r4rk1/p4p1p/1q2pp2/n1p5/Q7/P3PN2/1PR2PPP/4KR2 w - - 1 17
EU-chT (Men) 18th;Porto Carras;2011.11.08;6.2;Short, Nigel D;Laznicka, Viktor;0-1
2rqkb1r/pp1nnppp/4p1b1/2ppP3/3P4/P1P2N2/1P2BPPP/RNBQR1K1 w k - 2 10 sm Bd3
2rqkb1r/pp1nnppp/4p1b1/2ppP3/3P4/P1PB1N2/1P3PPP/RNBQR1K1 b k - 3 10
RUS-chT 19th;Sochi;2012.04.14;6;Vitiugov, Nikita;Sasikiran, Krishnan;0-1
rn1r2k1/pb2qppp/1pp2b2/3p4/Q2P4/P1N2NP1/1P2PPBP/R4RK1 w - - 5 13 sm Rfd1
rn1r2k1/pb2qppp/1pp2b2/3p4/Q2P4/P1N2NP1/1P2PPBP/R2R2K1 b - - 6 13
FRA-chT Top 12;Belfort;2012.06.02;3.1;Giri, Anish;Le, Quang Liem;1/2-1/2
2r3k1/2q1pp1p/rp4p1/3PP3/3R1P2/4Q2P/6P1/3R2K1 b - - 0 34 sm Qc3
2r3k1/4pp1p/rp4p1/3PP3/3R1P2/2q1Q2P/6P1/3R2K1 w - - 1 35
UKR-ch 81st;Kiev;2012.08.01;6;Volokitin, Andrei;Eljanov, Pavel;1-0
8/2R1nkbp/R7/3p1p2/4pP2/6P1/B6r/3K4 b - - 1 34 sm Rxa2
8/2R1nkbp/R7/3p1p2/4pP2/6P1/r7/3K4 w - - 0 35
Alekhine Memorial;Paris/St Petersburg;2013.04.23;3;Ding, Liren;Fressinet, Laurent;1/2-1/2
r3kb1r/ppq2ppp/2p2n2/4nb2/P1N2B2/2N3P1/1P2PP1P/R2QKB1R b KQkq - 1 10 sm Nfd7
r3kb1r/ppqn1ppp/2p5/4nb2/P1N2B2/2N3P1/1P2PP1P/R2QKB1R w KQkq - 2 11
Bundesliga 1314;Germany;2013.10.13;2.1;Harikrishna, Penteala;Navara, David;1/2-1/2
r3k2r/6Rp/2b1q3/Q2p1p2/2pP1P2/2P1P2P/P6K/6R1 w - - 1 34 sm Ra7
r3k2r/R6p/2b1q3/Q2p1p2/2pP1P2/2P1P2P/P6K/6R1 b - - 2 34
Bundesliga 1314;Germany;2013.10.13;2.1;Harikrishna, Penteala;Navara, David;1/2-1/2
1r2k2r/R6p/2b1q3/Q2p1p2/2pP1P2/2P1P2P/P6K/6R1 w - - 3 35 sm Qa3
1r2k2r/R6p/2b1q3/3p1p2/2pP1P2/Q1P1P2P/P6K/6R1 b - - 4 35
FRA-chT Top 12;Saint Quentin;2014.06.01;9.1;Navara, David;Riazantsev, Alexander;1/2-1/2
2rrn3/pp1bkppp/4p3/2b1B3/2PN4/1B1R1P2/PP4PP/2KR4 w - - 1 19 sm Bc2
2rrn3/pp1bkppp/4p3/2b1B3/2PN4/3R1P2/PPB3PP/2KR4 b - - 2 19
Politiken Cup 36th;Helsingor;2014.07.27;8;Bu, Xiangzhi;Moiseenko, Alexander;1-0
r3r1k1/pp1q1ppp/3p1n2/2p1n3/2P5/1P1pP1PP/PB1Q1PB1/R4RK1 b - - 1 17 sm Qf5
r3r1k1/pp3ppp/3p1n2/2p1nq2/2P5/1P1pP1PP/PB1Q1PB1/R4RK1 w - - 2 18
Tromso ol (Men) 41st;Tromso;2014.08.05;4.1;Kasimdzhanov, Rustam;Naiditsch, Arkadij;1-0
2b2rk1/4np1p/2pp2p1/1P6/4Pp2/2R2N2/r4PPP/3R1BK1 b - - 1 20 sm d5
2b2rk1/4np1p/2p3p1/1P1p4/4Pp2/2R2N2/r4PPP/3R1BK1 w - - 0 21
WchT 7th;Bursa;2010.01.08;4.1;Gashimov, Vugar;Grischuk, Alexander;0-1
r1b4r/1p1kb1p1/p1q1p2p/7Q/4n1P1/3B4/P1PB3P/3RKR2 w - - 4 23 sm Bf4
r1b4r/1p1kb1p1/p1q1p2p/7Q/4nBP1/3B4/P1P4P/3RKR2 b - - 5 23
Linares 27th;Linares;2010.02.21;8;Grischuk, Alexander;Gashimov, Vugar;1-0
1r2rbk1/3q1p2/pp1N2pp/2pP1b1n/PnN5/1Q4P1/1P1BPPBP/2R1R1K1 b - - 0 21 sm b5
1r2rbk1/3q1p2/p2N2pp/1ppP1b1n/PnN5/1Q4P1/1P1BPPBP/2R1R1K1 w - - 0 22
Moscow Tal Memorial 5th;Moscow;2010.11.08;4;Gelfand, Boris;Grischuk, Alexander;1/2-1/2
2r5/5k2/1p2r3/2b5/2p1b1Q1/6P1/5P1P/1R4K1 w - - 2 37 sm Re1
2r5/5k2/1p2r3/2b5/2p1b1Q1/6P1/5P1P/4R1K1 b - - 3 37
WchT 8th;Ningbo;2011.07.24;7;Radjabov, Teimour;Kamsky, Gata;0-1
4r2k/1p2n1rp/4R3/p1ppQP2/P4RPq/2NP4/1P6/6K1 b - - 1 36 sm Rg8
6rk/1p2n1rp/4R3/p1ppQP2/P4RPq/2NP4/1P6/6K1 w - - 2 37
FIDE World Cup;Khanty-Mansiysk;2011.09.06;4.1;Radjabov, Teimour;Jakovenko, Dmitrij;1-0
2r4k/p4RR1/1p1r3p/3P4/4P2P/2pP4/P6K/8 b - - 3 43 sm Rdd8
2rr3k/p4RR1/1p5p/3P4/4P2P/2pP4/P6K/8 w - - 4 44
Grand Slam Final 4th;Sao Paulo/Bilbao;2011.10.06;6;Ivanchuk, Vassily;Nakamura, Hikaru;1-0
r5rk/2q1npp1/p4n1p/1pNbpPP1/4B2Q/B1P4R/P1P4P/5RK1 b - - 0 23 sm Nh7
r5rk/2q1nppn/p6p/1pNbpPP1/4B2Q/B1P4R/P1P4P/5RK1 w - - 1 24
Moscow Tal Memorial 6th;Moscow;2011.11.16;1;Nakamura, Hikaru;Gelfand, Boris;1/2-1/2
5rk1/1q1n1ppp/rpp1p3/p1PpP3/1P1P4/P1N3P1/5P1P/R2QR1K1 w - - 0 18 sm Qe2
5rk1/1q1n1ppp/rpp1p3/p1PpP3/1P1P4/P1N3P1/4QP1P/R3R1K1 b - - 1 18
Moscow Tal Memorial 6th;Moscow;2011.11.18;3;Gelfand, Boris;Karjakin, Sergey;0-1
1r2r2k/6pp/4q3/pp1N1p2/1b3P2/1Q2P1R1/1P3P1P/2R3K1 w - - 2 32 sm Rc7
1r2r2k/2R3pp/4q3/pp1N1p2/1b3P2/1Q2P1R1/1P3P1P/6K1 b - - 3 32
Tashkent FIDE GP 2nd;Tashkent;2012.12.03;10;Kamsky, Gata;Svidler, Peter;1/2-1/2
r1b2rk1/pp3p2/4q2p/3pP1p1/3Qp1n1/6P1/PP1BPPBP/R4RK1 b - - 1 16 sm Qxe5
r1b2rk1/pp3p2/7p/3pq1p1/3Qp1n1/6P1/PP1BPPBP/R4RK1 w - - 0 17
Tashkent FIDE GP 2nd;Tashkent;2012.12.04;11;Svidler, Peter;Morozevich, Alexander;1/2-1/2
r5nr/2q2pk1/p1Pp1bp1/1b1P4/6Pp/2B1R2B/1PQ2P1P/4R1K1 b - - 0 28 sm g5
r5nr/2q2pk1/p1Pp1b2/1b1P2p1/6Pp/2B1R2B/1PQ2P1P/4R1K1 w - - 0 29
Tashkent FIDE GP 2nd;Tashkent;2012.12.04;11;Svidler, Peter;Morozevich, Alexander;1/2-1/2
r5nr/2q2pk1/p1Pp1b2/1b1P1Qp1/6Pp/2B1R2B/1P3P1P/4R1K1 b - - 1 29 sm Rh6
r5n1/2q2pk1/p1Pp1b1r/1b1P1Qp1/6Pp/2B1R2B/1P3P1P/4R1K1 w - - 2 30
FIDE Candidates;London;2013.03.15;1;Ivanchuk, Vassily;Grischuk, Alexander;1/2-1/2
8/1Q6/p3q1k1/1p5p/7P/6P1/5PK1/8 w - - 2 40 sm Kf3
8/1Q6/p3q1k1/1p5p/7P/5KP1/5P2/8 b - - 3 40
Beijing FIDE GP;Beijing;2013.07.15;10;Leko, Peter;Wang, Hao;1/2-1/2
2r2rk1/1p1n1ppp/p1n1p3/q2p4/N2P1B2/1P1QPP2/P3R1PP/2R3K1 w - - 3 21 sm Rec2
2r2rk1/1p1n1ppp/p1n1p3/q2p4/N2P1B2/1P1QPP2/P1R3PP/2R3K1 b - - 4 21
EU-chT (Men) 19th;Warsaw;2013.11.15;7.1;Mamedyarov, Shakhriyar;Bacrot, Etienne;1/2-1/2
3q4/3b1pkp/3P1np1/1rp1N3/4P2N/6P1/p2Q3P/5RK1 w - - 0 26 sm Nxd7
3q4/3N1pkp/3P1np1/1rp5/4P2N/6P1/p2Q3P/5RK1 b - - 0 26
Baku FIDE Grand Prix;Baku;2014.10.08;6;Dominguez Perez, Leinier;Mamedyarov, Shakhriyar;1/2-1/2
r2q1rk1/6pp/p1p2p2/3pP3/PQnP4/3b1NP1/5PP1/R1B1R1K1 b - - 2 27 sm Qa5
r4rk1/6pp/p1p2p2/q2pP3/PQnP4/3b1NP1/5PP1/R1B1R1K1 w - - 3 28
World Championship;Sofia;2010.05.01;6;Anand, Viswanathan;Topalov, Veselin;1/2-1/2
1rN3k1/3b2p1/pb3p1p/1p2r3/3p1N2/6P1/PPR1PP1P/2R3K1 b - - 11 27 sm Ba5
1rN3k1/3b2p1/p4p1p/bp2r3/3p1N2/6P1/PPR1PP1P/2R3K1 w - - 12 28
World Championship;Sofia;2010.05.11;12;Topalov, Veselin;Anand, Viswanathan;0-1
b5k1/p1r5/6q1/2p4p/3r2PK/R3N3/PP3R1P/2Q5 w - - 0 38 sm Qf1
b5k1/p1r5/6q1/2p4p/3r2PK/R3N3/PP3R1P/5Q2 b - - 1 38
World Championship;Sofia;2010.05.11;12;Topalov, Veselin;Anand, Viswanathan;0-1
5R2/p6k/8/2p2N1p/6q1/6P1/PP4b1/6K1 w - - 0 47 sm Kxg2
5R2/p6k/8/2p2N1p/6q1/6P1/PP4K1/8 b - - 0 47
London Classic 2nd;London;2010.12.14;6;Kramnik, Vladimir;Carlsen, Magnus;1/2-1/2
r4rk1/p3npp1/1p1q1n1p/3p4/2pP4/PPN1P1P1/2Q1BPP1/3R1RK1 b - - 0 18 sm Qxa3
r4rk1/p3npp1/1p3n1p/3p4/2pP4/qPN1P1P1/2Q1BPP1/3R1RK1 w - - 0 19
FIDE Candidates;London;2013.03.28;11;Kramnik, Vladimir;Radjabov, Teimour;1-0
3r1rk1/1R2ppbp/p4np1/4q3/4P3/2N3PP/P4PB1/2Q1R1K1 w - - 0 25 sm Nd5
3r1rk1/1R2ppbp/p4np1/3Nq3/4P3/6PP/P4PB1/2Q1R1K1 b - - 1 25
FIDE Candidates;London;2013.03.29;12;Aronian, Levon;Kramnik, Vladimir;0-1
7k/6p1/2P5/pp6/7P/P1P5/6PK/1b6 b - - 0 34 sm Kg8
6k1/6p1/2P5/pp6/7P/P1P5/6PK/1b6 w - - 1 35
Dortmund SuperGM 41st;Dortmund;2013.08.03;8;Kramnik, Vladimir;Caruana, Fabiano;1-0
8/1p6/1p4P1/4Bn2/2rN1P2/8/k4K2/8 b - - 2 63 sm Nh6
8/1p6/1p4Pn/4B3/2rN1P2/8/k4K2/8 w - - 3 64
Zuerich Chess Challenge;Zuerich;2014.02.03;5;Caruana, Fabiano;Aronian, Levon;1-0
r3r1k1/5ppp/p1pb4/1p1n1q2/P2B4/1BPb1QP1/1P1N1P1P/R3R1K1 b - - 0 19 sm h6
r3r1k1/5pp1/p1pb3p/1p1n1q2/P2B4/1BPb1QP1/1P1N1P1P/R3R1K1 w - - 0 20
EU-Cup 30th;Bilbao;2014.09.19;6.2;Topalov, Veselin;Grischuk, Alexander;1/2-1/2
2Q1r1k1/5ppp/p2p4/1b1P4/3N1q2/6nP/6BK/2RR4 w - - 2 28 sm Qg4
4r1k1/5ppp/p2p4/1b1P4/3N1qQ1/6nP/6BK/2RR4 b - - 3 28
Moscow Petrosian Memorial;Moscow;2014.11.10;6;Aronian, Levon;Grischuk, Alexander;1/2-1/2
rnb2rk1/pp2ppbp/6p1/q7/2NpP3/2P1B3/P4PPP/2RQKB1R b K - 1 11 sm Qxa2
rnb2rk1/pp2ppbp/6p1/8/2NpP3/2P1B3/q4PPP/2RQKB1R w K - 0 12
Grand Slam Final 3rd;Bilbao;2010.10.15;6;Anand, Viswanathan;Carlsen, Magnus;1/2-1/2
2r2rk1/1b1q2bp/pB1p2p1/1p1Ppp2/1P2Pn2/R1P1NP1P/3N2P1/3QR1K1 w - - 1 29 sm Kh2
2r2rk1/1b1q2bp/pB1p2p1/1p1Ppp2/1P2Pn2/R1P1NP1P/3N2PK/3QR3 b - - 2 29
Moscow Tal Memorial 6th;Moscow;2011.11.16;1;Aronian, Levon;Carlsen, Magnus;1/2-1/2
rn2qrk1/p3bppp/bpp1pn2/3pN3/Q1PP4/2N3P1/PP2PPBP/R1B2RK1 w - - 2 10 sm b3
rn2qrk1/p3bppp/bpp1pn2/3pN3/Q1PP4/1PN3P1/P3PPBP/R1B2RK1 b - - 0 10
Norway Chess 2nd;Stavanger;2014.06.08;5;Carlsen, Magnus;Aronian, Levon;1-0
r1b1k2r/ppp1qp2/1n5p/3p2p1/1b1P4/2NBP1P1/PP1N2PP/R2QK2R w KQkq - 3 13 sm Qf3
r1b1k2r/ppp1qp2/1n5p/3p2p1/1b1P4/2NBPQP1/PP1N2PP/R3K2R b KQkq - 4 13
Norway Chess 2nd;Stavanger;2014.06.08;5;Carlsen, Magnus;Aronian, Levon;1-0
2kr3r/pppbqp2/1n5p/3p2p1/P2P4/2PBPQP1/3N2PP/R3K2R w KQ - 1 17 sm a5
2kr3r/pppbqp2/1n5p/P2p2p1/3P4/2PBPQP1/3N2PP/R3K2R b KQ - 0 17
Tromso ol (Men) 41st;Tromso;2014.08.06;5.1;Aronian, Levon;Carlsen, Magnus;1/2-1/2
3r2k1/2q1bpp1/1p2p2p/2Pn4/8/1QB1PB1P/1P3PP1/3R2K1 b - - 0 25 sm Nxc3
3r2k1/2q1bpp1/1p2p2p/2P5/8/1Qn1PB1P/1P3PP1/3R2K1 w - - 0 26
World Championship;Sochi;2014.11.08;1;Anand, Viswanathan;Carlsen, Magnus;1/2-1/2
r2q1r2/ppp1ppkp/6p1/3Pn3/4P3/5P2/PP1Q1P1P/2KR1B1R b - - 2 13 sm c6
r2q1r2/pp2ppkp/2p3p1/3Pn3/4P3/5P2/PP1Q1P1P/2KR1B1R w - - 0 14


Here is the analysis in Aronian-Carlsen at White's move 26:

[d]3r2k1/2q1bpp1/1p2p2p/2P5/8/1Qn1PB1P/1P3PP1/3R2K1 w - - 0 26

To reproduce the following, set hash to 512MB, use default 1-thread, 1-PV settings otherwise, and be sure to clear hash before analyzing:

Code: Select all

Stockfish-7-x64&#58;
  1/2	00&#58;00	         104	104,000	+0.12	26.Rxd8+ Qxd8 27.bxc3 Bxc5
  2/3	00&#58;00	         173	173,000	+0.12	26.Rxd8+ Qxd8 27.bxc3
  3/4	00&#58;00	         320	160,000	+0.60	26.Rxd8+ Bxd8 27.cxb6 Qxb6
  4/5	00&#58;00	         620	310,000	+1.74	26.cxb6 Qxb6 27.Qxb6 Nxd1
  5/5	00&#58;00	         877	438,500	+1.62	26.cxb6 Qxb6 27.Qxb6 Nxd1 28.g3
  6/9	00&#58;00	       1,310	655,000	+1.84	26.cxb6 Rxd1+ 27.Bxd1 Ne2+ 28.Bxe2 Qc1+ 29.Kh2 Bd6+ 30.g3
 7/10	00&#58;00	       1,838	612,666	+1.84	26.cxb6 Qxb6 27.Qxb6 Nxd1 28.b4 Nb2 29.b5
 8/11	00&#58;00	       5,113 1,022,600	+1.95	26.cxb6 Ne2+ 27.Bxe2 Qb7 28.Bf3 Rxd1+ 29.Bxd1 g6 30.Bf3
 9/13	00&#58;00	      12,087 1,208,700	+0.87	26.cxb6 Rxd1+ 27.Bxd1 Qb7 28.bxc3 Bc5 29.Qb5 Qxb6 30.Qe8+ Bf8 31.Bf3 Qb1+ 32.Kh2


And from the Anand-Carlsen WC match in Sochi:
[d]r2q1r2/pp2ppkp/2p3p1/3Pn3/4P3/5P2/PP1Q1P1P/2KR1B1R w - - 0 14

Code: Select all

Stockfish-7-x64&#58;
  1/1	00&#58;00	          63	 31,500	-0.06	14.f4
  2/2	00&#58;00	         120	 60,000	+1.00	14.f4 cxd5 15.fxe5 dxe4 16.Qxd8 Raxd8
  3/3	00&#58;00	         183	 91,500	+1.00	14.f4 cxd5 15.fxe5
  4/4	00&#58;00	         275	137,500	+1.00	14.f4 cxd5 15.fxe5 dxe4
  5/5	00&#58;00	       1,045	348,333	+1.86	14.Qc3 Qb8 15.f4 cxd5 16.fxe5
  6/6	00&#58;00	       1,530	510,000	+1.86	14.Qc3 Qb8 15.f4 cxd5 16.fxe5 dxe4
  7/7	00&#58;00	       2,925	731,250	+2.27	14.Qc3 Qd6 15.f4 f6 16.fxe5 Qxe5 17.Qxe5
  8/8	00&#58;00	       3,708	741,600	+2.27	14.Qc3 Qd6 15.f4 f6 16.fxe5 Qxe5 17.Qxe5 fxe5
 9/12	00&#58;00	      15,782	986,375	+0.68	14.Qc3 f6 15.f4 Nd7 16.dxc6 bxc6 17.Qxc6 Qc8 18.Qxc8 Raxc8+ 19.Kb1

Both cases are less clear-cut IMHO than the Carlsen-Yangyi non-recapture: the depth-7 Queen hang in Aronian-Carlsen is in the shadow of the reasonable +1.95 for the PV at depth 8 until Stockfish works out how to handle the b-pawn. And in the WC game, maybe it's OK not to see immediately how to handle the pin 14.Qc3 for 8 ply. However, the larger point is that Komodo 9.3 produces completely normal entries in my tables for the same depths.
gladius
Posts: 568
Joined: Tue Dec 12, 2006 10:10 am
Full name: Gary Linscott

Re: Oddity around depths 7-8 with Stockfish 6 & 7

Post by gladius »

hgm wrote:So what exactly causes the problem here? The patch you show would not affect pruning of the QxB recapture, which takes place at a remaining depth of 6 ply. So why does it refrain from that recapture at d=7, while it still recommended it at d=5? Does it imagine something terrible will happen near the leaves, when it plays Qxd6? What it imagines must be truly terrible, that it is willing to suffer a -4.12 score to avoid it. Only the loss of a Queen seems worse. Is the problem that two ply before the horizon the Queen can get attacked on d6, and that it prunes all evasions in the d=1 daughter, so it will be taken in QS?

This cannot be optimal. You might only see it in the root at low depth, but it must occur zillions of times near the leaves at any depth. It cannot be good that a substantial fraction of the sub-trees near the leaves are absolute garbage.
It's certainly not optimal. But it's hard to beat. I tried many patches to fix this behavior, a lot focused on if there are big threats in the position, ordering evasions for those first so they won't be pruned by move count. It's just too expensive. movecount pruning is statistically incredibly effective, and it's also incredibly cheap.

Here is the thread in fishcooking talking about the problem: https://groups.google.com/forum/?fromgr ... 3aeGoqSD8J

The example position from the thread:
[d]r1q1nr1k/pp1b2b1/n2p2pp/2pP1p2/2B4B/3Q1N1P/PPP1NPP1/1R3RK1 b - - 0 12

SF search up till depth 5 drops the queen in the pv. It will never play this move in a game, as when it searches the root node, it will see the queen being dropped, but the PV is useless. On the other hand, it only analyzes 1270 nodes to fix the problem.

position fen r1q1nr1k/pp1b2b1/n2p2pp/2pP1p2/2B4B/3Q1N1P/PPP1NPP1/1R3RK1 b - - 0 12
go depth 6
info depth 1 seldepth 1 multipv 1 score cp -34 nodes 32 nps 16000 tbhits 0 time 2 pv g6g5
info depth 2 seldepth 2 multipv 1 score cp 629 nodes 128 nps 64000 tbhits 0 time 2 pv a6b4 c2c3 b4d3
info depth 3 seldepth 3 multipv 1 score cp 629 nodes 180 nps 90000 tbhits 0 time 2 pv a6b4 c2c3 b4d3
info depth 4 seldepth 4 multipv 1 score cp 598 nodes 275 nps 91666 tbhits 0 time 3 pv a6b4 e2f4 b4d3 c4d3
info depth 5 seldepth 7 multipv 1 score cp 331 nodes 499 nps 166333 tbhits 0 time 3 pv a6b4 e2f4 b4d3 f4g6 h8h7 g6f8 g7f8 c4d3
info depth 6 seldepth 8 multipv 1 score cp 38 nodes 1270 nps 254000 tbhits 0 time 5 pv a6b4 d3d1 b7b5 e2f4 b5c4 f4g6 h8h7 g6f8 g7f8
bestmove a6b4 ponder d3d1
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Oddity around depths 7-8 with Stockfish 6 & 7

Post by Evert »

KWRegan wrote: Both cases are less clear-cut IMHO than the Carlsen-Yangyi non-recapture: the depth-7 Queen hang in Aronian-Carlsen is in the shadow of the reasonable +1.95 for the PV at depth 8 until Stockfish works out how to handle the b-pawn. And in the WC game, maybe it's OK not to see immediately how to handle the pin 14.Qc3 for 8 ply. However, the larger point is that Komodo 9.3 produces completely normal entries in my tables for the same depths.
An important caveat here is of course that "depth 8" in Stockfish does not necessarily mean the same thing as "depth 8" in Komodo (or any other program). In neither case does "depth 8" resemble "considered the variation tree up to 8 ply". It's more "we searched along the PV to 8 ply. Ish. We may have looked down some sub-branches too. Maybe."

I'm pretty sure that if you play a fixed-depth match between Stockfish and Komodo (especially a low depth one), the former doesn't stand a chance.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Oddity around depths 7-8 with Stockfish 6 & 7

Post by hgm »

gladius wrote:It's certainly not optimal. But it's hard to beat. I tried many patches to fix this behavior, a lot focused on if there are big threats in the position, ordering evasions for those first so they won't be pruned by move count. It's just too expensive. movecount pruning is statistically incredibly effective, and it's also incredibly cheap.
It seems that this situation is easily detected with a very cheap test: you drop a big piece near the end of the branch. This makes the score of the best move so far fall way below the (lazy / incremental) evaluation. That simple test alone is enough to tell you that you are apparently facing a threat. As the large majority of threats are actually solvable when you have the move (which is the justification to stand pat in QS), it almost always means that you haven't searched the move that solved it yet. (Which is statistically also very likely, as threats are often specific, created by the previous ply, and the move ordering is tuned to the general case.)

It seems that it would always be much cheaper to spend the extra work to solve the threat in the current node, than to provide the parents at larger depth with false information, so that they now have to solve the problem in an alternative way (which, as we see in these examples, they often cannot do at all).

In particular, it seems to have problems with evasions. Another reasonably cheap test is to look what was attacked by the opponent's last move. In the case at hand you would see a Knight was moved to attack a Queen. Of course it is going to lose you that Queen if you don't retreat (or captured the Knight, but if that were possible you would already know it at this point). So you could just exempt all moves with that Queen from the move-count-based pruning.

An more dirty, but even cheaper way to solve the problem would be to just assume you will be able to rescue that Queen. I.e. instead of actually trying all moves with that Queen to see if they help, you would just try one pseudo-move (similar to the null move representing all quiet real moves), namely just 'lift' the Queen off the board (take it in hand, as it were, where it certainly cannot be captured), and search on without that Queen (but with a score like you still have it). The opponent then cannot capture the Queen that is not there anymore, and the test would reveal if that Queen was performing some essential function that would put a restraint on the way it could retreat. (It could have been skewered, or essential in protecting a Rook or covering a mate square.) If just pocketing the Queen produces no ill effects the assumption that it could retreat to safety seems plausible enough not to bother actually trying it, and use the score of the 'lift move' as score for the node (i.e. fail high when it was above beta, like you would fail high if the null move scored about beta). This could be called "lift-move pruning". If the lift move failed low the Queen served an essential function, or there was other trouble (e.g. Q+R were forked, and the R is now taken). In this case it is not evident that a Queen retreat that solves the other problems as well will be available. So you will have to actually try them all, i.e. exempt all Queen moves from the move-count-based pruning. (And against attacks by a slider also all interpositions.)
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Oddity around depths 7-8 with Stockfish 6 & 7

Post by Evert »

hgm wrote: It seems that this situation is easily detected with a very cheap test: you drop a big piece near the end of the branch. This makes the score of the best move so far fall way below the (lazy / incremental) evaluation. That simple test alone is enough to tell you that you are apparently facing a threat. As the large majority of threats are actually solvable when you have the move (which is the justification to stand pat in QS), it almost always means that you haven't searched the move that solved it yet. (Which is statistically also very likely, as threats are often specific, created by the previous ply, and the move ordering is tuned to the general case.)

It seems that it would always be much cheaper to spend the extra work to solve the threat in the current node, than to provide the parents at larger depth with false information, so that they now have to solve the problem in an alternative way (which, as we see in these examples, they often cannot do at all).

In particular, it seems to have problems with evasions. Another reasonably cheap test is to look what was attacked by the opponent's last move. In the case at hand you would see a Knight was moved to attack a Queen. Of course it is going to lose you that Queen if you don't retreat (or captured the Knight, but if that were possible you would already know it at this point). So you could just exempt all moves with that Queen from the move-count-based pruning.
I once tried something like that: if the null-move is refuted by a capture, then don't reduce moves that evacuate the victim. This was very murky, but I haven't revisited the idea. Also, the way I do the "don't reduce" is by sorting the moves higher in the move list, which may not be good.
An more dirty, but even cheaper way to solve the problem would be to just assume you will be able to rescue that Queen. I.e. instead of actually trying all moves with that Queen to see if they help, you would just try one pseudo-move (similar to the null move representing all quiet real moves), namely just 'lift' the Queen off the board (take it in hand, as it were, where it certainly cannot be captured), and search on without that Queen (but with a score like you still have it). The opponent then cannot capture the Queen that is not there anymore, and the test would reveal if that Queen was performing some essential function that would put a restraint on the way it could retreat. (It could have been skewered, or essential in protecting a Rook or covering a mate square.) If just pocketing the Queen produces no ill effects the assumption that it could retreat to safety seems plausible enough not to bother actually trying it, and use the score of the 'lift move' as score for the node (i.e. fail high when it was above beta, like you would fail high if the null move scored about beta). This could be called "lift-move pruning". If the lift move failed low the Queen served an essential function, or there was other trouble (e.g. Q+R were forked, and the R is now taken). In this case it is not evident that a Queen retreat that solves the other problems as well will be available. So you will have to actually try them all, i.e. exempt all Queen moves from the move-count-based pruning. (And against attacks by a slider also all interpositions.)
I think this is a pretty neat idea, actually, but it needs some care: if the piece that is taken in-hand is part of an attack and performs an important function on its destination, you will not catch that.

I wonder though: the sort of pathology you see in the PV nodes here normally happens in the search tree anyway, it's just normally hidden from view. This isn't very nice, but it's not necessarily harmful either.
The caveat is that you can't tell from just looking at the output what information is reliable and what isn't. It looks like the first move of the PV is probably ok (which is of course what gets optimised by the tuning framework), but the score and continuation are less so - especially at low depth.
So a cosmetic "fix" is to simply supress output for the low-depth iterations...
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Oddity around depths 7-8 with Stockfish 6 & 7

Post by hgm »

In Joker I always sorted a single SEE-safe evasion of a threatened piece with the captures. That seemed to help. Joker was generally aware of threats to its pieces, and it also used that information in the capture sorting, adding the threat value to the capturing piece to that of the victim to get the MVV key. Null move was a bad way to get that information, though, as the refutation of the null move is likely to begin with trading a high piece, rather than collecting the profits on a lower one (unless you sort strictly be SEE).

If the 'lifted' piece performed an important function, it is exactly what you will catch. Because it no longer fulfills it when you pocketed it, you will then fail low. And I think that is justified. It is all a matter of default assumption on the possibility to evade a threat. Normally you would expect a powerful piece like a Queen to be able to retreat. Less powerful pieces will also be worth less, so you expect to be able to protect those. The obvious exception is the King, which is weak but yet infinitely valuable. Which is why you treat checks special. But if the move of a powerful piece is subject to constraints, (as the lift-move search would reveal by failing low), most evasions are expected to violate the constraint, and the default assumption should be that you cannot retreat without giving up what it was doing. This is a more dubious assumption, though, so rather than using a fail low of the lift-move search to make the node itself fail low, you would explicitly search the retreat moves.

Lift-move pruning would be particularly suitable for LxH threats. Capture of unprotected pieces with higher or equal attacker are often only solvable by protection. Assuming this cannot be done will be wrong most of the time. But assuming it can be done without further evidence is wrong often enough that you would not want to do that either. So it would be nice if there was a simple test to see if protecting would help, similar to the lift move as a generalized retreat. Protecting a piece could subvert the function it fulfills in the position just as much as retreating it, however. E.g. it could be essential in protecting something else, and after trading it that something else would then fall. My first idea would be to 'poison' the threatened piece, meaning that after capture of it you would be allowed to take away the capturer instead of playing a legal move (symbolyzing recapture with an unspecified piece that you used to protect it). This doesn't seem entirely realistic, however, as the square ends empty, so that moves now could pass over it.
Joerg Oster
Posts: 937
Joined: Fri Mar 10, 2006 4:29 pm
Location: Germany

Re: Oddity around depths 7-8 with Stockfish 6 & 7

Post by Joerg Oster »

gladius wrote:
hgm wrote:So what exactly causes the problem here? The patch you show would not affect pruning of the QxB recapture, which takes place at a remaining depth of 6 ply. So why does it refrain from that recapture at d=7, while it still recommended it at d=5? Does it imagine something terrible will happen near the leaves, when it plays Qxd6? What it imagines must be truly terrible, that it is willing to suffer a -4.12 score to avoid it. Only the loss of a Queen seems worse. Is the problem that two ply before the horizon the Queen can get attacked on d6, and that it prunes all evasions in the d=1 daughter, so it will be taken in QS?

This cannot be optimal. You might only see it in the root at low depth, but it must occur zillions of times near the leaves at any depth. It cannot be good that a substantial fraction of the sub-trees near the leaves are absolute garbage.
It's certainly not optimal. But it's hard to beat. I tried many patches to fix this behavior, a lot focused on if there are big threats in the position, ordering evasions for those first so they won't be pruned by move count. It's just too expensive. movecount pruning is statistically incredibly effective, and it's also incredibly cheap.

Here is the thread in fishcooking talking about the problem: https://groups.google.com/forum/?fromgr ... 3aeGoqSD8J

The example position from the thread:
[d]r1q1nr1k/pp1b2b1/n2p2pp/2pP1p2/2B4B/3Q1N1P/PPP1NPP1/1R3RK1 b - - 0 12

SF search up till depth 5 drops the queen in the pv. It will never play this move in a game, as when it searches the root node, it will see the queen being dropped, but the PV is useless. On the other hand, it only analyzes 1270 nodes to fix the problem.

position fen r1q1nr1k/pp1b2b1/n2p2pp/2pP1p2/2B4B/3Q1N1P/PPP1NPP1/1R3RK1 b - - 0 12
go depth 6
info depth 1 seldepth 1 multipv 1 score cp -34 nodes 32 nps 16000 tbhits 0 time 2 pv g6g5
info depth 2 seldepth 2 multipv 1 score cp 629 nodes 128 nps 64000 tbhits 0 time 2 pv a6b4 c2c3 b4d3
info depth 3 seldepth 3 multipv 1 score cp 629 nodes 180 nps 90000 tbhits 0 time 2 pv a6b4 c2c3 b4d3
info depth 4 seldepth 4 multipv 1 score cp 598 nodes 275 nps 91666 tbhits 0 time 3 pv a6b4 e2f4 b4d3 c4d3
info depth 5 seldepth 7 multipv 1 score cp 331 nodes 499 nps 166333 tbhits 0 time 3 pv a6b4 e2f4 b4d3 f4g6 h8h7 g6f8 g7f8 c4d3
info depth 6 seldepth 8 multipv 1 score cp 38 nodes 1270 nps 254000 tbhits 0 time 5 pv a6b4 d3d1 b7b5 e2f4 b5c4 f4g6 h8h7 g6f8 g7f8
bestmove a6b4 ponder d3d1
Hi Gary,
the smaller number of nodes searched at these lower depths is not really an argument.
Even searching more than ten times as much nodes doesn't cost much time.

Code: Select all

position fen r1q1nr1k/pp1b2b1/n2p2pp/2pP1p2/2B4B/3Q1N1P/PPP1NPP1/1R3RK1 b - - 0 12
go depth 12
info depth 1 seldepth 1 multipv 1 score cp -36 nodes 32 nps 8000 tbhits 0 time 4 pv g6g5
info depth 2 seldepth 2 multipv 1 score cp -31 nodes 404 nps 101000 tbhits 0 time 4 pv a6b4 d3d2
info depth 3 seldepth 3 multipv 1 score cp 18 nodes 617 nps 123400 tbhits 0 time 5 pv a6b4 d3d2 g6g5
info depth 4 seldepth 4 multipv 1 score cp 0 nodes 1531 nps 306200 tbhits 0 time 5 pv a6b4 d3d2 b7b5 a2a3 b5c4
info depth 5 seldepth 5 multipv 1 score cp 17 nodes 4113 nps 587571 tbhits 0 time 7 pv a6b4 d3d2 b7b5 a2a3 b4c2 d2c2
info depth 6 seldepth 6 multipv 1 score cp -8 nodes 14916 nps 1243000 tbhits 0 time 12 pv g6g5 c4a6 b7a6 h4g3 f5f4 g3h2
info depth 7 seldepth 7 multipv 1 score cp 31 nodes 35145 nps 1673571 tbhits 0 time 21 pv g6g5 c4a6 b7a6 h4g3 f5f4 g3h2 e8f6
info depth 8 seldepth 8 multipv 1 score cp 15 nodes 77559 nps 1988692 tbhits 0 time 39 pv g6g5 c4a6 b7a6 h4g3 f5f4 g3h2 d7f5 d3c4
info depth 9 seldepth 9 multipv 1 score cp 39 nodes 83734 nps 1993666 tbhits 0 time 42 pv g6g5 c4a6 b7a6 h4g3 f5f4 g3h2 d7f5 d3c4 e8f6
info depth 10 seldepth 15 multipv 1 score cp -5 nodes 101835 nps 1921415 tbhits 0 time 53 pv g6g5 h4g5 a6b4 d3d2 h6g5 d2g5 h8g8 c2c3 b4a6 e2f4 b7b5 c4b3
info depth 11 seldepth 16 multipv 1 score cp -27 nodes 132619 nps 1816698 tbhits 0 time 73 pv g6g5 h4g5 a6b4 d3d2 h6g5 f3g5 c8d8 a2a3 b4c2 g5e6 d7e6 d5e6 b7b5 c4b5
info depth 12 seldepth 19 multipv 1 score cp -20 nodes 183945 nps 1719112 tbhits 0 time 107 pv g6g5 h4g5 a6b4 d3d2 h6g5 f3g5 b7b5 e2f4 f8f6 c4e2 g7h6 f4h5 h8g8 c2c3 b4a2 h5f6 e8f6
bestmove g6g5 ponder h4g5
I simply don't allow any kind of pruning for the first 8 iterations.
Now that rootDepth is a member of the Thread struct, it's very easy to do.
Jörg Oster
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Oddity around depths 7-8 with Stockfish 6 & 7

Post by hgm »

But that is only a cosmetic fix. The reason why you don't want this behavior is that it corrupts your search in the billions of d<=8 nodes that you visit during a d=30 search.