Test position: Vaisser - Genius 2

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

Moderators: hgm, Rebel, chrisw

User avatar
Eelco de Groot
Posts: 4576
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

Re: Test position: Vaisser - Genius 2

Post by Eelco de Groot »

metax wrote:
Eelco de Groot wrote:
Marc MP wrote:[D]rnbq2k1/p1r2p1p/1p1p1Pp1/1BpPn1N1/P7/2P5/6PP/R1B1QRK1 w - - 0 1

This one is not particularly difficult, but some engines might have difficulties with it. The best move is Nxh7! followed by Qh4+ and then Bh6-Bg7 in order to mate in h8.
I was hoping to find the mate in eight but it is probably out of reach anyway. This version finds at least Nxh7+ - but everything after this is hopelessly in disrepair and does not seem to find it, maybe this one is is also not good anymore, I was a bit too hasty trying to find Jakovenko - Kramnik and definitely blew the engine up :oops: Don't know if it can be repaired. It's a mess. But those numbers look so nice 8-)

Eelco
I think it is almost always a bad idea to change the engine's code to solve one special test position that you want to solve. It does often blow up the search tree in other positions (and in positions which are actually quiet but require a deep positional search).
I know the problem that you know there is a mate and the engine's score is extremely high but no mate score. This occurs frequently with Stockfish on my computer. Then I get something like:

18 +32.00++
19 +76.00++
20 +221.00
21 +221.00

and then it gets stuck and doesn't get to ply 22. It has probably found a mate at a glance but does not see the mate itself...
Yes, it is true Luca sometimes you think you have a great idea but then there suddenly is no output at all anymore, because you forgot that searches have to stop somewhere or they don't give you a result. Or for instance I was wondering just now if you have a Fail High with a null window search why does your PV re-search have to be with the (new) alpha, beta window wheras the first move was using an alpha that was much lower? Why not use the old alpha or something in between? But it was a complete disaster when I tried it! And I can't explain why :( So you try something else but at some point you really have to figure out what really happened. Maybe you will not solve it but you will at least be probably learning something new about the working code and not just about the changes you introduce.

But I agree; if you want an engine that also is good at competing against other engines it might be a good idea to actually test it. I just hope that some of the changes I introduce are general enough to help even in games or if they are specific for a certain position that you can find a right way to do it, there must be a way to solve most problems without completely wrecking the engine. I keep trying :)

I think I have seen some of the Stockfish behaviour you mention, but I can't pin it down yet. Seen something similar too I think but that may be just in Rainbow Serpent. If you do see bugs in the latest version 1.6.3 of Stockfish Luca don't hesitate to post them, I don't think I've seen any other bugreports posted here, at least not things that were not already known like sometimes not enough knowledge to compensate for not having endgame tablebases. I'm just mentioning one thing that comes up in my mind right now, there must be other things that people have seen.

Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
User avatar
Eelco de Groot
Posts: 4576
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

Re: Test position: Vaisser - Genius 2

Post by Eelco de Groot »

Eelco de Groot wrote: 24.01 175:51 +15.55 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.Be2 Nxf6
7.Bxf6 Qf8 8.Bxh5 Nd7 9.Bxg6 Nxf6
10.Bxf7+ Kh8 11.Bg6 Rh7 12.Bxh7 Qg7
13.Qxf6 Qxf6 14.Rxf6 (5.350.193.002) 507


best move: Ng5xh7 time: 294:04.047 min n/s: 510.883 nodes: 9.014.040.382
I read "mate in eight" but Marc wrote "mate in h8". Now I understand why Rainbow Serpent could not find it...

This is a more precise variation I think, but now the 11th ply arrives only after one minute and although Nxf7 is found a few plies earlier, this is still after one minute :( But still I think the idea was not so bad. It's just the implementation that is a bit amateuristic/sucks bigtime. Please choose the phrasing you like best.


[D]rnbq2k1/p1r2p1p/1p1p1Pp1/1BpPn1N1/P7/2P5/6PP/R1B1QRK1 w - -

Engine: Rainbow Serpent 1.6.3s(dc) Build 212 (Athlon 2009 MHz, 256 MB)
by Tord Romstad, Marco Costalba, Joona Kiiski Modifications: Dann Corbit

1.00 0:00 +3.91 1.Qh4 (101) 0

2.00 0:00 +1.17 1.Qh4 h5 (357) 1

3.00 0:00 +1.17 1.Qh4 h5 2.a5 (32.376) 115

4.00 0:00 +1.17 1.Qh4 h5 2.a5 bxa5 3.Rxa5 Rb7 (89.655) 212

5.00 0:00 +1.33 1.Qh4 h5 2.Qe4 Kh8 3.Be2 Qg8 4.a5 (260.209) 326

5.00 0:01 +1.33 1.a5 bxa5 2.Nxh7 Kxh7 3.Qh4+ Kg8
4.Bh6 Bg4 5.Bg7 Bh5 6.Be2 a6 7.Bxh5 gxh5
8.Rxa5 (485.888) 384

6.01 0:01 +1.34 1.a5 bxa5 2.Nxh7 Kxh7 3.Qh4+ Kg8
4.Bh6 Bg4 5.Bg7 Bh5 6.Be2 Rd7 7.Bxh5 gxh5
8.Qxh5 Ng6 9.Qh6 a6 (510.352) 393

6.02 0:01 +1.34 1.Qh4 h5 2.Qe4 Kh8 3.a5 bxa5 4.Be2 Bg4
5.Bxg4 Nxg4 6.c4 Rb7 (598.842) 399

6.03 0:04 +1.35 1.Qe4 a6 2.Be2 h6 3.Ne6 fxe6 4.Bc4 Kh8
5.dxe6 d5 6.Qxe5 dxc4 7.Bxh6 (2.387.188) 478

6.04 0:05 +1.67++ 1.Bf4 a6 2.Bxe5 dxe5 3.d6 Rb7 4.Qh4 h5
5.Bc4 Nc6 6.Qe4 Qxd6 7.Bd5 (2.551.965) 481

7.01 0:06 +2.46 1.Bf4 h6 2.Ne4 a6 3.Nxd6 Ng4 4.Qe8+ Qxe8
5.Nxe8 Rd7 6.Bxd7 Nxd7 7.Nc7 Ra7
8.d6 Ndxf6 9.h3 (3.196.025) 488

8.01 0:11 +2.90 1.Bf4 h6 2.Ne4 Rb7 3.Bxh6 a6 4.Be2 Bf5
5.Qh4 Bxe4 6.Qxe4 (5.587.866) 500

9.01 0:15 +2.38 1.Bf4 Kh8 2.Qh4 h5 3.Bxe5 dxe5 4.Qe4 Qd6
5.Bc4 Ba6 6.Bb5 (7.607.370) 501

10.01 0:20 +1.57 1.Bf4 Nbd7 2.Bxd7 Rxd7 3.Bxe5 dxe5
4.Ne6 fxe6 5.dxe6 Ba6 6.exd7 Bxf1
7.Qxf1 Qxd7 (10.600.829) 506

11.01 0:49 +1.17 1.Bf4 Nbd7 2.Bxd7 Rxd7 3.Qh4 h5
4.Bxe5 dxe5 5.c4 Qe8 6.Rae1 Rb7
7.Nf3 e4 8.Rxe4 Qxa4 9.Ne5 (25.672.425) 520

11.02 1:00 +2.02 1.a5 Rb7 2.Qh4 h5 3.a6 Rc7 4.Qg3 Kh8
5.Bf4 Nbd7 6.Ne4 Qf8 7.Rae1 Rb8
8.Nxd6 Qxd6 9.Bxe5 Nxe5 10.Qxe5 (30.867.085) 512

11.04 1:01 +3.72++ 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Bf3 6.gxf3 (31.616.032) 513

12.01 1:03 +7.39 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.h3 a6 7.hxg4 axb5
8.Qh6 bxa4 9.gxh5 (32.344.424) 513

13.01 1:13 +6.62 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.h3 Nxf6 7.Bxf6 Qf8
8.g4 Nd7 9.Be7 f6 10.Bxf8 fxg5
11.Bxd6 Rb7 12.Bc6 Bxg4 13.hxg4 (38.194.206) 519

14.01 1:16 +6.62 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.h3 Nxf6 7.Bxf6 Qf8
8.g4 a6 9.gxh5 axb5 10.hxg6 fxg6
11.Qxg6+ Qg7 12.Bxg7 Rxg7 13.Qxg7+ Kxg7
14.axb5 (39.949.032) 521

15.01 1:21 +7.39++ 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.h3 Nxf6 7.Bxf6 Qf8
8.g4 a6 9.gxh5 axb5 10.hxg6 fxg6
11.Qxg6+ Qg7 12.Bxg7 Rxg7 13.Qxg7+ Kxg7
14.axb5 (43.064.379) 525

16.01 1:23 +6.50 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.h3 Nxf6 7.Bxf6 Qf8
8.g4 a6 9.gxh5 axb5 10.hxg6 fxg6
11.Qxg6+ Qg7 12.Bxg7 Rxg7 13.Qxg7+ Kxg7
14.axb5 (44.090.215) 527

17.01 1:35 +7.43 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.h3 Nxf6 7.Bxf6 Qf8
8.g4 a6 9.gxh5 axb5 10.hxg6 fxg6
11.Qxg6+ Qg7 12.Bxg7 Rxg7 13.Qxg7+ Kxg7
14.axb5 (50.894.121) 533

18.01 2:17 +8.08 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.h3 Nxf6 7.Bxf6 Qf8
8.g4 a6 9.gxh5 axb5 10.hxg6 fxg6
11.Qxg6+ Qg7 12.Bxg7 Rxg7 13.Qxg7+ Kxg7
14.axb5 (74.026.159) 538

19.01 4:45 +9.69 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.h3 Nxf6 7.Bxf6 Qf8
8.g4 a6 9.gxh5 axb5 10.hxg6 fxg6
11.Rae1 Na6 12.Re6 Rf7 13.axb5 Nc7
14.Qxg6+ (155.316.359) 544

20.01 15:12 +10.86 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.h3 Nxf6 7.Bxf6 Qf8
8.g4 a6 9.gxh5 axb5 10.hxg6 fxg6
11.Rae1 Na6 12.Re6 Rf7 13.axb5 Nc7
14.Qxg6+ (388.569.833) 425

21.01 34:39 +11.59 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.h3 Nxf6 7.Bxf6 Qf8
8.g4 a6 9.gxh5 axb5 10.hxg6 fxg6
11.Rae1 Na6 12.Re6 Rf7 13.axb5 Nc7
14.Qxg6+ (779.771.521) 375

22.01 90:04 +12.32 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.h3 Nxf6 7.Bxf6 Qf8
8.g4 a6 9.gxh5 axb5 10.hxg6 fxg6
11.Rae1 Na6 12.Re6 Rf7 13.axb5 Nc7
14.Qxg6+ (1.680.904.071) 311

23.01 161:10 +12.76 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.h3 Nxf6 7.Bxf6 Qf8
8.g4 a6 9.gxh5 axb5 10.hxg6 fxg6
11.Rae1 Na6 12.Re6 Rf7 13.axb5 Nc7
14.Qxg6+ (2.801.973.000) 289


Eval is lower but 6. h3 is just a bit more precise than 6. Be2 that other versions of Rainbow Serpent play. Rybka 2.3.2a thinks 6. Rf4 is even stronger but from the start position that is too deep for Rainbow Serpent.

[D]rn1q2k1/p1r2pB1/1p1p1Pp1/1BpP2Qb/P5n1/2P5/6PP/R4RK1 w - -

Engine: Rybka 2.3.2a PV-tips32-bit (64 MB)
by Vasik Rajlich

16 9:24 +9.15 6.Rf4 Nd7 7.Bxd7 Nxf6 8.Bxf6 Rxd7
9.Bxd8 Raxd8 10.g4 Re8 11.gxh5 Re5
12.Qg4 Rc7 13.hxg6 fxg6 14.Rf6 Rg7
15.Rxd6 Kh7 16.Rd7 Rf5 (17.665.765) 32

16 10:27 +5.90 6.h3 Nxf6 7.Rxf6 Kxg7 8.Rxg6+ Bxg6
9.Qxd8 Rb7 10.a5 bxa5 11.Bc6 Nxc6
12.Qxa8 Rb2 13.Qxc6 Be4 14.Qxd6 Rxg2+
15.Kf1 Rg5 16.Rxa5 Rxd5 17.Qg3+ Bg6
18.Rxa7 c4 (19.400.421) 31
____________________________________________________________

17 16:12 +9.53 6.Rf4 Nd7 7.Bxd7 Nxf6 8.Bxf6 Rxd7
9.Bxd8 Raxd8 10.g4 Re8 11.gxh5 Re5
12.Qg4 Rc7 13.hxg6 fxg6 14.Rf6 Rg7
15.Rxd6 Kh7 16.Rd7 Rxd7 17.Qxd7+ (30.379.352) 31

17 19:43 +6.60 6.h3 Nxf6 7.Rxf6 Kxg7 8.Rxg6+ Bxg6
9.Qxd8 Rb7 10.a5 bxa5 11.Bc6 Nxc6
12.Qxa8 Rb6 13.dxc6 Be4 14.Qxa7 Rxc6
15.Rxa5 Kf6 16.Qb7 Bd5 17.Ra7 Ke5 (36.948.587) 31

After 6. Be2 Rybka would play Nxf6, and Rainbow Serpent's choice continuation in that case, 6... Nd7 is, after a very long think, falling to -11

[FEN "rnbq2k1/p1r2p1p/1p1p1Pp1/1BpPn1N1/P7/2P5/6PP/R1B1QRK1 w - -"]

1. Nxh7 Kxh7 2. Qh4+ Kg8 3. Bh6 Bg4 4. Bg7 Bh5 5. Qg5 Ng4
6. Be2 *

[D]rn1q2k1/p1r2pB1/1p1p1Pp1/2pP2Qb/P5n1/2P5/4B1PP/R4RK1 b - -

Engine: Rybka 2.3.2a PV-tips32-bit (64 MB)
by Vasik Rajlich

16 1:39 -4.89 6...Nd7 7.Bxg4 Nf8 8.Bxh5 Nh7 9.Qg3 Nf8
10.Bg4 Nh7 11.Qh4 c4 12.Rae1 Rc5
13.Re7 Rxd5 14.Bf3 (2.848.761) 29

16 2:12 -6.72 6...Nxf6 7.Bxf6 Qf8 8.Bxh5 Nd7
9.Bxg6 Nxf6 10.Bxf7+ Kh8 11.Rxf6 Qxf7
12.Rxf7 Rxf7 13.Re1 Raf8 14.Qh6+ Kg8
15.Qxd6 Kh8 16.Qe5+ Kh7 17.d6 Kg8
18.h4 Kh7 19.Kh2 Rg7 (4.092.698) 31
____________________________________________________________

19 16:40 -7.14 6...Nxf6 7.Bxf6 Qf8 8.Bxh5 Nd7
9.Bxg6 Nxf6 10.Bxf7+ Kh8 11.Rxf6 Qxf7
12.Rxf7 Rxf7 13.Re1 Raf8 14.Qh6+ Kg8
15.Qxd6 Rf6 16.Qg3+ Kh8 17.d6 R6f7
18.Qe5+ (30.402.405) 31

19 13:53 -7.63 6...Nd7 7.Bxg4 Nf8 8.Bxh5 Nh7 9.Qg3 Qd7
10.Rae1 Rd8 11.Re7 Qxe7 12.fxe7 Rxe7
13.Bh6 Kh8 14.c4 Rde8 15.Bg4 f5
16.Bh3 Rg8 (23.934.366) 29
_____________________________________________________________

20 29:13 -7.44 6...Nxf6 7.Bxf6 Qf8 8.Bxh5 Nd7
9.Bxg6 Nxf6 10.Bxf7+ Kh8 11.Rxf6 Rxf7
12.Raf1 Qg8 13.Qxg8+ Kxg8 14.Rxf7 a6
15.Rd7 b5 16.Rf4 Rb8 17.Rxd6 Kg7
18.Rxa6 b4 19.Rc4 (53.192.735) 31

20 106:45 -11.71 6...Nd7 7.Bxg4 Nf8 8.Bxh5 Nh7 9.Qh6 gxh5
10.Rf3 Re7 11.fxe7 Qxe7 12.Rg3 Qh4
13.Bf6+ Qxg3 14.hxg3 Nxf6 15.Qxf6 a6
16.Qxd6 Re8 17.Qxb6 c4 18.Qxa6 (245.492.799) 39

best move: Ng4xf6 time: 149:38.219 min n/s: 37.837 nodes: 331.752.594
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
metax
Posts: 344
Joined: Wed Sep 23, 2009 5:56 pm
Location: Germany

Re: Test position: Vaisser - Genius 2

Post by metax »

Well, I don't really think you can call that behaviour a bug. The only thing I was wondering about is that the huge score was holding for two iterations since when it has found a mate at a glance I would expect it to report a mate score one iteration deeper. But I'm sure there is a 'normal' explanation for this, probably simply that a transposition table entry created an immediate cut-off and so the critical line wasn't searched any deeper. The only thing that annoys me is that the search tree seems to explode after such a behaviour so that you never get to see the actual mate score. But I know this from my own engine. You get so many fail-highs so that you are sure there is a mate (and the engine is actually about to find it), but it takes ages until the mate score is displayed.
Marc MP

Re: Test position: Vaisser - Genius 2

Post by Marc MP »

Hello Eelco,

As you remarked there is no mate in 8. Your Serpent is already doing well. Most engines gets +5 score, but you got the highest!

A very strong engine with notable difficulties on this one is Komodo 1.0 (32-bits); it didn't get Nxh7 after more than one hour search!:

Code: Select all

rnbq2k1/p1r2p1p/1p1p1Pp1/1BpPn1N1/P7/2P5/6PP/R1B1QRK1 w - - 0 1

Analysis by Komodo32 1.0 JA:

<snip>

1.Qh4 h5 2.Bf4 Nbd7 3.Ne4 Qf8 4.Rfe1 Bb7 5.c4 Re8 6.Qg3 Bc8 7.Qc3 a6 8.Bxd7 Rxd7 9.Nxd6 Qxd6 10.Bxe5 Qf8 11.Rab1 Rb7 12.Rb2 Bf5 13.Rbe2 Bd7 14.Qg3 Rc8 15.Bf4 b5 16.axb5 axb5 
  +-  &#40;1.96&#41;   Depth&#58; 22   00&#58;14&#58;27  378mN

1.Qh4 h5 2.Bf4 Nbd7 3.Ne4 Qf8 4.Rfe1 c4 5.Bxd7 Rxd7 6.Nxd6 Qxd6 7.Rxe5 Qc5+ 8.Be3 Qf8 9.Rd1 Rd8 10.Rd4 Bg4 11.h3 Be2 12.Re7 Bd3 13.d6 Rac8 14.Rd5 Rc6 15.Qd4 Bc2 16.Bf4 Bxa4 
  +-  &#40;2.27&#41;   Depth&#58; 23   00&#58;25&#58;27  660mN

1.Qh4 h5 2.Bf4 Nbd7 3.Ne4 Qf8 4.Rfe1 c4 5.Bxd7 Rxd7 6.Nxd6 Qxd6 7.Rxe5 Qc5+ 8.Be3 Qf8 9.Rd1 Rd8 10.Rd4 Bg4 11.h3 Be2 12.Re7 Bd3 13.d6 Rac8 14.Rd5 Rc6 15.Qd4 Bc2 16.Bf4 Bxa4 
  +-  &#40;2.27&#41;   Depth&#58; 23   00&#58;28&#58;06  721mN

1.Qh4 h5 2.Bf4 Nbd7 3.Ne4 Qf8 4.Rfe1 Bb7 5.c4 Re8 6.Qg3 Bc8 7.Qc3 Kh7 8.a5 bxa5 9.Bc6 Bb7 10.Bxd7 Rxd7 11.Rxa5 a6 12.Raa1 Kg8 13.Nxc5 Nf3+ 14.Qxf3 dxc5 15.Qh3 Rdd8 16.Qb3 Rd7 
  +-  &#40;2.34&#41;   Depth&#58; 24   00&#58;42&#58;54  1105mN

1.Qh4 h5 2.Bf4 Nbd7 3.Ne4 Qf8 4.Rfe1 Bb7 5.c4 Re8 6.Qg3 Bc8 7.Qc3 Kh7 8.a5 bxa5 9.Bc6 Bb7 10.Bxd7 Rxd7 11.Rxa5 a6 12.Raa1 Kg8 13.Nxc5 Nf3+ 14.Qxf3 dxc5 15.Qh3 Rdd8 16.Qb3 Rd7 
  +-  &#40;2.34&#41;   Depth&#58; 24   00&#58;47&#58;13  1220mN
Marc MP

Re: Test position: Vaisser - Genius 2

Post by Marc MP »

Komodo is not alone! Pruning hurts!

Code: Select all


rnbq2k1/p1r2p1p/1p1p1Pp1/1BpPn1N1/P7/2P5/6PP/R1B1QRK1 w - - 0 1

Analysis by Protector 1.3.3 JA x32&#58;

1.Qh4 h5 2.Kh1 Bb7 3.Qe4 Nbd7 
  ±  &#40;0.97&#41;   Depth&#58; 6/9   00&#58;00&#58;00  3kN

1.Qh4 h5 2.a5 Ba6 3.Rb1 Bxb5 4.Rxb5 Nbd7 
  ²  &#40;0.49&#41;   Depth&#58; 7/10   00&#58;00&#58;00  10kN

1.Kh1 Bb7 2.Bf4 Nbd7 3.Bxe5 Nxe5 4.Qh4 h5 
  ²  &#40;0.51&#41;   Depth&#58; 7/11   00&#58;00&#58;00  15kN

1.Kh1 Bb7 2.Qd2 Qf8 3.Re1 Nbd7 4.Ne4 Re8 
  ²  &#40;0.44&#41;   Depth&#58; 8/13   00&#58;00&#58;00  44kN

1.Qh4 h5 2.a5 Ba6 3.Ne6 fxe6 4.dxe6 Kh8 
  ²  &#40;0.66&#41;   Depth&#58; 8/13   00&#58;00&#58;00  52kN

1.Qh4 h5 2.a5 Ba6 3.Ne6 fxe6 4.dxe6 Qc8 
  ±  &#40;0.76&#41;   Depth&#58; 8/13   00&#58;00&#58;00  58kN

1.Qh4 h5 2.a5 bxa5 3.Rxa5 Rb7 4.Qa4 Bf5 
  ²  &#40;0.27&#41;   Depth&#58; 9/19   00&#58;00&#58;00  175kN

1.Kh1 Bb7 2.Qd2 Qf8 3.a5 Ba6 4.Qe2 Bxb5 
  ²  &#40;0.46&#41;   Depth&#58; 9/19   00&#58;00&#58;01  218kN

1.a5 bxa5 2.Bf4 a6 3.Ba4 Nd3 4.Qh4 h5 
  ²  &#40;0.58&#41;   Depth&#58; 9/19   00&#58;00&#58;01  401kN

1.a5 bxa5 2.Bf4 a6 3.Ba4 Nbd7 4.Qh4 h5 
  ²  &#40;0.66&#41;   Depth&#58; 10/17   00&#58;00&#58;03  774kN

1.a5 bxa5 2.Bf4 a6 3.Ba4 Nbd7 4.Qh4 h5 
  ²  &#40;0.53&#41;   Depth&#58; 11/21   00&#58;00&#58;07  1640kN

1.Qd2 Ng4 2.Ne4 c4 3.a5 Bf5 4.Rxf5 gxf5 
  ±  &#40;0.74&#41;   Depth&#58; 11/21   00&#58;00&#58;10  2408kN

1.Qd2 Nbd7 2.Nxh7 Ng4 3.Qg5 Nde5 4.h3 Kxh7 
  ±  &#40;0.73&#41;   Depth&#58; 11/21   00&#58;00&#58;10  2548kN

1.Qd2 Qf8 2.h3 Bf5 3.a5 bxa5 4.Rxa5 Rb7 
  =  &#40;0.12&#41;   Depth&#58; 12/23   00&#58;00&#58;16  4013kN

1.a5 bxa5 2.Bf4 a6 3.Ba4 Nbd7 4.Qh4 h5 
  ²  &#40;0.33&#41;   Depth&#58; 12/23   00&#58;00&#58;17  4239kN

1.a5 bxa5 2.Bf4 a6 3.Ba4 Nbd7 4.Bxd7 Rxd7 
  ²  &#40;0.63&#41;   Depth&#58; 12/23   00&#58;00&#58;19  4575kN

1.a5 bxa5 2.Bf4 Rb7 3.Bxe5 dxe5 4.Bc6 Nxc6 
  ±  &#40;1.00&#41;   Depth&#58; 12/31   00&#58;00&#58;28  6887kN

1.a5 bxa5 2.Bf4 Rb7 3.Bxe5 dxe5 4.Bc6 Nxc6 
  ²  &#40;0.66&#41;   Depth&#58; 13/25   00&#58;00&#58;39  9399kN

1.Bf4 a6 2.a5 Rb7 3.axb6 Rxb6 4.Bxe5 dxe5 
  ±  &#40;0.87&#41;   Depth&#58; 13/26   00&#58;00&#58;56  13484kN

1.Bf4 a6 2.a5 Rb7 3.axb6 Rxb6 4.Bxe5 dxe5 
  ±  &#40;1.17&#41;   Depth&#58; 13/26   00&#58;01&#58;01  14887kN

1.Bf4 a6 2.a5 Rb7 3.axb6 h6 4.Nf3 Ng4 
  ±  &#40;0.91&#41;   Depth&#58; 13/26   00&#58;01&#58;04  15464kN

1.Bf4 a6 2.a5 Rb7 3.axb6 h6 4.Nf3 Ng4 
  ±  &#40;1.06&#41;   Depth&#58; 14/24   00&#58;01&#58;11  17425kN

1.Bf4 a6 2.a5 Rb7 3.axb6 h6 4.Nf3 Ng4 
  ±  &#40;1.07&#41;   Depth&#58; 15/25   00&#58;01&#58;35  23523kN

1.Bf4 a6 2.a5 Rb7 3.axb6 h6 4.Nf3 Ng4 
  ±  &#40;1.08&#41;   Depth&#58; 16/29   00&#58;02&#58;38  37082kN

1.Bf4 a6 2.a5 Rb7 3.axb6 h6 4.Ne4 Qxb6 
  ±  &#40;1.28&#41;   Depth&#58; 17/36   00&#58;05&#58;14  75008kN

1.Bf4 Qe7 2.fxe7 Rxe7 3.Qh4 f6 4.Bxe5 Nd7 
  +-  &#40;1.58&#41;   Depth&#58; 17/45   00&#58;09&#58;46  146mN

1.Bf4 a6 2.a5 Rb7 3.axb6 h6 4.Ne4 Rxb6 
  +-  &#40;1.61&#41;   Depth&#58; 17/45   00&#58;11&#58;51  179mN

1.Bf4 a6 2.a5 Rb7 3.axb6 h6 4.Ne4 Rxb6 
  +-  &#40;1.81&#41;   Depth&#58; 18/41   00&#58;22&#58;01  340mN

1.Bf4 Nbd7 2.Ne4 Qf8 3.a5 Bb7 4.c4 Re8 
  +-  &#40;1.77&#41;   Depth&#58; 18/43   00&#58;33&#58;46  523mN

1.Bf4 Nbd7 2.Ne4 Qf8 3.a5 Bb7 4.c4 Re8 
  +-  &#40;1.81&#41;   Depth&#58; 19/35   00&#58;48&#58;06  747mN

1.Bf4 Nbd7 2.Rd1 Bb7 3.Ne6 fxe6 4.dxe6 Nxf6 
  +-  &#40;2.01&#41;   Depth&#58; 20/38   01&#58;16&#58;53  1185mN

1.Bf4 h6 2.Ne4 Bb7 3.Bxh6 a6 4.Qh4 axb5 
  +-  &#40;2.31&#41;   Depth&#58; 20/41   01&#58;36&#58;30  1486mN

1.Bf4 Qe7 2.fxe7 Rxe7 3.Qh4 f5 4.Bxe5 Nd7 
  +-  &#40;2.71&#41;   Depth&#58; 20/47   02&#58;28&#58;05  2278mN
User avatar
Eelco de Groot
Posts: 4576
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

The quo modo of Komodo Re: Vaisser - Genius 2

Post by Eelco de Groot »

Marc MP wrote:Komodo is not alone! Pruning hurts!

Code: Select all


rnbq2k1/p1r2p1p/1p1p1Pp1/1BpPn1N1/P7/2P5/6PP/R1B1QRK1 w - - 0 1

Analysis by Protector 1.3.3 JA x32&#58;

1.Qh4 h5 2.Kh1 Bb7 3.Qe4 Nbd7 
  ±  &#40;0.97&#41;   Depth&#58; 6/9   00&#58;00&#58;00  3kN

1.Qh4 h5 2.a5 Ba6 3.Rb1 Bxb5 4.Rxb5 Nbd7 
  ²  &#40;0.49&#41;   Depth&#58; 7/10   00&#58;00&#58;00  10kN

1.Kh1 Bb7 2.Bf4 Nbd7 3.Bxe5 Nxe5 4.Qh4 h5 
  ²  &#40;0.51&#41;   Depth&#58; 7/11   00&#58;00&#58;00  15kN

1.Kh1 Bb7 2.Qd2 Qf8 3.Re1 Nbd7 4.Ne4 Re8 
  ²  &#40;0.44&#41;   Depth&#58; 8/13   00&#58;00&#58;00  44kN

1.Qh4 h5 2.a5 Ba6 3.Ne6 fxe6 4.dxe6 Kh8 
  ²  &#40;0.66&#41;   Depth&#58; 8/13   00&#58;00&#58;00  52kN

1.Qh4 h5 2.a5 Ba6 3.Ne6 fxe6 4.dxe6 Qc8 
  ±  &#40;0.76&#41;   Depth&#58; 8/13   00&#58;00&#58;00  58kN

1.Qh4 h5 2.a5 bxa5 3.Rxa5 Rb7 4.Qa4 Bf5 
  ²  &#40;0.27&#41;   Depth&#58; 9/19   00&#58;00&#58;00  175kN

1.Kh1 Bb7 2.Qd2 Qf8 3.a5 Ba6 4.Qe2 Bxb5 
  ²  &#40;0.46&#41;   Depth&#58; 9/19   00&#58;00&#58;01  218kN

1.a5 bxa5 2.Bf4 a6 3.Ba4 Nd3 4.Qh4 h5 
  ²  &#40;0.58&#41;   Depth&#58; 9/19   00&#58;00&#58;01  401kN

1.a5 bxa5 2.Bf4 a6 3.Ba4 Nbd7 4.Qh4 h5 
  ²  &#40;0.66&#41;   Depth&#58; 10/17   00&#58;00&#58;03  774kN

1.a5 bxa5 2.Bf4 a6 3.Ba4 Nbd7 4.Qh4 h5 
  ²  &#40;0.53&#41;   Depth&#58; 11/21   00&#58;00&#58;07  1640kN

1.Qd2 Ng4 2.Ne4 c4 3.a5 Bf5 4.Rxf5 gxf5 
  ±  &#40;0.74&#41;   Depth&#58; 11/21   00&#58;00&#58;10  2408kN

1.Qd2 Nbd7 2.Nxh7 Ng4 3.Qg5 Nde5 4.h3 Kxh7 
  ±  &#40;0.73&#41;   Depth&#58; 11/21   00&#58;00&#58;10  2548kN

1.Qd2 Qf8 2.h3 Bf5 3.a5 bxa5 4.Rxa5 Rb7 
  =  &#40;0.12&#41;   Depth&#58; 12/23   00&#58;00&#58;16  4013kN

1.a5 bxa5 2.Bf4 a6 3.Ba4 Nbd7 4.Qh4 h5 
  ²  &#40;0.33&#41;   Depth&#58; 12/23   00&#58;00&#58;17  4239kN

1.a5 bxa5 2.Bf4 a6 3.Ba4 Nbd7 4.Bxd7 Rxd7 
  ²  &#40;0.63&#41;   Depth&#58; 12/23   00&#58;00&#58;19  4575kN

1.a5 bxa5 2.Bf4 Rb7 3.Bxe5 dxe5 4.Bc6 Nxc6 
  ±  &#40;1.00&#41;   Depth&#58; 12/31   00&#58;00&#58;28  6887kN

1.a5 bxa5 2.Bf4 Rb7 3.Bxe5 dxe5 4.Bc6 Nxc6 
  ²  &#40;0.66&#41;   Depth&#58; 13/25   00&#58;00&#58;39  9399kN

1.Bf4 a6 2.a5 Rb7 3.axb6 Rxb6 4.Bxe5 dxe5 
  ±  &#40;0.87&#41;   Depth&#58; 13/26   00&#58;00&#58;56  13484kN

1.Bf4 a6 2.a5 Rb7 3.axb6 Rxb6 4.Bxe5 dxe5 
  ±  &#40;1.17&#41;   Depth&#58; 13/26   00&#58;01&#58;01  14887kN

1.Bf4 a6 2.a5 Rb7 3.axb6 h6 4.Nf3 Ng4 
  ±  &#40;0.91&#41;   Depth&#58; 13/26   00&#58;01&#58;04  15464kN

1.Bf4 a6 2.a5 Rb7 3.axb6 h6 4.Nf3 Ng4 
  ±  &#40;1.06&#41;   Depth&#58; 14/24   00&#58;01&#58;11  17425kN

1.Bf4 a6 2.a5 Rb7 3.axb6 h6 4.Nf3 Ng4 
  ±  &#40;1.07&#41;   Depth&#58; 15/25   00&#58;01&#58;35  23523kN

1.Bf4 a6 2.a5 Rb7 3.axb6 h6 4.Nf3 Ng4 
  ±  &#40;1.08&#41;   Depth&#58; 16/29   00&#58;02&#58;38  37082kN

1.Bf4 a6 2.a5 Rb7 3.axb6 h6 4.Ne4 Qxb6 
  ±  &#40;1.28&#41;   Depth&#58; 17/36   00&#58;05&#58;14  75008kN

1.Bf4 Qe7 2.fxe7 Rxe7 3.Qh4 f6 4.Bxe5 Nd7 
  +-  &#40;1.58&#41;   Depth&#58; 17/45   00&#58;09&#58;46  146mN

1.Bf4 a6 2.a5 Rb7 3.axb6 h6 4.Ne4 Rxb6 
  +-  &#40;1.61&#41;   Depth&#58; 17/45   00&#58;11&#58;51  179mN

1.Bf4 a6 2.a5 Rb7 3.axb6 h6 4.Ne4 Rxb6 
  +-  &#40;1.81&#41;   Depth&#58; 18/41   00&#58;22&#58;01  340mN

1.Bf4 Nbd7 2.Ne4 Qf8 3.a5 Bb7 4.c4 Re8 
  +-  &#40;1.77&#41;   Depth&#58; 18/43   00&#58;33&#58;46  523mN

1.Bf4 Nbd7 2.Ne4 Qf8 3.a5 Bb7 4.c4 Re8 
  +-  &#40;1.81&#41;   Depth&#58; 19/35   00&#58;48&#58;06  747mN

1.Bf4 Nbd7 2.Rd1 Bb7 3.Ne6 fxe6 4.dxe6 Nxf6 
  +-  &#40;2.01&#41;   Depth&#58; 20/38   01&#58;16&#58;53  1185mN

1.Bf4 h6 2.Ne4 Bb7 3.Bxh6 a6 4.Qh4 axb5 
  +-  &#40;2.31&#41;   Depth&#58; 20/41   01&#58;36&#58;30  1486mN

1.Bf4 Qe7 2.fxe7 Rxe7 3.Qh4 f5 4.Bxe5 Nd7 
  +-  &#40;2.71&#41;   Depth&#58; 20/47   02&#58;28&#58;05  2278mN
That is true, but there is another way of looking at it, I think the effect is also an emphasis on improving the PV found thus far, and the progress you make there is faster than the progress you make for Nxh7. So it is not chosen, maybe by the null window search but probably that is where it is filtered out. There is more pruning usually in the null window search so in that respect I agree Marc, the pruning there may be the overriding factor.

Maybe Rybka uses a lower alpha as a cheap way of countering this, and everything that clears a lower alpha will be re-searched. But there are problems with that I think, for instance if you have transpositions you don't really want to search with a lower alpha. So I don't really know how this is solved in Rybka. Rainbow Serpent simply searches deeper in the null window searches for other root-moves than the first, and because the move ordering at the root is really improved in Stockfish, it can do this without searching deeper on the last root-moves. It is very much like Late Move Reductions, but maybe more appropiately called Early Move Extensions.

I'm not really sure it deserves its own acronym. The move ordering part was already done and is much harder to achieve. You can also choose not to strengthen the PV in the early stages, I think that basically amounts to the same thing. It is a question of balance and it influences the playing style as well. Maybe Komodo and Protector could use some form of this EME too 8-)

By coincidence I can use your results to show off another version, it displays both the move 1. Qh4 from Komodo and 1. Bf4 from Protector. But finding these moves apparently delays Nxh7. It does however show a higher eval, almost 16, and 6. Be2 is played, this time with the Rybka recommendation Nxf6.


[D]rnbq2k1/p1r2p1p/1p1p1Pp1/1BpPn1N1/P7/2P5/6PP/R1B1QRK1 w - -

Engine: Rainbow Serpent 1.6.3s(dc) Build 213 (Athlon 2009 MHz, 256 MB)
by Tord Romstad, Marco Costalba, Joona Kiiski Modifications: Dann Corbit

1.00 0:00 +3.91 1.Qh4 (101) 0

2.00 0:00 +1.17 1.Qh4 h5 (170) 0

3.00 0:00 +2.90 1.Qh4 h5 2.Qf4 a6 (13.695) 36

4.00 0:00 +1.25 1.Qh4 h5 2.a5 Bb7 3.axb6 axb6 (19.649) 50

4.00 0:00 +1.89 1.Bf4 Qxf6 2.Qh4 h5 3.Bxe5 Qxe5
4.Rae1 (150.780) 193

5.00 0:01 +2.06 1.Bf4 Ng4 2.Qg3 Qxf6 3.Bxd6 (386.803) 281

6.01 0:02 +2.22 1.Bf4 Rb7 2.Bxe5 dxe5 3.Qe4 Bf5
4.Qxe5 h6 (943.382) 331

7.01 0:05 +1.73-- 1.Bf4 a6 2.Bxe5 axb5 3.Qh4 h5 4.Bg3 Kh8 (1.899.529) 358

8.01 0:06 +1.01 1.Bf4 a6 2.a5 h6 3.Bxe5 hxg5 4.axb6 Rb7
5.Bg3 Bf5 6.Rxf5 gxf5 (2.363.899) 363

8.02 0:07 +1.65 1.Qh4 h5 2.a5 bxa5 3.Be2 Bf5 4.Rxf5 gxf5
5.Qxh5 Qxf6 6.Qh7+ Kf8 7.Ne6+ fxe6
8.Qxc7 Nf7 9.Qc8+ Nd8 10.dxe6 (2.877.655) 367

9.01 0:09 +1.69 1.Qh4 h5 2.a5 bxa5 3.Be2 Ba6 4.c4 Bc8
5.Qe4 Bf5 6.Rxf5 gxf5 7.Qxf5 Kf8
8.Bxh5 Nxc4 9.Qh7 Qxf6 (3.364.121) 367

10.01 0:16 +2.18++ 1.Qh4 h5 2.a5 bxa5 3.Be2 Ba6 4.c4 Bc8
5.Bxh5 gxh5 6.Qxh5 (6.127.904) 372

11.01 0:16 +2.10 1.Qh4 h5 2.a5 bxa5 3.Be2 Ba6 4.c4 Nbd7
5.Rxa5 Bxc4 6.Bxc4 Nxf6 7.Bd2 Nxc4
8.Qxc4 Rb7 9.Qf4 Nxd5 10.Qe4 (6.268.402) 372

12.01 0:58 +1.93 1.Qh4 h5 2.a5 bxa5 3.Be2 Bg4 4.Bxg4 Nxg4
5.Ne6 Qd7 6.h3 Ne5 7.Qg5 Rb7 8.Qh6 fxe6
9.f7+ Qxf7 10.Rxf7 Rxf7 11.dxe6 Rh7
12.Qd2 Nbc6 13.Qxd6 c4 14.Bg5 (21.853.910) 373

13.01 1:57 +1.85 1.Qh4 h5 2.a5 bxa5 3.Be2 Bg4 4.Bxg4 Nxg4
5.Ne6 Qc8 6.h3 Ne5 7.Nxc7 Qxc7 8.Bh6 Nbd7
9.Bg7 c4 10.Qg5 Qc5+ 11.Kh1 a4
12.Qh6 (43.265.283) 368

13.13 2:38 +1.89 1.Be2 h5 2.Qg3 Ba6 3.Ne6 Qc8 4.Nxc7 Bxe2
5.Nxa8 Bxf1 6.Bf4 Nbd7 7.Nxb6 axb6
8.Rxf1 Qa6 9.Bxe5 Nxe5 10.Qf4 (59.994.606) 378

14.01 2:44 +2.14++ 1.Be2 h6 2.Ne4 Bf5 3.Rxf5 gxf5
4.Nxd6 Qxf6 5.Ne8 (62.887.418) 381

15.01 3:01 +2.54 1.Be2 h5 2.Qg3 Kh8 3.Bf4 Ba6 4.Bxe5 dxe5
5.c4 Qe8 6.Qd3 Bb7 7.Qe4 Qg8 8.a5 Na6
9.axb6 axb6 10.Qxe5 Re8 (69.707.872) 383

15.10 4:30 +3.15++ 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Rb7 6.Qh6 (114.534.084) 423

16.01 4:37 +7.19++ 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Rb7 6.Qh6 (118.107.214) 426

17.01 4:56 +8.80 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.Be2 Nd7 7.Bxg4 Nf8
8.Bxh5 Nh7 9.Qg3 Nf8 10.Bh6 Kh7
11.Qg5 Kg8 12.Bxf8 (128.254.209) 432

18.01 5:38 +9.32 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.Be2 Nxf6
7.Bxf6 Qf8 8.Bxh5 Nd7 9.Bxg6 Nxf6
10.Rxf6 Qg7 11.Rxd6 Rf8 12.Rf1 fxg6
13.Rxg6 Rxf1+ 14.Kxf1 (151.219.735) 446

19.01 8:19 +10.37 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.Be2 Nxf6
7.Bxf6 Qf8 8.Bxh5 Nd7 9.Bxg6 Nxf6
10.Rxf6 Qg7 11.Rxd6 fxg6 12.Rxg6 Kh8
13.Rxg7 Rxg7 14.Qd2 (237.074.089) 474

20.01 15:20 +12.00 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.Be2 Nxf6
7.Bxf6 Qf8 8.Bxh5 Nd7 9.Bxg6 Nxf6
10.Bxf7+ Kh8 11.Bg6 Rh7 12.Bxh7 Qg7
13.Qxf6 Qxf6 14.Rxf6 (461.303.185) 500

21.01 23:41 +12.56 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.Be2 Nxf6
7.Bxf6 Qf8 8.Bxh5 Nd7 9.Bxg6 Nxf6
10.Bxf7+ Kh8 11.Bg6 Rh7 12.Bxh7 Qg7
13.Qxf6 Qxf6 14.Rxf6 (721.707.560) 507

22.01 41:53 +12.97 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.Be2 Nxf6
7.Bxf6 Qf8 8.Bxh5 Nd7 9.Bxg6 Nxf6
10.Bxf7+ Kh8 11.Bg6 Rh7 12.Bxh7 Qg7
13.Qxf6 Qxf6 14.Rxf6 (1.287.848.051) 512

23.01 93:50 +14.02 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.Be2 Nxf6
7.Bxf6 Qf8 8.Bxh5 Nd7 9.Bxg6 Nxf6
10.Bxf7+ Kh8 11.Bg6 Rh7 12.Bxh7 Qg7
13.Qxf6 Qxf6 14.Rxf6 (2.916.413.693) 517

24.01 317:48 +15.87 1.Nxh7 Kxh7 2.Qh4+ Kg8 3.Bh6 Bg4
4.Bg7 Bh5 5.Qg5 Ng4 6.Be2 Nxf6
7.Bxf6 Qf8 8.Bxh5 Nd7 9.Bxg6 Nxf6
10.Bxf7+ Kh8 11.Bg6 Rh7 12.Bxh7 Qg7
13.Qxf6 Qxf6 14.Rxf6 (9.856.625.918) 516


It is just that the solution time for Nxh7 is getting longer, which is not what you want... I have one more idea to try :D

Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan