Page 2 of 2

Re: test position: Rookie-Arasan

Posted: Mon Jan 27, 2014 6:04 pm
by beachknight
zullil wrote:
jdart wrote:from the blitz event today after CCT-16:

[D] 8/8/1p3kp1/p1pP1r1p/P1P5/1P2R1P1/4K3/8 b - -

bm Kf7. Re5 is wrong: many engines think it is a draw, at least at first, but it is not.

Stockfish 4 got the right idea here after about a minute on my quad.

--Jon
Latest Stockfish suggests that Kf7 draws:

Code: Select all

info depth 62 seldepth 91 score cp -12 nodes 537639176745 nps 25109854 time 21411481 multipv 1 pv f6f7 e3e6 f5f6 e6e5 f6d6 e5e4 g6g5 e2e3 d6f6 e4e5 f7g6 e5e8 g6g7 e3d3 f6f2 e8e6 f2f1 d3e2 f1f6 e6e8 g7f7 e8h8 f7g6 e2e3 f6f7 h8b8 f7e7 e3f3 e7f7 f3g2 f7f6 b8h8 f6f7 h8e8 g6f5 g2h3 f7f6 e8g8 f6h6 g8b8 h6d6 b8f8 f5g6 h3g2 d6f6 f8b8 g6f5

info depth 63 currmove f6f7 currmovenumber 1
info depth 63 currmove f5e5 currmovenumber 2
info depth 63 seldepth 91 score cp -12 nodes 658304168640 nps 25336583 time 25982357 multipv 1 pv f6f7 e3e6 f5f6 e6e5 f6d6 e5e4 g6g5 e2e3 d6f6 e4e5 f7g6 e5e8 g6g7 e3d3 f6f2 e8e6 f2f1 d3e2 f1f6 e6e8 g7f7 e8h8 f7g6 e2e3 f6f7 h8b8 f7e7 e3f3 e7f7 f3g2 f7f6 b8h8 f6f7 h8e8 g6f5 g2h3 f7f6 e8g8 f6h6 g8b8 h6d6 b8f8 f5g6 h3g2

info depth 64 currmove f6f7 currmovenumber 1
info depth 64 currmove f5e5 currmovenumber 2
info depth 64 seldepth 91 score cp -12 nodes 697200610476 nps 25346381 time 27506909 multipv 1 pv f6f7 e3e6 f5f6 e6e5 f6d6 e5e4 g6g5 e2e3 d6f6 e4e5 f7g6 e5e8 g6g7 e3d3 f6f2 e8e6 f2f1 d3e2 f1f6 e6e8 g7f7 e8h8 f7g6 e2e3 f6f7 h8b8 f7e7 e3f3 e7f7 f3g2 f7f6 b8h8 f6f7 h8e8 g6f5
wow. thanks!

We apparently need newer compile of latest Stockfish for GTB egtbs.

I'll try with latest SF compile (without egtbs).

Re: test position: Rookie-Arasan

Posted: Mon Jan 27, 2014 9:20 pm
by mvk
beachknight wrote:SF PA_GTB DD agrees:
In this case you would have to show that the engine understands that Re5 loses. Showing that it prefers Kf7 doesn't mean a lot. That could be coincidence.

Bonus question: are there situations where zugzwang is NOT mutual? I have always been stumped by that 'mutual' attribute. Chess players seem passionate about the difference, but never come up with a convincing example of zugzwang that isn't mutual.

Re: test position: Rookie-Arasan

Posted: Mon Jan 27, 2014 9:37 pm
by beachknight
mvk wrote:
beachknight wrote:SF PA_GTB DD agrees:
In this case you would have to show that the engine understands that Re5 loses. Showing that it prefers Kf7 doesn't mean a lot. That could be coincidence.

Bonus question: are there situations where zugzwang is NOT mutual? I have always been stumped by that 'mutual' attribute. Chess players seem passionate about the difference, but never come up with a convincing example of zugzwang that isn't mutual.
If I had some couple of connected Crays under my hands,
I'd check (or would have checked ?!) the position deeper,
probably down to the depth 70.
Best,

Re: test position: Rookie-Arasan

Posted: Mon Jan 27, 2014 9:37 pm
by syzygy
mvk wrote:Bonus question: are there situations where zugzwang is NOT mutual? I have always been stumped by that 'mutual' attribute. Chess players seem passionate about the difference, but never come up with a convincing example of zugzwang that isn't mutual.
See http://en.wikipedia.org/wiki/Zugzwang

In chess, a zugzwang is a position where the side to move would be better off if it could pass. KRvK is won by bringing black in zugzwang.

In chess, a mutual zugzwang is a position that is lost for white if it is white's turn to move and the position if lost for black if it is black's turn to move.

Re: test position: Rookie-Arasan

Posted: Mon Jan 27, 2014 9:43 pm
by mvk
That wikipedia page isn't very helpful. Or it is inconsistent. For example, it also says:
There are three types of chess positions:
  • 1. both sides would benefit if it were their turn to move
    2. only one player would be at a disadvantage if it were his turn to move
    3. both players would be at a disadvantage if it were their turn to move.
Case 2 doesn't seem to exist. After all, if hypothetically it is good for one side to pass once, then the same must be equally true for the other side.

Re: test position: Rookie-Arasan

Posted: Mon Jan 27, 2014 9:49 pm
by zullil
mvk wrote:
beachknight wrote:SF PA_GTB DD agrees:
In this case you would have to show that the engine understands that Re5 loses. Showing that it prefers Kf7 doesn't mean a lot. That could be coincidence.
Here's what SF gives in response to

Code: Select all

go infinite searchmoves f5e5
I think we can assume it understands this move loses! :D

Code: Select all

info depth 50 seldepth 67 score cp -7707 nodes 1001178252 nps 11520508 time 86904 multipv 1 pv f5e5 e3e5 f6e5 e2e3 e5f5 e3f3 g6g5 g3g4 h5g4 f3g3 f5f6 g3g4 f6g6 d5d6 g6f7 g4g5 f7e6 g5g6 e6d6 g6f6 d6d7 f6f7 d7c6 f7e6 c6c7 e6e7 c7b7 e7d6 b7a6 d6c6 a6a7 c6c7 a7a6 c7b8 b6b5 a4b5 a6b6 b8c8 a5a4 b3a4 b6a5 c8c7 a5b4 b5b6 b4c4 b6b7 c4d3 b7b8q c5c4 b8b5 d3c3 b5c4 c3c4 c7b6
BTW, SF first sees a problem at depth 35 or so.

Re: test position: Rookie-Arasan

Posted: Mon Jan 27, 2014 9:51 pm
by syzygy
The definitions I gave came from the wikipedia page and clearly show the difference, so I do not see how the page is not helpful.

Think a moment about the KRvK example. Passing is not going to change the outcome, if black can only pass once. The idea is that black would draw if it could pass whenever it wants, and that the current position is one where black would want to pass. That white could then also pass would only get the game to a draw earlier.

Zugzwang = where nullmove makes mistakes.

Re: test position: Rookie-Arasan

Posted: Mon Jan 27, 2014 10:21 pm
by ernest
Houdini 4, short analysis (OK, proves nothing... 8-) )

New game
8/8/1p3kp1/p1pP1r1p/P1P5/1P2R1P1/4K3/8 b - - 0 1
Analysis by Houdini 4 w32 Syz:
1...Re5 2.Kf3 Rxe3+ 3.Kxe3 Ke5 4.Kd3 g5
= (-0.09) Depth: 6/13 00:00:00 1kN
1...Re5
= (-0.15 !) Depth: 7/13 00:00:00 1kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf3 h4 5.gxh4 gxh4
= (-0.24) Depth: 7/13 00:00:00 1kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf3 h4 5.Kg4 hxg3 6.Kxg3
= (-0.11) Depth: 8/14 00:00:00 2kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf3 h4 5.Kg4 hxg3 6.Kxg3 Kd6
= (-0.04) Depth: 9/14 00:00:00 3kN
1...Re5
= (-0.10 !) Depth: 10/15 00:00:00 4kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 h4 6.gxh4 gxh4 7.Kg4
= (-0.08) Depth: 10/15 00:00:00 5kN
1...Re5 2.Rxe5
= (-0.02 --) Depth: 11/17 00:00:00 5kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 11/17 00:00:00 7kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 12/17 00:00:00 10kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 13/17 00:00:00 14kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 14/19 00:00:00 22kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 15/21 00:00:00 32kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 16/23 00:00:00 45kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 17/26 00:00:00 70kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 18/26 00:00:00 101kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 19/28 00:00:00 145kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 20/30 00:00:00 211kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 21/33 00:00:00 303kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 22/34 00:00:00 434kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 23/36 00:00:00 677kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 24/37 00:00:00 993kN
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 25/38 00:00:00 1505kN, tb=1
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 26/41 00:00:00 2693kN, tb=21
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 27/42 00:00:01 3966kN, tb=42
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 28/44 00:00:01 6361kN, tb=88
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 29/46 00:00:02 9682kN, tb=181
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 30/47 00:00:05 16803kN, tb=524
1...Re5 2.Rxe5 Kxe5 3.Ke3 g5 4.Kf2 Kd6 5.Kf3 Ke5 6.Kf2 Kd6
= (0.00) Depth: 31/50 00:00:08 26809kN, tb=1037
1...Re5 2.Rxe5
= (0.05 --) Depth: 32/51 00:00:21 72908kN, tb=4156
1...Re5 2.Rxe5
= (0.16 --) Depth: 32/54 00:00:37 123mN, tb=6343
1...Re5 2.Rxe5 Kxe5 3.Ke3 Kf5 4.Kf3 Ke5 5.g4 h4 6.g5 Kf5 7.Kg2 Kxg5 8.Kh3 Kf5 9.Kxh4 g5+ 10.Kg3 g4 11.Kh4 Kf4 12.d6 g3 13.d7 g2 14.d8Q g1Q 15.Qc7+ Kf5 16.Qd7+ Kf6 17.Qd6+ Kf5 18.Qd3+ Kf4 19.Qd2+ Kf5 20.Qd5+ Kf6 21.Qd6+ Kf5
= (0.00) Depth: 32/58 00:01:05 207mN, tb=8971
1...Re5 2.Rxe5 Kxe5 3.Ke3 Kf5 4.Kf3 Ke5 5.g4 h4 6.g5 Kf5 7.Kg2 Kxg5 8.Kh3 Kf5 9.Kxh4 g5+ 10.Kg3 g4 11.Kh4 Kf4 12.d6 g3 13.d7 g2 14.d8Q g1Q 15.Qc7+ Kf5 16.Qd7+ Kf6 17.Qd6+ Kf5 18.Qd3+ Kf4 19.Qd2+ Kf5 20.Qd5+ Kf6 21.Qd6+ Kf5
= (0.00) Depth: 33/58 00:01:15 241mN, tb=12089
1...Re5 2.Rxe5 Kxe5 3.Ke3 Kf5 4.Kf3 Ke5 5.g4 h4 6.g5 Kf5 7.Kg2 Kxg5 8.Kh3 Kf5 9.Kxh4 g5+ 10.Kg3 g4 11.Kh4 Kf4 12.d6 g3 13.d7 g2 14.d8Q g1Q 15.Qc7+ Kf5 16.Qd7+ Kf6 17.Qd6+ Kf5 18.Qd3+ Kf4 19.Qd2+ Kf5 20.Qd5+ Kf4 21.Qd6+ Kf5 22.Qd3+
= (0.00) Depth: 34/61 00:01:36 309mN, tb=19696
1...Re5 2.Rxe5 Kxe5 3.Ke3 Kf5 4.Kf3 Ke5 5.g4 h4 6.g5 Kf5 7.Kg2 Kxg5 8.Kh3 Kf5 9.Kxh4 g5+ 10.Kg3 g4 11.Kh4 Kf4 12.d6 g3 13.d7 g2 14.d8Q g1Q 15.Qc7+ Kf5 16.Qd7+ Kf6 17.Qd6+ Kf5 18.Qd3+ Kf4 19.Qd2+ Kf5 20.Qd5+ Kf4 21.Qd6+ Kf5 22.Qd3+
= (0.00) Depth: 35/62 00:02:12 422mN, tb=30422
1...Re5 2.Rxe5
= (0.05 --) Depth: 36/63 00:03:11 617mN, tb=47813
1...Re5 2.Rxe5
= (0.16 --) Depth: 36/63 00:04:31 878mN, tb=66441
1...Re5 2.Rxe5
+/= (0.42 --) Depth: 36/67 00:06:16 1222mN, tb=99428
1...Kf7 2.Re6 Rf6 3.Re5 Rd6 4.Kf3 Rf6+ 5.Kg2 Rd6 6.Re2 Rf6 7.Re1 g5 8.Re2 Kg6 9.Re5 g4 10.Re7 Kf5 11.Re1 Rf7 12.Re6 Rf6 13.Re7 Kg5 14.Re5+ Kg6 15.Re7
= (0.19) Depth: 36/79 00:24:40 4582mN, tb=318839