bizarre doch move

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

Moderator: Ras

yanquis1972
Posts: 1766
Joined: Wed Jun 03, 2009 12:14 am

bizarre doch move

Post by yanquis1972 »

i decided to get try out this new engine & watched a couple blitz games against shredder 12. it seemed to hold it's ground but made a couple blunders. here was a glaring one --

[d]r3k2r/4bp1p/2bp1p2/p1q1pP2/1pB1P2Q/1P3N2/P1P3PP/1K1R3R b kq - 0 19

in this position doch played 19...0-0?? and lost a few moves later. shockingly it holds 0-0 as the #1 move until depth 17 when it finally drops to -2.84 and switches to a4. imo a move like 0-0 should be at the bottom rung of moves even considered in a position like this.
zamar
Posts: 613
Joined: Sun Jan 18, 2009 7:03 am

Re: bizarre doch move

Post by zamar »

Interesting position to investigate horizon effect and prunings! It takes some plies for every engine to find out that white has decisive mating threats.
imo a move like 0-0 should be at the bottom rung of moves even considered in a position like this.
Here I strongly disagree. 0-0 is definetily move to consider. Here it doesn't work for tactical reasons, but in many similar positions black has logical plan: 0-0 + Rfb/c8 + a4 with mating threats (or 0-0 + Kh8 + Rg8 + Rg7 defending). However in this specific position white's simple counterplan Rd1->d3->h3 is decisive.
Joona Kiiski
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: bizarre doch move

Post by Don »

yanquis1972 wrote:i decided to get try out this new engine & watched a couple blitz games against shredder 12. it seemed to hold it's ground but made a couple blunders. here was a glaring one --

[d]r3k2r/4bp1p/2bp1p2/p1q1pP2/1pB1P2Q/1P3N2/P1P3PP/1K1R3R b kq - 0 19

in this position doch played 19...0-0?? and lost a few moves later. shockingly it holds 0-0 as the #1 move until depth 17 when it finally drops to -2.84 and switches to a4. imo a move like 0-0 should be at the bottom rung of moves even considered in a position like this.
That is quite odd as castling here would go against the king safety in doch.

You mentioned other blunders, were of the same nature (having to do directly with moving into attacks?)
zamar
Posts: 613
Joined: Sun Jan 18, 2009 7:03 am

Re: bizarre doch move

Post by zamar »

The difficulty with measuring king safety in this position is that the usual way to determine is to somehow calculate attacking pieces and attacked squares. Here are only two attacking pieces: bishop and queen and they are attacking only two squares f7 and h7. Pawn shelter is scattered in king side, but in the center there is no pawn shelter at all!

So for me it's quite logical that fx. Stockfish prefers castling on the king side for first eight plies to be the best move. When it sees tactical problems it changes its mind.

The so called "static evaluation" is greater when black is castled when black is not castled.
Joona Kiiski
yanquis1972
Posts: 1766
Joined: Wed Jun 03, 2009 12:14 am

Re: bizarre doch move

Post by yanquis1972 »

i cant recall or give examples of the other blunders unfortunately, but they were the along the same line of anti-human moves. i don't think most humans would consider castling into an open G file with an obviuos rook lift c coming & pressure on f7 and h7. i do see your point about QS counterplay but it seems postitionally suspect at best regardless of tactical implications. i'm not saying 0-0 shouldn't be a candidate move, just that it's odd that it would be the #1 priority. it seems positional considerations should knock it well down the list. (i know nothing of how computers think about chess, but this is just my perspective as a human). and if the tactics somehow DO work out, then maybe it gets bumped. seems a bit backwards as approached by doch and stockfish.
User avatar
Mike S.
Posts: 1480
Joined: Thu Mar 09, 2006 5:33 am

Re: bizarre doch move

Post by Mike S. »

This reminds me of a somwhat similar position, but with the wK on e1 still:

[d]r2qkb1r/5p1p/p1npb3/1p1Np2Q/4Pp2/N2B4/PPP2PPP/R3K2R w KQkq - 0 13

But here it was White who chose a suspicious 13.O-O? It was 1995 in Hongkong, where Fritz earned it's first and so far only WCCC title.

I tried some other, much more recent engines and many have 13.O-O in the top 3 within a quite narrow eval margin, often as the best one, at least during the first couple of seconds. But I think it just can't be good with that halfopen g-file.

(Initial) Analysis by Shredder 11 SE, after depth 12:

1. +/= (0.45): 13.g3 Rg8 14.gxf4 Rg6 15.Qd1 exf4 16.Nxf4 Rg5 17.c3 Qc7 18.Nxe6 fxe6 19.Nc2
2. = (0.18): 13.c3 Rg8 14.g3 Rg6 15.Be2 Rh6 16.Qf3 Ne7 17.0-0-0 Nxd5 18.exd5 Bf5 19.Bd3 Qg5 20.Bxf5 Qxf5
3. = (0.09): 13.0-0 h6 14.c3 Rg8 15.h3 Rg5 16.Qf3 Bg7 17.Nc2 Qb8 18.a4 bxa4 19.Rxa4 Qb7 20.Ncb4 a5 21.Nxc6 Qxc6 22.Rfa1

After some interactive analysis, backwards from 17...Qh3 in the game, S11 concludes that 16.c4 was the more decisive mistake. S11 assigns -0.59 to 16.g3, but -3.80 after 16.c4. This wasn't at very big depth though.

(Just looking back in computer chess history a bit... Btw., Don Dailey's Star Socrates achieved the 2nd place in HK 1995. - They played only 5 rounds there.)

[Event "8th WCCCh"]
[Site "Hong Kong"]
[Date "1995.??.??"]
[Round "5"]
[White "Deep Blue"]
[Black "Fritz"]
[Result "0-1"]
[ECO "B33"]
[PlyCount "78"]

1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e5 6. Ndb5 d6 7. Bg5 a6 8.
Na3 b5 9. Bxf6 gxf6 10. Nd5 f5 11. Bd3 Be6 12. Qh5 f4 13. O-O Rg8 14. Kh1 Rg6
15. Qd1 Rc8 16. c4 Qh4 17. g3 Qh3 18. Qd2 f3 19. Rg1 Rh6 20. Qxh6 Qxh6 21. cxb5
Bxd5 22. exd5 Nb4 23. Bf5 Rc5 24. bxa6 Nxa6 25. Nc2 Qd2 26. Ne1 Rxd5 27. Nxf3
Qxf2 28. Be4 Ra5 29. Rg2 Qe3 30. Re1 Qh6 31. Bc6+ Kd8 32. a3 f5 33. Rc2 Rc5 34.
Rxc5 Nxc5 35. Rf1 Be7 36. a4 f4 37. gxf4 Qxf4 38. Rg1 Nxa4 39. b4 Qxb4 0-1
Regards, Mike
User avatar
Eelco de Groot
Posts: 4669
Joined: Sun Mar 12, 2006 2:40 am
Full name:   Eelco de Groot

Re: bizarre doch move

Post by Eelco de Groot »

yanquis1972 wrote:i cant recall or give examples of the other blunders unfortunately, but they were the along the same line of anti-human moves. i don't think most humans would consider castling into an open G file with an obviuos rook lift c coming & pressure on f7 and h7. i do see your point about QS counterplay but it seems postitionally suspect at best regardless of tactical implications. i'm not saying 0-0 shouldn't be a candidate move, just that it's odd that it would be the #1 priority. it seems positional considerations should knock it well down the list. (i know nothing of how computers think about chess, but this is just my perspective as a human). and if the tactics somehow DO work out, then maybe it gets bumped. seems a bit backwards as approached by doch and stockfish.
Ha, an excuse to try out build 97 8-)

Rainbow Serpent avoids to castle at the moment, but not by a very large margin. I agree with the factors that Joona mentions.

Possiby there are some things in the position that the King Safety evaluation is not taking into account very much. You mentioned the Rook lift John, that is an Achilles heel of chessprograms because they have to apply search to see it, and it is a very typical maneuver but no captures are involved, so for the first seven plies Stockfish may ignore it. I remember a position where Rebel had trouble finding this kind of Rook maneuver too, long time ago. Also the Bishop attack on f7 maybe should get more weight because it is the basis for so many attacks in every Open opening setup. The closing off of any possible interferences by Black's Bishops and Queen, through the two pawns linked in a chain on e4 an f5 is another thing beyond most evaluation functions.

But for Stockfish a mayor complication is that the scoring for pawnstorms in opposite castling positions, may give just too much weight to activating and transferring the h8 Rook to the Queenside. That is fatal :) This is just a speculation of mine but I think this is the most significant factor to blame.

Pawn storms are not yet fully integrated into King Safety, I think that could be repaired, crudely or more sophisticatedly, whatever you like. In Rainbow Serpent the Pawnstorms do not get very high scores because as far as I know King Safety weights do not apply yet -I should look it up but I'm lazy- so the rest of King Safety involved is helping Black I think. Experimental King Safety weights at the moment are typically four times as large in Rainbow Serpent as in Stockfish :) Now if I try to bring Pawn Storms into the King Safety calculations it may actually get worse because the King Safety weight for it would be four times as high initially, that would be no good...

[d]r3k2r/4bp1p/2bp1p2/p1q1pP2/1pB1P2Q/1P3N2/P1P3PP/1K1R3R b kq -

Engine: Rainbow Serpent 1.5 Cubic II Build 97 (Athlon 2009 MHz, 256 MB)
by Romstad, Costalba, Kiiski, De Groot

1.00 0:00 -1.69 1...O-O-O (95) 0

2.00 0:00 -1.69 1...O-O-O 2.Bxf7 (151) 0


2.00 0:00 -0.84 1...O-O 2.Bd5 Kh8 3.Bxc6 Qxc6 4.Rhe1 (31.292) 66

3.00 0:00 -1.05 1...O-O 2.Rhe1 Kh8 3.Qh5 d5 4.exd5 (223.336) 242

4.01 0:02 -1.05 1...O-O 2.Rhe1 Kh8 3.Qh5 d5 4.exd5 (915.239) 363


4.04 0:05 -0.40 1...a4 2.Rhe1 O-O 3.Qh5 Bb7 4.Re2 axb3
5.axb3 d5 (2.043.312) 399

5.01 0:06 -0.96 1...a4 2.Qg4 axb3 3.Bxb3 Rf8 4.Rhe1 O-O-O
5.Qh5 d5 6.exd5 Bxd5 7.Bxd5 Rxd5
8.Qxh7 (2.540.804) 406

5.04 0:09 -0.80 1...Rd8 2.Qg4 Bf8 3.Bd5 h5 4.Bxc6+ Qxc6 (4.061.209) 426

6.01 0:14 -0.64 1...Rd8 2.Qg4 Bf8 3.Bd5 h5 4.Qh4 Be7
5.Rhe1 Rd7 6.Bxc6 Qxc6 7.g4 Qc3 (6.038.259) 428

7.01 0:48 -0.64 1...Rd8 2.Qg4 Bf8 3.Rhe1 h5 4.Qg3 a4
5.Qh4 Be7 6.Qg3 Bf8 7.Bd5 Bxd5
8.Rxd5 Qc6 9.bxa4 Qxa4 10.Rd2 Rc8 (20.987.981) 431

8.01 1:34 -0.76 1...Rd8 2.Qg4 Bf8 3.Rhe1 h5 4.Qh3 Rh6
5.Qh4 a4 6.Bd5 Rc8 7.Bc4 Ra8 8.Qg3 Bb5
9.Bxb5+ Qxb5 10.Qg8 (40.927.765) 432

9.01 6:04 -0.68 1...Rd8 2.Qg4 Bf8 3.Rhe1 h5 4.Qh3 Rh6
5.Qg3 Rh8 6.Re2 a4 7.h3 axb3 8.Bxb3 Bb5
9.Ree1 Bc4 10.Ba4+ Bb5 11.Bxb5+ Qxb5 (156.384.151) 429

10.01 8:37 -0.96-- 1...Rd8 2.Qg4 (223.512.547) 432

10.05 13:59 -0.84 1...h5 2.Rhe1 Rd8 3.Nd2 a4 4.bxa4 Bxa4
5.g4 d5 6.Bb3 Bxb3 7.Nxb3 Qb5 8.gxh5 dxe4
9.Rxd8+ Bxd8 10.Rd1 Be7 11.Qxe4 Kf8
12.Qg4 (366.802.953) 436

10.08 17:28 -0.60 1...a4 2.Qg4 Bf8 3.Rhe1 h5 4.Qh4 Rh6
5.Re2 Rd8 6.Ne1 axb3 7.cxb3 Qa5
8.Nc2 d5 9.Bxd5 Bxd5 10.exd5 Rxd5
11.Rxd5 Qxd5 12.Nxb4 (459.287.965) 437

11.01 21:10 -0.56 1...a4 2.Qg4 Bf8 3.Rhe1 Ra7 4.Re2 Rd7
5.Red2 h5 6.Qh4 Be7 7.Re2 Kf8 8.Bd5 axb3
9.axb3 Qc3 10.Qe1 Qxe1 11.Rexe1 (555.873.980) 437

best move: a5-a4 time: 36:48.922 min n/s: 438.770 nodes: 969.210.181

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: 4669
Joined: Sun Mar 12, 2006 2:40 am
Full name:   Eelco de Groot

Re: bizarre doch move

Post by Eelco de Groot »

For Stockfish 8 plies is over before you can say "Eight halfmoves" so it is not really a problem, pawnstorm code is not really interfering with the choice.

[d]r3k2r/4bp1p/2bp1p2/p1q1pP2/1pB1P2Q/1P3N2/P1P3PP/1K1R3R b kq -

Engine: Stockfish 1.5.1 JA (Athlon 2009 MHz, 256 MB)
by Tord Romstad, Marco Costalba, Joona Kiiski

1.00 0:00 -0.36 1...O-O (98) 0

2.00 0:00 -0.24 1...O-O 2.Qg3+ Kh8 3.Rhe1 (272) 0

3.00 0:00 -0.28 1...O-O 2.Bd5 Rac8 3.Qg3+ Kh8 (1.258) 2

4.00 0:00 -0.24 1...O-O 2.Bd5 Rac8 3.Qg3+ Kh8 4.Bxc6 Qxc6 (2.395) 4

5.00 0:00 -0.20 1...O-O 2.Bd5 Rac8 3.Bxc6 Rxc6
4.Qg3+ Kh8 5.Rd2 (7.331) 12

6.00 0:00 0.00++ 1...O-O 2.Bd5 Rac8 3.Bxc6 Rxc6
4.Qg3+ Kh8 5.Rd2 Rfc8 (15.949) 26

7.00 0:00 +0.20 1...O-O 2.Bd5 Rac8 3.Bxc6 Rxc6
4.Qg3+ Kh8 5.Rd2 Rfc8 6.Rhd1 (46.157) 70

8.00 0:00 -0.12 1...O-O 2.Rd3 a4 3.Nd2 axb3 4.Rg3+ Kh8
5.Bxb3 d5 6.Qh6 (95.118) 129


8.00 0:00 +0.24 1...a4 2.Rhe1 axb3 3.cxb3 O-O 4.Rd2 Qa7
5.Qg4+ Kh8 6.Nh4 (124.458) 159

9.00 0:00 +0.16 1...a4 2.Rhe1 axb3 3.cxb3 O-O 4.Rd2 Qa7
5.Qg4+ Kh8 6.Qh5 Bd8 (201.515) 222

10.00 0:01 -0.04-- 1...a4 2.Qg4 axb3 3.Bxb3 (367.696) 313

11.01 0:01 -0.16 1...a4 2.Qg4 axb3 3.Bxb3 Bf8 4.Qh5 Ra7
5.Rhe1 Bb5 6.Qh4 Bg7 (591.243) 378

12.01 0:02 0.00 1...a4 2.Qg4 axb3 3.Bxb3 Bf8 4.Rd2 h5
5.Qh4 Be7 6.Re1 Kf8 7.Qg3 (1.281.857) 477

13.01 0:05 +0.04 1...a4 2.Rhe1 O-O 3.Qg4+ Kh8 4.Rd2 Ra7
5.Qh5 Bd8 6.Bd5 axb3 7.cxb3 Bxd5
8.Rxd5 Qc3 9.Rxd6 (3.154.423) 554

14.01 0:10 -0.20-- 1...a4 2.Qh5 O-O 3.Rd3 axb3 4.Bxb3 Bb5
5.Nxe5 dxe5 6.Rg3+ Kh8 7.Rh3 (6.258.820) 581

15.01 0:27 -0.88 1...a4 2.Qh5 Kd8 3.Qxf7 Rf8 4.Qe6 axb3
5.Bxb3 Bxe4 6.Rd2 Ke8 7.Rhd1 Qc8
8.Ba4+ Bc6 9.Bxc6+ Qxc6 (16.451.144) 593

15.02 0:32 -0.36 1...Rd8 2.Rd3 d5 3.exd5 Bxd5 4.Rhd1 Bxc4
5.Rxd8+ Bxd8 6.Rxd8+ Kxd8 7.Qxf6+ Kc7
8.Qxh8 e4 9.bxc4 exf3 10.gxf3 Qxf5
11.Qd4 Kc6 12.f4 h5 (19.617.147) 598

15.03 0:43 -0.24 1...h5 2.Rhe1 Rd8 3.Nd2 a4 4.bxa4 Bxa4
5.g4 d5 6.Bb3 Bc6 7.gxh5 dxe4 8.Nxe4 Rxd1+
9.Rxd1 Bxe4 10.Qxe4 Rxh5 (26.205.182) 602

16.01 1:01 -0.24 1...h5 2.Rhe1 Rd8 3.Nd2 a4 4.bxa4 Bxa4
5.g4 d5 6.Bb3 Bc6 7.gxh5 Qd4 8.Qg4 Qc3
9.exd5 Bxd5 10.Bxd5 Rxd5 (37.095.765) 604

17.01 1:26 -0.32 1...h5 2.Rhe1 Rd8 3.Rd2 a4 4.h3 Rh7
5.Rd3 Rh8 6.g4 axb3 7.Bxb3 d5 8.exd5 Bxd5
9.Bxd5 Rxd5 10.gxh5 Rg8 (52.392.218) 607

17.02 1:55 -0.20 1...h6 2.Rhe1 a4 3.Qh5 Rh7 4.Rd2 Kf8
5.g4 axb3 6.cxb3 Qa5 7.h4 Rc8 8.Rc2 Qa8
9.Nd2 Qa5 (70.726.255) 609

18.01 2:47 -0.16 1...h6 2.Rhe1 a4 3.Qh5 Rh7 4.Rd2 Kf8
5.g4 axb3 6.cxb3 Qa5 7.h4 Rc8 8.Rc2 Qa8
9.Nd2 Qb7 10.Rcc1 (102.667.455) 611

19.01 6:02 -0.16 1...h6 2.Rd3 a4 3.Rc1 Rh7 4.Nd2 axb3
5.Bxb3 Bf8 6.Nc4 Bb5 7.Rd5 Qc6
8.Rxb5 Qxb5 9.Qxf6 Qb7 10.Rd1 Qxe4
11.Nxd6+ Bxd6 12.Rxd6 Qxg2 13.Qxe5+ Kf8 (219.998.392) 607

20.01 10:30 -0.16 1...h6 2.Rd3 a4 3.Rc1 Rg8 4.Rd2 Rh8
5.Rcd1 Rh7 6.Rd3 axb3 7.cxb3 Qb6
8.Bd5 Bxd5 9.Rxd5 Qa7 10.R5d2 Rc8
11.Qh5 Kf8 (380.576.560) 603

21.01 24:50 -0.20 1...h6 2.Rhe1 a4 3.Nd2 axb3 4.Bxb3 Rd8
5.Nf1 d5 6.Ng3 dxe4 7.Nxe4 Rxd1+
8.Rxd1 Bxe4 9.Qxe4 O-O 10.Qg4+ Kh8
11.Qh5 Kg7 12.Bd5 Qf2 13.g4 (883.600.799) 592

best move: h7-h6 time: 32:57.687 min n/s: 591.119 nodes: 1.169.040.246

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: 4669
Joined: Sun Mar 12, 2006 2:40 am
Full name:   Eelco de Groot

Re: bizarre doch move

Post by Eelco de Groot »

Dancing Dragon would choose h5:

r3k2r/4bp1p/2bp1p2/p1q1pP2/1pB1P2Q/1P3N2/P1P3PP/1K1R3R b kq -

Engine: Dancing Dragon 1.5055 (Athlon 2009 MHz, 256 MB)
by Tord Romstad, Marco Costalba, Joona Kiiski, Eelco de Groot

1.00 0:00 -1.65 1...O-O-O (100) 0

2.00 0:00 -1.65 1...O-O-O 2.Bxf7 (155) 0

2.00 0:00 -1.13 1...O-O 2.Rhe1 Kh8 3.Bd5 Bxd5 4.Rxd5 (7.658) 13

2.00 0:00 -0.16 1...a4 2.Rhe1 O-O 3.Qh6 axb3 4.cxb3 (52.316) 79

3.00 0:00 -0.16 1...a4 2.Rhe1 O-O 3.Qh6 axb3 4.cxb3 (89.251) 124

4.01 0:01 -0.16 1...a4 2.Rhe1 O-O 3.Qh6 axb3 4.cxb3 (349.174) 290

5.01 0:02 -0.16 1...a4 2.Rhe1 O-O 3.Qh6 axb3 4.cxb3 Kh8 (915.475) 404

6.01 0:04 +0.04++ 1...a4 2.Rhe1 O-O 3.Qh6 axb3 4.cxb3 Kh8 (2.015.890) 477

7.01 0:06 -0.76-- 1...a4 2.Qg4 axb3 3.Bxb3 Qa5 4.Qg7 (3.453.923) 507

7.03 0:14 -0.68 1...Rd8 2.Qg4 Kf8 3.Qh5 d5 4.exd5 Bxd5
5.Qh6+ Ke8 6.Qg7 Rf8 7.Bxd5 Rxd5
8.Rhe1 h5 9.Qh7 Qc6 10.Rxd5 Qxd5
11.Qxh5 (7.617.275) 534

8.01 0:23 -0.68 1...Rd8 2.Qg4 Kf8 3.Qh5 d5 4.exd5 Bxd5
5.Qh6+ Ke8 6.Qg7 Rf8 7.Bxd5 Rxd5
8.Rhe1 h5 9.Qh7 Qc6 10.Rxd5 Qxd5
11.Qxh5 (12.726.079) 540

9.01 2:00 -0.44 1...Rd8 2.Qg4 Kf8 3.Qh5 d5 4.exd5 Bxd5
5.Qh6+ Ke8 6.Bxd5 Rxd5 7.Rhe1 Rg8
8.g3 Kd7 9.Rxd5+ Qxd5 10.Qxh7 Rc8 (65.216.335) 539

10.01 4:58 -0.72 1...Rd8 2.Qg4 Kf8 3.Qh5 d5 4.exd5 Bxd5
5.Qh6+ Ke8 6.Bxd5 Rxd5 7.Rhe1 Rg8
8.g3 Rg4 9.Qxh7 Bf8 10.Rxd5 Qxd5 (159.042.566) 533

10.24 16:00 -0.60 1...h5 2.Rhe1 Rd8 3.Bd5 a4 4.Re2 a3
5.Bc4 Rh7 6.Rd3 Kf8 7.g4 Rd7 8.gxh5 d5
9.Red2 dxe4 10.Rxd7 exf3 11.R7d3 (521.831.131) 543

11.01 16:03 -0.56 1...h5 2.Rhe1 Rd8 3.Bd5 a4 4.Re2 a3
5.Bc4 Rh7 6.Rd3 Kf8 7.g4 Rd7 8.gxh5 d5
9.exd5 Bxd5 10.Re1 Qc6 11.Bxd5 Rxd5 (523.429.935) 543

12.01 38:04 -0.40 1...h5 2.Rhe1 Rd8 3.Rd3 d5 4.exd5 Bxd5
5.Bxd5 Rxd5 6.Qe4 Rd8 7.Rxd8+ Bxd8
8.Rd1 Qc7 9.Nd2 Be7 10.Qa8+ Qd8
11.Qf3 Kf8 12.Ne4 Qc8 13.Rd5 (1.267.147.148) 554

best move: h7-h5 time: 43:38.953 min n/s: 555.007 nodes: 1.453.530.288

Rainbow Serpent 98 is still very similar at the moment both in comparing output and code, when it also uses the same settings in the UCI-option screen, as Dancing Dragon. The main difference is that it no longer will try a series of consecutive nullmoves for both colours which I admit was not making much sense, you should be able to get the same result with a maximally large R. If you allow null move everywhere both sides will try to do a null move when it is still allowed, so the searchdepth for null move search becomes smaller and smaller but the position does not change, until the engine resorts to razoring. If no TT entry is found Null move is not allowed so that is a brake in some cases, but it still is probably leading to horizon defects. So back to the old code which at least makes sure null moves are for one side only, but now with a twist which hopefully makes positional searches, after the opponent nullmoves, a bit more useful. Positional moves are not so good at refuting the nullmove, tactical moves are much better "repair moves". So I am trying to take that into account.

The effect in this position could be that h5 is now picked at plydepth 9 but as that still would be a draw, I can't be sure it is no coincidence.

r3k2r/4bp1p/2bp1p2/p1q1pP2/1pB1P2Q/1P3N2/P1P3PP/1K1R3R b kq -

Engine: Rainbow Serpent 1.5 Build 98 (Athlon 2009 MHz, 256 MB)
by Romstad, Costalba, Kiiski, De Groot

1.00 0:00 -1.69 1...O-O-O (100) 0

2.00 0:00 -1.69 1...O-O-O 2.Bxf7 (156) 0

2.00 0:00 -1.21 1...O-O 2.Rhe1 Kh8 3.Bd5 Bxd5 4.Rxd5 (7.760) 19

2.00 0:00 -0.40 1...a4 2.Rd3 Bb5 3.Bxb5+ Qxb5 (50.467) 100

3.00 0:00 -0.28 1...a4 2.Rd3 axb3 3.cxb3 O-O 4.Qg3+ Kh8 (206.504) 240

4.01 0:01 -0.28 1...a4 2.Rd3 axb3 3.cxb3 O-O 4.Qg3+ Kh8 (401.816) 313

5.01 0:02 -0.28 1...a4 2.Rd3 axb3 3.cxb3 O-O 4.Qg3+ Kh8 (1.086.734) 392

6.01 0:04 -0.48-- 1...a4 2.Qg4 Rf8 3.Rhe1 axb3 4.Bxb3 (1.776.277) 417

7.01 0:16 -0.72 1...a4 2.Qg4 Rf8 3.Rhe1 axb3 4.Bxb3 O-O-O
5.Qg7 d5 6.exd5 Bxd5 7.Bxd5 Rxd5
8.Qxh7 Kb7 9.g4 Qd6 10.Rxd5 Qxd5 (7.678.573) 453

7.02 0:23 -0.48 1...Rd8 2.Qg4 Kf8 3.Qh5 d5 4.Qh6+ Ke8
5.Qg7 Rf8 6.exd5 Bxd5 7.Bxd5 Rxd5
8.Qxh7 e4 9.Nd2 Rd4 10.g4 (10.918.825) 458

8.01 0:42 -0.60 1...Rd8 2.Nd2 d5 3.exd5 Bxd5 4.Bxd5 Qxd5
5.Qg4 Kf8 6.Ne4 Rg8 7.Qe2 Qc6 8.g4 Rc8
9.h4 Qb7 10.Rh3 (19.939.292) 467

9.01 3:09 -0.68 1...Rd8 2.Nd2 O-O 3.Rhe1 Kh8 4.Qh5 Rc8
5.Nf3 a4 6.Rd2 Be8 7.g4 Qc7 8.g5 axb3
9.axb3 Rg8 10.Bxf7 Bxf7 11.Qxf7 fxg5 (87.179.261) 460

9.04 6:03 -0.44 1...h5 2.Rhe1 Rd8 3.Rd2 a4 4.Red1 Kf8
5.h3 Rh7 6.Re1 Kg8 7.Bd5 Rc8 8.Rc1 Bxd5
9.Rxd5 Qa7 10.bxa4 Qxa4 (166.193.413) 456

10.01 7:59 -0.44 1...h5 2.Rhe1 Rd8 3.Rd2 a4 4.Red1 Kf8
5.h3 Rh7 6.Re1 Kg8 7.Bd5 Rc8 8.Rc1 Bxd5
9.Rxd5 Qa7 10.bxa4 Qxa4 (219.964.538) 458

11.01 19:04 -0.52 1...h5 2.Rhe1 Rd8 3.Rd2 a4 4.h3 Bb7
5.Red1 Bc6 6.Rd3 Kf8 7.Rc1 Rh7 8.Nd2 Rg7
9.bxa4 d5 10.exd5 Bxa4 11.Rg3 Rxg3
12.Qxg3 (530.371.347) 463

12.01 33:45 -0.52 1...h5 2.Rhe1 Rd8 3.Rd2 a4 4.h3 Bb7
5.Red1 Bc6 6.Rd3 Kf8 7.Rc1 Rh7 8.Nd2 Rg7
9.bxa4 d5 10.exd5 Bxa4 11.Rg3 Rxg3
12.Qxg3 (953.918.324) 470

best move: h7-h5 time: 102:12.610 min n/s: 465.967 nodes: 2.857.590.229

Build 99 also uses the same UCI settings as Dancing Dragon but now there are some new changes in the SafetyTable[attackUnits] array, part of the Quadratic King Safety parabola goes below the X-axis if I use a newly introduced Y-intercept that is a negative number of units below the origin, (0,0). The X-intercept UCI-option is still set at zero but because the whole funtion is going a few units below the X-axis, this intercept point factually moves to the right. I have not yet created the option for the Y-intercept, so you can't set it yourself, it is internally fixed at -5. If the enemy now only points very few pieces towards your King, you have nothing to worry and your King Safety is slightly positive! The assumption is that the other side should have used its pieces for other things if the attack on your King does not force anything. He is wasting his mobility.

This results in Build 99 and it chooses a4! At least until now, 239 minutes into the seach eval drops to -0.76 :o

[d]r3k2r/4bp1p/2bp1p2/p1q1pP2/1pB1P2Q/1P3N2/P1P3PP/1K1R3R b kq -

Engine: Rainbow Serpent 1.5 Build 99 (Athlon 2009 MHz, 256 MB)
by Romstad, Costalba, Kiiski, De Groot

1.00 0:00 -1.69 1...O-O-O (100) 0

2.00 0:00 -1.69 1...O-O-O 2.Bxf7 (156) 0

2.00 0:00 -1.13 1...O-O 2.Rhe1 Kh8 (58.390) 103

2.00 0:01 +0.04 1...a4 2.Rd2 O-O 3.Qg4+ Kh8 4.Rhd1 axb3
5.cxb3 (443.969) 319

3.01 0:01 -0.16 1...a4 2.Rd2 O-O 3.Rc1 axb3 4.cxb3 (620.735) 345

4.01 0:04 -0.16 1...a4 2.Rd2 O-O 3.Rc1 axb3 4.cxb3 Kh8 (1.643.788) 407

5.01 0:07 -0.16 1...a4 2.Rd2 O-O 3.Rc1 axb3 4.cxb3 Kh8 (3.432.563) 439

6.01 0:12 +0.04++ 1...a4 2.Rd2 O-O 3.Rc1 Kh8 4.Rdd1 Qa7 (5.386.735) 448

7.01 0:14 -0.12 1...a4 2.Qg4 Bf8 3.Rd3 axb3 4.Bxb3 Qa7
5.Qh4 Ba4 6.Bd5 Rc8 7.Rd2 Bg7 8.Re1 O-O (6.683.367) 449

8.01 0:35 -0.40 1...a4 2.Qg4 Bf8 3.Rhe1 Ra7 4.Re2 h5
5.Qh4 Bg7 6.Rdd2 Kf8 7.Rd1 axb3
8.cxb3 Rh7 9.Rc2 (16.213.559) 457

9.01 1:50 -0.64 1...a4 2.Qg4 Bf8 3.Rhe1 Ra7 4.Re2 h5
5.Qh4 Bg7 6.Rdd2 Rd7 7.Re1 Rc7 8.Rd3 axb3
9.axb3 Kf8 (50.918.827) 462

10.01 5:25 -0.60 1...a4 2.Qg4 Bf8 3.Rhe1 Ra7 4.Re2 h5
5.Qh4 Bg7 6.Rdd2 Rd7 7.Rd3 axb3
8.cxb3 Kf8 9.Rd1 Qa5 10.Red2 Bh6 (149.206.885) 457

11.01 23:51 -0.56 1...a4 2.Qg4 Bf8 3.Rhe1 Ra7 4.Re2 h5
5.Qh4 Bg7 6.h3 Rd7 7.Rd3 axb3 8.cxb3 d5
9.exd5 Bb7 10.Rdd2 O-O 11.Qxh5 Bxd5
12.Bxd5 Rxd5 13.Rxd5 Qxd5 (676.163.124) 472

12.01 33:43 -0.60 1...a4 2.Qg4 Bf8 3.Rhe1 Ra7 4.Re2 h5
5.Qh4 Bg7 6.h3 Rd7 7.Rd3 axb3 8.cxb3 d5
9.exd5 Bb7 10.Rd1 Kf8 11.Rc2 Bc6 (960.486.733) 474

13.01 95:42 -0.56 1...a4 2.Qg4 Bf8 3.Rhe1 Ra7 4.Re2 h5
5.Qh4 Bg7 6.h3 Rd7 7.Rd3 Kf8 8.Rd1 Rh7
9.g3 Rh8 10.Bd5 axb3 11.cxb3 Bxd5
12.Rxd5 (2.731.459.506) 475

14.01 239:09 -0.76-- 1...a4 2.Qh5 (6.859.102.068) 477
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: 4669
Joined: Sun Mar 12, 2006 2:40 am
Full name:   Eelco de Groot

Re: bizarre doch move

Post by Eelco de Groot »

After 779 minutes the choice is still a4 for build 99 but only the second move 1... h5 was searched with null window searching in the last 9 hours, 779-239 minutes, and 1... h6 which is now still running. These are the three most promising moves so that is okay. The real depth is much higher for null window searches but still, 779 minutes.. Probably the move failed high, barely, in one or more null window search updates but not in the final PV-search. The null window searches should have been shorter but accidentally they are longer in the beginning. It does not really make the search less accurate but just there are few updates of the PV after a while and the PV itself gets much less than 50% of the time which it would get in a typical alpha-beta searcher.

If the search switches to 1...h6 Stockfish wins :) On efficiency.

Eelco