[STS v13.0] - "Pawn Play in the Center"

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

Moderators: hgm, Rebel, chrisw

swami
Posts: 6640
Joined: Thu Mar 09, 2006 4:21 am

Re: [STS v13.0] - "Pawn Play in the Center"

Post by swami »

Yes, Mike. Stockfish appears to behave differently when settings are changed such as for instance, hash or personality. It's very dynamic. Tweaked Stockfish appears to do it better.
swami
Posts: 6640
Joined: Thu Mar 09, 2006 4:21 am

Re: [STS v13.0] - "Pawn Play in the Center"

Post by swami »

Updated:

Download ALL Epd's in One File:
https://sites.google.com/site/strategic ... PD%27s.rar

Download Piece-Specific EPD's (for tuning)
https://sites.google.com/site/strategic ... PD%27s.rar

Best wishes,
Swami
De Vos W
Posts: 431
Joined: Tue Dec 01, 2009 11:59 am

Re: [STS v13.0] - "Pawn Play in the Center"

Post by De Vos W »

1k1r4/1p3p2/p1bq1p1p/4p3/3r1P1Q/P5P1/1PP1B2P/K2RR3 b - - 0 1

Analysis by Houdini 1.03a w32 2_CPU: Fritz 12 GUI

Intel Core 2 6600 2.40GHz 2.0GB RAM

1...exf4 2.Rxd4 Qxd4 3.Rd1 Qxd1+ 4.Bxd1 Rxd1+ 5.Ka2 f3 6.Qxf6 Bd5+ 7.b3
+/= (0.30) Depth: 6/20 00:00:00 21kN
1...Qe7 2.Rxd4 Rxd4 3.Qxh6 e4 4.h4 e3 5.h5 Rd2 6.Qh8+ Rd8
= (0.21) Depth: 6/20 00:00:00 26kN
1...Qe7 2.Qxh6 e4 3.Rxd4 Rxd4 4.h4 Rd2 5.Qh8+ Rd8 6.Qh7 Rd2 7.Qg8+ Be8
+/= (0.27) Depth: 7/21 00:00:00 37kN
1...Qe7 2.Qxh6 e4 3.Rxd4 Rxd4 4.h4 Rd2 5.Qh8+ Rd8 6.Qh7 Rd2 7.Qg8+ Be8
= (0.21 ++) Depth: 8/22 00:00:00 42kN
1...Qe7 2.Qxh6 e4 3.Rxd4 Rxd4 4.h4 Rd2 5.Qh8+ Rd8 6.Qh7 Rd2 7.Qg8+ Be8
+/= (0.27) Depth: 8/23 00:00:00 44kN
1...Qe7 2.Qxh6 e4 3.Rxd4 Rxd4 4.h4 Rd2 5.Qh8+ Rd8 6.Qh7 Rd2 7.Qg8+ Rd8
+/= (0.31) Depth: 9/23 00:00:00 55kN
1...Qe7 2.Qxh6 e4 3.Rxd4 Rxd4 4.h4 Rd2 5.Qh8+ Rd8 6.Qh7 Rd2 7.h5 Qc5 8.Qh8+ Ka7 9.c3 Qf2
= (0.25 ++) Depth: 10/31 00:00:00 164kN
1...Qe7 2.Qxh6 Rxd1+ 3.Rxd1 e4 4.Rxd8+ Qxd8 5.f5 Qa5 6.Qf4+ Qc7 7.Qe3 Qe5 8.Bc4 Qxf5 9.Bxf7
+/= (0.34) Depth: 10/31 00:00:00 176kN
1...e4 2.Rxd4 Qxd4 3.Rd1 Qb6 4.Qxf6 Rxd1+ 5.Bxd1 Qg1 6.Qd6+ Ka7 7.Kb1 Qxh2 8.Qc5+ Kb8 9.Qf8+ Ka7 10.Qxf7 Qxg3
+/= (0.27) Depth: 10/31 00:00:00 234kN

1...e4 2.Rxd4 Qxd4 3.Rd1 Qb6 4.Qxf6 Rxd1+ 5.Bxd1 Qg1 6.Qd6+ Ka7 7.Kb1 Qxh2 8.Qc5+ Kb8 9.Qf8+ Ka7 10.Qxf7 Qxg3 11.f5 e3
= (0.22 ++) Depth: 11/31 00:00:00 310kN
1...Qe6 2.Qxh6 exf4 3.gxf4 Rxd1+ 4.Rxd1 Re8 5.Bd3 Qg4 6.Rb1 Qe6 7.Qg7 Qd6 8.Qxf7 Qxf4 9.Rd1 Qxh2 10.Qxf6
+/= (0.33) Depth: 11/31 00:00:00 639kN
1...Re8 2.c3 Rd2 3.Qxh6 e4 4.Qg7 e3 5.Qxf7 Rh8 6.Bh5 Be4 7.h4 f5 8.Rxd2 Qxd2
= (0.23) Depth: 11/31 00:00:00 1122kN
1...Re8 2.c3 Rd2 3.Qxh6 e4 4.Qg7 e3 5.Qxf7 Rh8 6.Bh5 Be4 7.h4 Rd8 8.Bg4 f5 9.Rxd2 Qxd2
= (0.18 ++) Depth: 12/31 00:00:00 1223kN
1...Re8 2.c3 Rd2 3.Qxh6 e4 4.Qg7 e3 5.Qxf7 Rh8 6.Bh5 Be4 7.Rxd2 Qxd2 8.Rd1 Qg2 9.Qe7 Qc2 10.h4 e2 11.Re1 Qd2
= (0.06 ++) Depth: 12/32 00:00:00 1291kN
1...Re8 2.c3 Rd2 3.Bh5 Rxd1+ 4.Rxd1 Qe7 5.fxe5 fxe5 6.Qxe7 Rxe7 7.Rf1 Bd5 8.Rf6 e4 9.Kb1 e3 10.Be2 Be4+ 11.Kc1
= (0.04) Depth: 12/34 00:00:01 2473kN
1...Re8 2.c3 Rd2 3.Bh5 Rxd1+ 4.Rxd1 Qe7 5.Be2 exf4 6.Qxf4+ Qe5 7.Qxe5+ fxe5 8.Rf1 Bd5 9.Rf6 Rh8 10.Kb1 Kc7 11.Kc2 Be6 12.c4 e4
= (0.08) Depth: 13/34 00:00:01 2713kN
1...Re8 2.c3 Rd2 3.Bh5 Rxd1+ 4.Rxd1 Qe7 5.Be2 exf4 6.Qxf4+ Qe5 7.Qxe5+ fxe5 8.Rf1 Bd5 9.Rf6 Rh8 10.Kb1 Kc7 11.Kc2 Be6 12.c4 e4
= (0.08) Depth: 14/36 00:00:01 3032kN
1...Re8 2.c3 Rd2 3.Bh5 Rxd1+ 4.Rxd1 Qe7 5.Be2 exf4 6.Qxf4+ Qe5 7.Qxe5+ fxe5 8.Rd6 Rh8 9.c4 Be4 10.Ka2 Kc7 11.c5 Bc6 12.Kb3
= (0.09) Depth: 15/36 00:00:01 3598kN
1...e4 2.Rxd4 Qxd4 3.Rd1 Qb6 4.Qxf6 Rxd1+ 5.Bxd1 Qg1 6.Qd6+ Ka7 7.f5 Qf2 8.g4 Qe1 9.Qc5+ Kb8 10.Qd4 e3 11.Kb1 f6
= (0.04 ++) Depth: 16/49 00:00:03 7990kN
1...e4 2.Rxd4 Qxd4 3.Rd1 Qb6 4.Qxf6 Rxd1+ 5.Bxd1 Qg1 6.Qe5+ Ka7 7.Qh5 e3 8.b3 f5 9.Kb2 Be4 10.a4 Qe1 11.Qe2 Qf2 12.a5 b5 13.axb6+ Kxb6
= (0.02) Depth: 16/49 00:00:04 9756kN
1...e4 2.Rxd4 Qxd4 3.Rd1 Qb6 4.Qxf6 Rxd1+ 5.Bxd1 Qg1 6.Qe5+ Ka7 7.Qh5 f5 8.Kb1 e3 9.b3 Be4 10.Kb2 Qf2 11.Qe2 Kb8 12.Qh5 Ka7 13.Qe2
= (0.00) Depth: 17/49 00:00:05 12903kN
1...e4 2.Rxd4 Qxd4 3.Rd1 Qb6 4.Qxf6 Rxd1+ 5.Bxd1 Qg1 6.Qe5+ Ka7 7.Qh5 f5 8.Qe2 e3 9.b3 Qf2 10.Kb2 Be4 11.Qc4 Kb8 12.Qe2 Ka7 13.Qc4
= (0.00) Depth: 18/49 00:00:07 16780kN
1...e4 2.Qxh6 Rd2 3.Qh5 Qe7 4.Rxd2 Rxd2 5.Bd3 Rg2 6.Kb1 exd3 7.Rxe7 Rg1+ 8.Ka2 dxc2 9.Qh8+ Ka7 10.Qxf6 c1Q 11.Qd4+ Kb8 12.Qd8+ Ka7 13.Qd4+ Kb8
= (0.00) Depth: 19/49 00:00:21 47836kN
1...e4 2.Qxh6 Rd2 3.Qh5 Qe7 4.Rxd2 Rxd2 5.Bd3 Rg2 6.Kb1 exd3 7.Rxe7 Rg1+ 8.Ka2 dxc2 9.Qh8+ Ka7 10.Qxf6 c1Q 11.Qd4+ Kb8 12.Qd8+ Ka7 13.Qd4+ Kb8
= (0.00) Depth: 20/52 00:00:38 87781kN
1...e4 2.Qxh6 Rd2 3.Qh5 Qe7 4.Rxd2 Rxd2 5.Bd3 Rg2 6.Kb1 exd3 7.Rxe7 Rg1+ 8.Ka2 dxc2 9.Qh8+ Ka7 10.Qxf6 c1Q 11.Qd4+ Kb8 12.Qd8+ Ka7 13.Qd4+ Kb8
= (0.00) Depth: 21/52 00:00:50 116mN

(10.10.2010)
Gods are fragile things; they may be killed by a whiff of science or a dose of common sense.
User avatar
Eelco de Groot
Posts: 4565
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

Exclusion Search Pruning ideA Re: [STS v13.0]

Post by Eelco de Groot »

swami wrote:Interesting read, thanks Eelco.

All of these positions are "balanced Ie Same number of pawns in each side.
That way, advancing the pawn to the center would play greater role and have better impact.
Thank you for your comments and the testpositions Swami!

Warning: the rest of this post is all about programming and probably hard to follow even for myself when I read it again after posting :roll: But inspired by this success in one testposition I had anoher idea, which I tried out in the next build of Rainbow Serpent yesterday. It is still running in the first testposition so I can't really say if it is working, but at least it is doing something. The idea has to do with the fact that Rainbow Serpent is doing an exclusion search to see if there is one move that is significantly better than the rest and this is done in nodes where you usually need just one move to refute the node. The information however is also very useful, in principle, if the code works, which I'm not sure yet in Stockfish 1.8 because the PV array has gone in this version so I had to change things, to determine a second best move in case it is necessary (when the first move fails). This second best move is very useful as a 'Plan B' in case the TT move fails to do its work, for instance when hash information is somehow inaccurate or the position for the opponent is better than expected. Exploring the nextbest moves keeps more of the searchtree intact (I'm not talking about Blitzgames but for doing analysis etc.) especially in these "cut nodes" where you usually search just one move.

The refinement I had in mind was that the exclusion search in rare cases may even turn up a move that is good enough to cross beta, so it refutes the node. Then you don't have to search further. It should be fairly safe to stop now, because there is also still the TT move that is supposed to be even better than the second best move which is itself better than beta. The drawback is that the exclusion search has to be deep enough to be trusted, probably it should be at least as deep as the verification search that is used to verify null move cutt-offs. (This kind of pruning should be a bit similar as a concept to null move pruning but not prone to Zugzwang and probably not as powerful but hopefully it can be useful in parallel to Nullmove pruning. I re-used some of the null move code for the exclusion pruning)

I already had switched of futility pruning in second best moves -'nextbestMoves'- and extend these so that should help (by giving better hash information), and I now extend the exclusion search when the first search ends up with a value greater than beta. The code now looks like this, of course with more changes that are not shown here to extend nextbestMoves:

Code: Select all


      // Step 11. Decide the new search depth
      ext = extension<PvNode>&#40;pos, move, captureOrPromotion, moveIsCheck, singleEvasion, mateThreat, &dangerous&#41;;

      // Singular extension search. We extend the TT move if its value is much better than
      // its siblings. To verify this we do a reduced search on all the other moves but the
      // ttMove, if result is lower then ttValue minus a margin then we extend ttMove.
      if (   singularExtensionNode
          && move == tte->move&#40;)
          && ext < OnePly&#41;
      &#123;
          Value ttValue = value_from_tt&#40;tte->value&#40;), ply&#41;;

          if &#40;abs&#40;ttValue&#41; < VALUE_KNOWN_WIN&#41;
          &#123;
              Value b = ttValue - SingularExtensionMargin;
              ss->excludedMove = move;
              ss->skipNullMove = true;
              priorbestMove = ss->bestMove; // &#91;EdG&#58; I think this is necessary but not sure. A Stockfish bugfix?&#93;
              excValue = search<NonPV>&#40;pos, ss, b - 1, b, &#40;PvNode ? depth - 2 * OnePly &#58; depth / 2&#41;, ply&#41;;
              nextbestMove = ss->bestMove; // HACK
              ss->bestMove = priorbestMove;
              assert&#40;nextbestMove != move&#41;;
              ss->skipNullMove = false;
              ss->excludedMove = MOVE_NONE;
              if &#40;excValue < ttValue - SingularExtensionMargin && nextbestMove != MOVE_NONE&#41;
			  &#123;
				  singularExtended = true;
                                                                  ext = OnePly;
				  if (&#40;ply == 5 || ply == 10 || ply == 15&#41; /*|| excValue < ttValue - 2*SingularExtensionMargin*/)
					  ext += OnePly;
			  &#125;
			  if &#40;excValue >= beta && depth < 6 * OnePly&#41; // &#91;This probably means there is no exclusion pruning in PV nodes&#93;
			  &#123;
				  ss->excludedMove = move;
				  ss->skipNullMove = true;
				  priorbestMove = ss->bestMove;
				  excValue = search<NonPV>&#40;pos, ss, b - 1, b, &#40;PvNode ? depth - OnePly &#58; depth - 2 * OnePly&#41;, ply&#41;;
				  nextbestMove = ss->bestMove; // HACK
				  ss->bestMove = priorbestMove;
				  ss->skipNullMove = false;
				  ss->excludedMove = MOVE_NONE;
				  if &#40;excValue >= beta&#41;
				  &#123;
					  // Do not return unproven mate scores // &#91;Stolen from NullMove pruning code&#93;
					  if &#40;excValue >= value_mate_in&#40;PLY_MAX&#41;)
						  excValue = beta;
					  return excValue; // &#91;Here at the moment Serpent totally breaks off the search, raw pruning occurs, no storing in hash etc.&#93;
				  &#125;
			  &#125;
          &#125;
      &#125;
Eelco

The 34 ply result is just in by coincidence, I could hear by the changing sound of the Athlon throttling down Rainbow Serpent had finished a new iteration:


[D]1k1r4/1p3p2/p1bq1p1p/4p3/3r1P1Q/P5P1/1PP1B2P/K2RR3 b - -

Engine: Rainbow Serpent 1.8(s)dc Build 089 (Athlon 2009 MHz, 256 MB)
by Tord Romstad, Marco Costalba, Joona Kiiski

1.00 0:00 +0.84 1...Rd2 (5.468) 16

2.00 0:00 +0.56 1...Rd2 2.Bd3 (5.638) 17

3.00 0:00 +0.52 1...Rd2 2.Bg4 Ka7 (8.347) 24

4.00 0:00 +0.36 1...Rd2 2.Bg4 exf4 3.Kb1 (11.189) 32

5.00 0:00 +0.36 1...Rd2 2.Rf1 Qe7 3.Bd3 Rxd1+ 4.Rxd1 (17.565) 48

6.00 0:00 +0.33 1...Rd2 2.Bg4 exf4 3.Rxd2 Qxd2 4.Rd1 Qb4 (24.479) 65

7.00 0:00 +0.24-- 1...Rd2 2.Bg4 (32.452) 82

7.00 0:00 +0.17-- 1...Rd2 2.Bg4 (45.405) 111

7.00 0:00 -0.24-- 1...Rd2 2.Rxd2 (51.971) 123

7.00 0:00 -0.32-- 1...Rd2 2.Rxd2 (61.448) 140

7.00 0:00 -0.48 1...Rd2 2.fxe5 fxe5 (87.620) 186

7.00 0:00 -0.44 1...Qe7 2.Qxh6 Be4 3.Kb1 Qc7 4.Bd3 Bf3 (113.168) 219

8.00 0:00 -0.41 1...Qe7 2.Qxh6 Be4 3.Kb1 Qc7 4.Qg5 (132.973) 236

9.00 0:00 -0.43 1...Qe7 2.Qxh6 Rxd1+ (196.006) 298

10.00 0:00 -0.45 1...Qe7 2.Qxh6 Rxd1+ (254.973) 339

11.01 0:01 -0.45 1...Qe7 2.Qxh6 Rxd1+ 3.Rxd1 Rxd1+
4.Bxd1 e4 5.h4 e3 (487.447) 433

11.05 0:01 -0.29++ 1...Re8 2.Qxh6 (674.469) 469

11.05 0:01 -0.21++ 1...Re8 2.Qxh6 (686.443) 472

11.05 0:01 -0.08 1...Re8 2.Bh5 exf4 (707.841) 476

12.01 0:01 -0.08 1...Re8 2.Bh5 exf4 (795.343) 484

13.01 0:01 -0.08 1...Re8 2.Bh5 exf4 3.Rxe8+ Bxe8 (954.457) 504

14.01 0:02 -0.16-- 1...Re8 2.Bh5 (1.067.811) 517

14.01 0:02 -0.17 1...Re8 2.Bh5 e4 3.Rxd4 Qxd4 4.Rd1 Qc5 (1.478.676) 543

15.01 0:04 -0.08 1...Re8 2.Bh5 e4 3.Qg4 Bd7 4.f5 Rc8 (2.535.922) 577

16.01 0:05 -0.24-- 1...Re8 2.Bh5 (3.449.994) 582

16.01 0:09 -0.26 1...Re8 2.Bh5 e4 3.Rxd4 Qxd4 4.Bxf7 Rf8
5.Bb3 Qd2 (5.618.940) 604


16.02 0:15 -0.13 1...e4 2.f5 Rh8 3.Kb1 Rxd1+ 4.Rxd1 Qe5
5.Qh5 e3 6.Qxf7 Be4 (9.358.033) 611

17.01 0:17 -0.04 1...e4 2.f5 Qc5 3.Rxd4 Rxd4 4.Qf4+ Qd6
5.Qe3 Rd2 6.Kb1 Qd4 (10.964.886) 610

18.01 0:23 -0.01 1...e4 2.Rxd4 Qxd4 3.Rd1 Qb6 4.Qxf6 Rxd1+
5.Bxd1 Qg1 6.Qd6+ Ka7 7.Qd2 Kb6 (14.297.918) 616

19.01 0:29 0.00 1...e4 2.Rxd4 Qxd4 3.Rd1 Qb6 4.Qxf6 Rxd1+
5.Bxd1 Qg1 6.Qd6+ Ka7 7.Ka2 Qxh2
8.Qc5+ Kb8 9.Qf8+ Ka7 10.Qc5+ (18.237.888) 620

20.01 0:41 0.00 1...e4 2.Rxd4 Qxd4 3.Rd1 Qb6 4.Qxf6 Rxd1+
5.Bxd1 Qg1 6.Qd6+ Ka7 7.Ka2 Qxh2
8.Qc5+ Kb8 9.Qf8+ Ka7 10.Qc5+ (25.667.538) 623

21.01 0:58 -0.08-- 1...e4 2.f5 (36.881.546) 627

21.01 1:31 -0.09 1...e4 2.f5 Qc5 3.Qxf6 Rxd1+ 4.Rxd1 Rxd1+
5.Bxd1 Qg1 6.Qd6+ Ka7 7.Ka2 Qxh2
8.f6 Qf2 9.Bh5 e3 10.Qd4+ b6 (57.820.225) 631

22.01 2:11 -0.02 1...e4 2.f5 Qc5 3.Qxf6 Rd2 4.Rc1 R8d7
5.Qxh6 Qf2 6.Bc4 Ka7 7.g4 Qxh2 8.Qf8 Rxc2 (82.404.359) 624

23.01 2:49 -0.07 1...e4 2.f5 Qc5 3.Qxf6 Rd2 4.Rc1 R8d7
5.Qxh6 Qf2 6.Bc4 Ka7 7.g4 Qxh2
8.Qe3+ Kb8 (105.931.831) 623

24.01 4:54 -0.04 1...e4 2.f5 Qe5 3.Rxd4 Rxd4 4.Qxh6 Qxf5
5.Qe3 Qa5 6.c3 Rd8 7.Bc4 Rd7 (182.800.685) 620

25.01 11:17 -0.12-- 1...e4 2.f5 (416.570.276) 615

25.01 16:10 -0.01 1...e4 2.f5 Rh8 3.Rxd4 Qxd4 4.Qf4+ Qe5
5.Qxe5+ fxe5 6.Kb1 Rd8 7.Kc1 f6
8.Bf1 Rg8 9.Bg2 Rg5 10.Bxe4 Bxe4
11.Rxe4 Rxf5 12.Rh4 Rf2 (599.379.836) 617

26.01 21:22 0.00 1...e4 2.f5 Rh8 3.Rxd4 Qxd4 4.Qf4+ Qe5
5.Qxe5+ fxe5 6.Kb1 Rd8 7.Kc1 f6
8.Bf1 Rg8 9.Bc4 Rd8 10.Bf1 (793.362.883) 618

27.01 27:53 0.00 1...e4 2.f5 Rh8 3.Rxd4 Qxd4 4.Qf4+ Qe5
5.Qxe5+ fxe5 6.Kb1 Rd8 7.Kc1 f6
8.Bf1 Rg8 9.Bc4 Rd8 10.Bf1 (1.027.609.836) 613

28.01 35:43 0.00 1...e4 2.f5 Rh8 3.Rxd4 Qxd4 4.Qf4+ Qe5
5.Qxe5+ fxe5 6.Kb1 Rd8 7.Kc1 f6
8.Bf1 Rg8 9.Bc4 Rd8 10.Bf1 (1.328.550.017) 619

29.01 48:27 0.00 1...e4 2.f5 Rh8 3.Rxd4 Qxd4 4.Qf4+ Qe5
5.Qxe5+ fxe5 6.Kb1 Rd8 7.Kc1 f6
8.Bf1 Rg8 9.Bc4 Rd8 10.Bf1 (1.808.279.757) 622

30.01 67:35 0.00 1...e4 2.f5 Rh8 3.Rxd4 Qxd4 4.Qf4+ Qe5
5.Qxe5+ fxe5 6.Kb1 Rd8 7.Kc1 f6
8.Bf1 Rg8 9.Bc4 Rd8 10.Bf1 (2.528.030.175) 623

31.01 135:08 0.00 1...e4 2.f5 Rh8 3.Rxd4 Qxd4 4.Qf4+ Qe5
5.Qxe5+ fxe5 6.Kb1 Rd8 7.Kc1 f6
8.Bf1 Rg8 9.Bc4 Rd8 10.Bf1 (5.090.641.012) 627

32.01 228:27 0.00 1...e4 2.f5 Rh8 3.Rxd4 Qxd4 4.Qf4+ Qe5
5.Qxe5+ fxe5 6.Kb1 Rd8 7.Kc1 f6
8.Bf1 Rg8 9.Bc4 Rd8 10.Bf1 (8.754.440.355) 638

33.01 337:32 0.00 1...e4 2.f5 Rh8 3.Rxd4 Qxd4 4.Qf4+ Qe5
5.Qxe5+ fxe5 6.Kb1 Rd8 7.Kc1 f6
8.Bf1 Rg8 9.Bc4 Rd8 10.Bf1 (13.085.909.652) 646

34.01 685:19 0.00 1...e4 2.f5 Rh8 3.Rxd4 Qxd4 4.Qf4+ Qe5
5.Qxe5+ fxe5 6.Kb1 Rd8 7.Kc1 f6
8.Bf1 Rg8 9.Bc4 Rd8 10.Bf1 (26.742.677.192) 650


The PVs are remarkably uniform even at depth 34 the moves have not changed, this can be either a good sign or a bad sign, depending on how good this PV actually is 8-)
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
mhurd
Posts: 46
Joined: Wed Dec 30, 2009 9:27 pm

Re: [STS v13.0] - "Pawn Play in the Center"

Post by mhurd »

swami wrote:Yes, Mike. Stockfish appears to behave differently when settings are changed such as for instance, hash or personality. It's very dynamic. Tweaked Stockfish appears to do it better.
I ran both versions through sts, not sure how to post tables though.


Code: Select all

STS1	 STS2	 STS3	 STS4	 STS5	 STS6	 STS7	 STS8	 STS9	 STS10	 STS11	 STS12	 STS13
Stockfish-191-64-ja	88	87	87	87	84	83	82	81	79	90	87	83	89
Grade	S	S	S	S	A+	A+	A+	A+	A	S	S	A+	S
Score / 1000	880	870	870	870	840	830	820	810	790	932	920	867	923
Grade	S	S	S	S	A+	A+	A+	A+	A	S	S	S	S
Total time	44282	44286	44278	44262	44278	44278	44286	44279	44286	44278	44285	44286	44278
Rated time	163	150	164	160	198	197	220	277	237	141	197	200	164
Best Move	1107 / 1300	85.15 %	Grade &#58; S
Total	11222 / 13000	86.32 %	Grade &#58; S
Total time	575642 s
Rated time	2468 s

Code: Select all

STS1	 STS2	 STS3	 STS4	 STS5	 STS6	 STS7	 STS8	 STS9	 STS10	 STS11	 STS12	 STS13
Stockfish-191-64-ja &#91;Tweaked&#93;  	90	84	82	88	83	87	81	72	81	90	90	88	89
Grade	S	A+	A+	S	A+	S	A+	A-	A+	S	S	S	S
Score / 1000	900	840	820	880	830	870	810	720	820	924	949	918	950
Grade	S	A+	A+	S	A+	S	A+	A-	A+	S	S	S	S
Total time	44288	44292	44278	44278	44270	44286	44286	44278	44270	44286	44278	44285	44269
Rated time	156	211	216	138	195	163	249	348	232	138	152	168	167
Best Move	1105 / 1300	85 %	Grade &#58; S
Total	11231 / 13000	86.39 %	Grade &#58; S
Total time	575644 s
Rated time	2533 s
swami
Posts: 6640
Joined: Thu Mar 09, 2006 4:21 am

Re: [STS v13.0] - "Pawn Play in the Center"

Post by swami »

mhurd wrote:I ran both versions through sts, not sure how to post tables though.

Code: Select all

Stockfish-191-64-ja
Best Move	1107 / 1300	85.15 %	Grade &#58; S
Total	11222 / 13000	86.32 %	Grade &#58; S
Rated time	2468 s

Code: Select all

Stockfish-191-64-ja &#91;Tweaked&#93;
Best Move	1105 / 1300	85 %	Grade &#58; S
Total	11231 / 13000	86.39 %	Grade &#58; S
Rated time	2533 s
The above information shows some significant difference in time taken/speed but the result is nearly exactly the same.

We can conclude that Stockfish (original) seems to spend less time whereas Stockfish (tweaked) is cautious and has used more time than is necessary. Not sure if we can say that Original performs at optimised speed...