Designing an analysis friendly Stockfish?
-
- Site Admin
- Posts: 1226
- Joined: Wed Jun 09, 2010 7:49 am
- Real Name: Jeremy Bernstein
- Location: Berlin, Germany
- Contact:
Re: Designing an analysis friendly Stockfish?
Comparing behavior, I think that the Fruity code achieves more of what Uly was requesting than the MC code. Uly, can you confirm? I am seeing the engine recalculating/adjusting known values when stopping and starting analysis with the PAMC code.
Re: Designing an analysis friendly Stockfish?
Thanks, testing Version F against Rybka 3 now. It looks like it might get trashed
-
- Site Admin
- Posts: 1226
- Joined: Wed Jun 09, 2010 7:49 am
- Real Name: Jeremy Bernstein
- Location: Berlin, Germany
- Contact:
Re: Designing an analysis friendly Stockfish?
It should be comparable, according to CEGT. Anyway, the point is to make something for analysis, not for engine matches.Sarciness wrote:Thanks, testing Version F against Rybka 3 now. It looks like it might get trashed
Re: Designing an analysis friendly Stockfish?
Yes, if it gets close to equal score, I will use it for analysis. If not, it might indicate something is broken in this version.Jeremy Bernstein wrote:It should be comparable, according to CEGT. Anyway, the point is to make something for analysis, not for engine matches.Sarciness wrote:Thanks, testing Version F against Rybka 3 now. It looks like it might get trashed
Re: Designing an analysis friendly Stockfish?
You're right, fruity's version seems better, though both are great. here's a test:Jeremy Bernstein wrote:Comparing behavior, I think that the Fruity code achieves more of what Uly was requesting than the MC code. Uly, can you confirm?
Stockfish_201_PAMC_GTBd.7z
Root analysis:
16/16 0:01 +0.36 1.Nf3 Nf6 2.e3 d5 3.d4 e6 4.Bd3 Bd6 5.O-O Nc6 6.c4 dxc4 7.Bxc4 O-O 8.Nc3 e5 (945.602) 720 17/22 0:01 +0.28-- 1.Nf3 Nf6 2.e3 d5 3.d4 e6 4.Bd3 Bd6 5.O-O c5 6.dxc5 Bxc5 7.Nc3 Nc6 8.e4 d4 9.Na4 Bd6 10.c3 dxc3 11.bxc3 O-O (1.421.153) 716 17/11 0:03 +0.44++ 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Bd3 Nc5 6.Be2 (2.458.428) 721 17/11 0:04 +0.52++ 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Bd3 Nc5 6.Be2 (3.154.390) 726 17/22 0:05 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 6.Nc3 Nxc3 7.dxc3 Nc6 8.Be3 Be6 9.a4 O-O-O 10.O-O-O f6 11.Qb5 d5 (3.984.887) 722 18/22 0:06 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 6.Nc3 Nxc3 7.dxc3 Nc6 8.Be3 Be6 9.a4 O-O-O 10.O-O-O f6 11.Qb5 d5 (4.991.771) 721
16/22 0:00 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 6.Nc3 Nxc3 7.dxc3 Nc6 8.Be3 Be6 9.a4 O-O-O 10.O-O-O f6 11.Qb5 d5 (191.102) 872 17/22 0:00 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 6.Nc3 Nxc3 7.dxc3 Nc6 8.Be3 Be6 9.a4 O-O-O 10.O-O-O f6 11.Qb5 d5 (310.466) 864 18/22 0:00 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 6.Nc3 Nxc3 7.dxc3 Nc6 8.Be3 Be6 9.a4 O-O-O 10.O-O-O f6 11.Qb5 d5 (492.107) 851
16/21 0:00 +0.32 1...e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 6.Nc3 Nxc3 7.dxc3 Nc6 8.Be3 Be6 9.a4 O-O-O 10.O-O-O f6 11.Qb5 d5 (282.939) 788 17/21 0:00 +0.32 1...e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 6.Nc3 Nxc3 7.dxc3 Nc6 8.Be3 Be6 9.a4 O-O-O 10.O-O-O f6 11.Qb5 d5 (460.158) 796 18/21 0:01 +0.32 1...e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 6.Nc3 Nxc3 7.dxc3 Nc6 8.Be3 Be6 9.a4 O-O-O 10.O-O-O f6 11.Qb5 d5 (880.566) 772
16/16 0:00 +0.68-- 2.Nc3 Nc6 3.Nf3 Nf6 4.Bb5 Nd4 5.e5 Qa5 6.Bc4 d5 7.Bd3 Ng4 8.Nxd5 Be6 9.Nxd4 cxd4 (517.168) 719 16/18 0:00 +0.68 2.Nc3 Nc6 3.Nf3 Nf6 4.Bb5 Nd4 5.e5 Qa5 6.Bc4 d5 7.Bd3 Ng4 8.O-O Be6 9.Nxd5 Bxd5 10.Nxd4 Nxe5 (686.785) 720 17/14 0:01 +0.56-- 2.Nc3 Nc6 3.Nf3 Nf6 4.Bb5 e5 5.Bxc6 dxc6 6.Nxe5 Bd6 7.d4 O-O 8.O-O Re8 (1.229.116) 702 17/09 0:02 +0.80++ 2.Nf3 Nc6 3.Bb5 Nf6 4.e5 Ng4 5.Bxc6 dxc6 6.h3 (1.797.054) 697 17/20 0:04 +0.84 2.Nf3 Nc6 3.Bb5 Nd4 4.Nc3 Nxb5 5.Nxb5 d6 6.O-O Nf6 7.d3 Qb6 8.a4 Bd7 9.e5 Bxb5 10.axb5 dxe5 11.Nxe5 Qxb5 (3.189.102) 691 18/14 0:08 +0.64-- 2.Nf3 Nc6 3.Bb5 e5 4.Bxc6 bxc6 5.Nxe5 Qe7 6.d4 Nf6 7.Nc3 cxd4 8.Qxd4 c5 (5.674.013) 686 18/18 0:10 +0.44-- 2.Nf3 Nc6 3.Bb5 e5 4.Bxc6 bxc6 5.Nxe5 Qe7 6.d4 d6 7.Nxc6 Qxe4+ 8.Qe2 Qxe2+ 9.Kxe2 Nf6 10.dxc5 Kd7 (7.092.817) 689 18/25 0:17 +0.36 2.Nf3 Nc6 3.Bb5 e5 4.O-O Nf6 5.c3 Be7 6.Re1 O-O 7.Bxc6 dxc6 8.Nxe5 Nd7 9.Nf3 c4 10.Na3 Bxa3 11.bxa3 Nc5 12.Ne5 Be6 13.Bb2 Nd3 14.Nxd3 (12.197.874) 695 18/19 0:19 +0.56 2.Nc3 Nc6 3.Bb5 e5 4.d3 Bd6 5.Nf3 Nf6 6.O-O O-O 7.Bg5 a6 8.Bxf6 Qxf6 9.Nd5 Qd8 10.Bc4 b5 11.Bb3 (13.683.579) 695
10/13 0:00 +0.36 1...e5 2.Nc3 Nc6 3.Nf3 Nf6 4.Bb5 Bd6 5.O-O O-O 6.d4 exd4 7.Nxd4 a6 (62.424) 664 11/14 0:00 +0.32 1...e5 2.Nc3 Nc6 3.Nf3 Nf6 4.Bb5 Bd6 5.d3 Na5 6.Ba4 c6 7.d4 exd4 8.Qxd4 (81.770) 654 11/11 0:00 +0.28++ 1...Nf6 2.e5 Nd5 3.Nf3 Nc6 4.Bc4 Nb6 5.Bb5 f6 6.d4 d5 (90.465) 723 11/11 0:00 +0.24 1...Nf6 2.e5 Nd5 3.Nf3 Nc6 4.Bc4 Nb6 5.Bb5 f6 6.d4 d5 (95.603) 678 12/12 0:00 +0.40-- 1...Nf6 2.e5 Nd5 3.Nf3 Nc6 4.Bc4 Nb6 5.Bb5 f6 6.exf6 exf6 7.O-O (120.853) 702 12/14 0:00 +0.32 1...e5 2.Nc3 Nc6 3.Nf3 Nf6 4.Bb5 Bd6 5.d3 Na5 6.Ba4 c6 7.d4 exd4 8.Qxd4 (134.679) 720 13/05 0:00 +0.32 1...e5 2.Nf3 Nf6 3.Nxe5 d6 (215.022) 689 13/14 0:00 +0.28 1...Nc6 2.Nf3 Nf6 3.Nc3 e5 4.Bb5 Bb4 5.O-O O-O 6.Re1 d6 7.d4 Bxc3 8.bxc3 (243.115) 706 14/08 0:00 +0.36-- 1...Nc6 2.Nf3 Nf6 3.e5 Ng4 4.d4 d6 5.h3 (393.386) 699 14/05 0:00 +0.32 1...e5 2.Nf3 Nf6 3.Nxe5 d6 (404.305) 719 15/05 0:00 +0.32 1...e5 2.Nf3 Nf6 3.Nxe5 d6 (473.849) 722 16/05 0:00 +0.32 1...e5 2.Nf3 Nf6 3.Nxe5 d6 (596.134) 719 17/05 0:01 +0.32 1...e5 2.Nf3 Nf6 3.Nxe5 d6 (829.224) 717 18/05 0:01 +0.32 1...e5 2.Nf3 Nf6 3.Nxe5 d6 (1.273.887) 721
Forcing 1.d4 (a move it didn't consider)
16/16 0:01 +0.28 1...Nf6 2.Nf3 d5 3.e3 e6 4.Bd3 Nc6 5.O-O Be7 6.Nc3 O-O 7.a3 Bd7 8.Bd2 Bd6 9.e4 (893.390) 714 17/21 0:01 +0.28 1...Nf6 2.Nf3 d5 3.e3 e6 4.Bd3 Nc6 5.O-O Be7 6.Nc3 O-O 7.a3 Bd7 8.Bd2 Bd6 9.e4 dxe4 10.Nxe4 Nxe4 11.Bxe4 Qf6 (1.401.253) 717 18/19 0:03 +0.20++ 1...Nf6 2.Nf3 d5 3.e3 e6 4.Bd3 Be7 5.O-O O-O 6.Nc3 c5 7.dxc5 Nc6 8.Na4 Nb4 9.c3 Nxd3 10.Qxd3 Bd7 (2.194.719) 716 18/20 0:04 +0.20 1...Nf6 2.Nf3 d5 3.e3 e6 4.c4 Bd6 5.Bd3 dxc4 6.Bxc4 O-O 7.O-O c5 8.Nc3 Nc6 9.Nb5 Be7 10.Qa4 cxd4 11.Nbxd4 (2.984.264) 720
8/08 0:00 +0.20 1.e4 e5 2.Nf3 Nc6 3.Bd3 Nf6 4.O-O Bc5 (6.850) 456 9/10 0:00 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 (9.961) 321 10/12 0:00 +0.32 1.e4 e5 2.Nf3 Nf6 3.Bc4 Nxe4 4.Nxe5 d5 5.Qf3 f6 6.Bb5+ c6 (15.426) 497 11/16 0:00 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nc3 Nc6 4.Bb5 Bb4 5.d3 O-O 6.O-O Bxc3 7.bxc3 d6 8.Bc4 Be6 (24.544) 522 12/16 0:00 +0.24-- 1.e4 e5 2.Nf3 Nf6 3.Nc3 Nc6 4.Bb5 Bb4 5.d3 O-O 6.O-O Bxc3 7.bxc3 d6 8.Bc4 Be6 (46.964) 602 12/16 0:00 +0.28 1.e4 e5 2.Nf3 Nf6 3.Nc3 Nc6 4.Bb5 Bb4 5.d3 O-O 6.O-O Bxc3 7.bxc3 d6 8.Bc4 Be6 (70.017) 642 13/16 0:00 +0.28 1.e4 e5 2.Nf3 Nf6 3.Nc3 Nc6 4.Bb5 Bb4 5.d3 O-O 6.O-O Bxc3 7.bxc3 d6 8.Bc4 Be6 (77.042) 706 14/16 0:00 +0.20-- 1.e4 e5 2.Nf3 Nf6 3.Nc3 Nc6 4.Bb5 Bb4 5.d3 O-O 6.O-O Bxc3 7.bxc3 d6 8.Bc4 Be6 (139.814) 688 14/16 0:00 +0.20 1.e4 e5 2.Nf3 Nf6 3.Nc3 Nc6 4.Bb5 Bb4 5.O-O O-O 6.Re1 d6 7.d4 Bxc3 8.bxc3 Bg4 (192.449) 726 15/15 0:00 +0.28++ 1.e4 e5 2.Nf3 Nf6 3.Nc3 Nc6 4.Bc4 Bb4 5.O-O O-O 6.d3 d6 7.Bg5 Bg4 8.Nd5 (251.043) 699 15/10 0:00 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 (367.600) 713 16/10 0:00 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 (446.404) 733 17/10 0:00 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 (628.676) 745 18/10 0:01 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 (942.283) 744
Forcing entirely unrelated position (1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Nc3 Bg7 5. d4 g4 6. Bxf4 gxf3 7. Qxf3 d6 )
17/11 0:10 -0.68++ 8.O-O-O Nc6 9.Bb5 a6 10.Bxc6+ bxc6 11.Rhf1 Be6 12.d5 cxd5 13.exd5 (7.101.062) 705 17/15 0:12 -0.60++ 8.O-O-O Nc6 9.Bb5 a6 10.Bxc6+ bxc6 11.Qg3 Kf8 12.e5 Bh6 13.Rhe1 Bxf4+ 14.Qxf4 Be6 15.Ne4 (8.760.773) 707 17/23 0:13 -0.76 8.O-O-O Nc6 9.Qg3 Kf8 10.e5 d5 11.Be2 Nge7 12.Bg5 Qd7 13.Kb1 Nf5 14.Qf2 h6 15.Bf4 f6 16.Rhf1 h5 17.Bf3 fxe5 18.dxe5 Bxe5 19.Rxd5 (9.844.238) 711 17/09 0:22 -0.44++ 8.Bb5+ c6 9.Bc4 b5 10.Nxb5 cxb5 11.Bd5 Bxd4 12.O-O-O (16.219.216) 713 17/24 0:27 -0.44 8.Bb5+ c6 9.Bc4 Qh4+ 10.g3 Bg4 11.Qf2 Qf6 12.h3 b5 13.hxg4 bxc4 14.O-O-O Ne7 15.Qf1 d5 16.exd5 cxd5 17.Rh5 O-O 18.Nxd5 Nxd5 19.Rxd5 Rc8 (20.055.509) 717 18/22 0:34 -0.80-- 8.Bb5+ c6 9.Bc4 Qh4+ 10.g3 Bg4 11.Qf2 Qf6 12.h3 Bh5 13.g4 Bg6 14.e5 dxe5 15.dxe5 Qe7 16.O-O-O b5 17.Bb3 Nd7 18.a4 Nc5 (24.539.199) 719 18/23 0:36 -0.76 8.O-O-O Nc6 9.Qg3 Kf8 10.e5 d5 11.Be2 Nge7 12.Bg5 Qd7 13.Kb1 Nf5 14.Qf2 h6 15.Bf4 f6 16.Rhf1 h5 17.Bf3 fxe5 18.dxe5 Bxe5 19.Rxd5 (25.928.334) 718
13/12 0:00 +0.16-- 1.Nc3 d5 2.d4 Nf6 3.Bf4 e6 4.Nb5 Bd6 5.Nxd6+ cxd6 6.Nf3 O-O (129.367) 752 13/11 0:00 +0.32++ 1.e4 Nc6 2.Nf3 Nf6 3.Nc3 d5 4.exd5 Nxd5 5.Be2 Nxc3 6.bxc3 (206.107) 733 13/06 0:00 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 Nxe4 (235.857) 719 14/06 0:00 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 Nxe4 (290.610) 743 15/06 0:00 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 Nxe4 (411.061) 730 16/06 0:00 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 Nxe4 (516.482) 734 17/06 0:01 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 Nxe4 (757.918) 735 18/06 0:01 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 Nxe4 (1.202.382) 719
It passed all tests excellently! Stockfish 2.1 is going to have great behavior
Now:
Stockfish_201_PA_GTBf.7z
Root analysis:
16/21 0:04 +0.60 1.e4 e5 2.Nf3 Bd6 3.Nc3 Nf6 4.Bc4 Nc6 5.O-O O-O 6.d3 Na5 7.Bb3 Re8 8.Be3 c6 9.d4 Nxb3 10.axb3 exd4 11.Qxd4 (3.184.453) 702 17/18 0:05 +0.32-- 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Bd3 d5 6.O-O Be7 7.Nc3 Nxc3 8.dxc3 Nc6 9.Be3 O-O (3.813.858) 703 17/23 0:07 +0.40 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.d4 Be7 6.Bd3 d5 7.Nbd2 Nf6 8.Nb3 O-O 9.O-O Nc6 10.c3 Re8 11.Re1 Bd6 12.Bg5 (5.301.191) 705 18/23 0:07 +0.40 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.d4 Be7 6.Bd3 d5 7.Nbd2 Nf6 8.Nb3 O-O 9.O-O Nc6 10.c3 Re8 11.Re1 Bd6 12.Bg5 (5.525.889) 704
16/23 0:00 +0.40 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.d4 Be7 6.Bd3 d5 7.Nbd2 Nf6 8.Nb3 O-O 9.O-O Nc6 10.c3 Re8 11.Re1 Bd6 12.Bg5 (8.835) 285 17/23 0:00 +0.40 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.d4 Be7 6.Bd3 d5 7.Nbd2 Nf6 8.Nb3 O-O 9.O-O Nc6 10.c3 Re8 11.Re1 Bd6 12.Bg5 (11.441) 369 18/23 0:00 +0.40 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.d4 Be7 6.Bd3 d5 7.Nbd2 Nf6 8.Nb3 O-O 9.O-O Nc6 10.c3 Re8 11.Re1 Bd6 12.Bg5 (23.750) 505
Forcing 1.e4
16/22 0:00 +0.40 1...e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.d4 Be7 6.Bd3 d5 7.Nbd2 Nf6 8.Nb3 O-O 9.O-O Nc6 10.c3 Re8 11.Re1 Bd6 12.Bg5 (74.759) 685 17/22 0:00 +0.40 1...e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.d4 Be7 6.Bd3 d5 7.Nbd2 Nf6 8.Nb3 O-O 9.O-O Nc6 10.c3 Re8 11.Re1 Bd6 12.Bg5 (113.673) 664 18/23 0:01 +0.32++ 1...e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.d4 Be7 6.Bd3 d5 7.Nbd2 Nf6 8.Nb3 O-O 9.O-O Nc6 10.c3 Re8 11.Re1 Bd6 12.Bg5 Rxe1+ (1.141.897) 716 18/14 0:05 +0.48-- 1...e5 2.Nf3 Nf6 3.d4 exd4 4.e5 Qe7 5.Be2 Nd5 6.Qxd4 Nb4 7.Qd1 N8c6 8.c3 (3.536.902) 707 18/22 0:06 +0.36 1...e5 2.Nf3 Nf6 3.d4 Nxe4 4.Bd3 d5 5.Nxe5 Nd7 6.O-O Bd6 7.Qe2 O-O 8.Bxe4 dxe4 9.Qxe4 c5 10.Nxd7 Qxd7 11.dxc5 Bxc5 12.Nc3 (4.839.985) 710
16/17 0:02 +0.88 2.Nf3 Nf6 3.e5 Nd5 4.Nc3 Nxc3 5.dxc3 e6 6.Bb5 Be7 7.O-O O-O 8.Bf4 Nc6 9.Re1 Qa5 10.Qd3 (1.417.380) 682 17/18 0:02 +0.80-- 2.Nf3 Nf6 3.e5 Nd5 4.Nc3 Nxc3 5.dxc3 e6 6.Bb5 Be7 7.O-O O-O 8.Bf4 Nc6 9.Re1 Qa5 10.Qd3 f6 (1.873.236) 681 17/19 0:04 +0.76 2.Nf3 Nf6 3.e5 Nd5 4.Nc3 Nxc3 5.dxc3 e6 6.Bf4 Nc6 7.Qd2 Qa5 8.Bd3 Be7 9.c4 Qa6 10.O-O O-O 11.c3 (2.795.893) 680 18/20 0:05 +0.80 2.Nf3 Nf6 3.e5 Nd5 4.Nc3 Nxc3 5.dxc3 e6 6.Bf4 Qb6 7.Rb1 Nc6 8.Bc4 Be7 9.O-O O-O 10.Qd3 f6 11.exf6 Bxf6 (3.498.362) 682
16/22 0:00 +0.36 1...e5 2.Nf3 Nf6 3.d4 Nxe4 4.Bd3 d5 5.Nxe5 Nd7 6.O-O Bd6 7.Qe2 O-O 8.Bxe4 dxe4 9.Qxe4 c5 10.Nxd7 Qxd7 11.dxc5 Bxc5 12.Nc3 (19.895) 423 17/22 0:00 +0.36 1...e5 2.Nf3 Nf6 3.d4 Nxe4 4.Bd3 d5 5.Nxe5 Nd7 6.O-O Bd6 7.Qe2 O-O 8.Bxe4 dxe4 9.Qxe4 c5 10.Nxd7 Qxd7 11.dxc5 Bxc5 12.Nc3 (32.395) 415 18/22 0:00 +0.36 1...e5 2.Nf3 Nf6 3.d4 Nxe4 4.Bd3 d5 5.Nxe5 Nd7 6.O-O Bd6 7.Qe2 O-O 8.Bxe4 dxe4 9.Qxe4 c5 10.Nxd7 Qxd7 11.dxc5 Bxc5 12.Nc3 (80.422) 574
Forcing 1.d4
16/15 0:01 +0.20++ 1...Nf6 2.Nf3 e6 3.e3 d5 4.c4 Nc6 5.Bd3 Be7 6.Nc3 O-O 7.cxd5 exd5 8.O-O Nb4 (726.011) 693 16/18 0:01 +0.20 1...Nf6 2.Nf3 e6 3.e3 d5 4.Bd3 c5 5.O-O c4 6.Be2 Bd6 7.b3 cxb3 8.axb3 Nc6 9.c4 O-O 10.c5 (883.132) 697 17/19 0:02 +0.12 1...Nf6 2.Nf3 e6 3.e3 Be7 4.Bd3 Nc6 5.O-O O-O 6.Nc3 d5 7.Ne5 Nb4 8.a3 Nxd3 9.Qxd3 Nd7 10.Nf3 c5 (1.680.032) 698 18/19 0:03 +0.12 1...Nf6 2.Nf3 e6 3.e3 Be7 4.Bd3 d5 5.O-O O-O 6.c4 dxc4 7.Bxc4 c5 8.Nc3 Nc6 9.dxc5 Bxc5 10.Bd2 Bd7 (2.288.335) 697
16/23 0:00 +0.36 1.e4 e5 2.Nf3 Nf6 3.d4 Nxe4 4.Bd3 d5 5.Nxe5 Nd7 6.O-O Bd6 7.Qe2 O-O 8.Bxe4 dxe4 9.Qxe4 c5 10.Nxd7 Qxd7 11.dxc5 Bxc5 12.Nc3 (82.876) 587 17/23 0:00 +0.36 1.e4 e5 2.Nf3 Nf6 3.d4 Nxe4 4.Bd3 d5 5.Nxe5 Nd7 6.O-O Bd6 7.Qe2 O-O 8.Bxe4 dxe4 9.Qxe4 c5 10.Nxd7 Qxd7 11.dxc5 Bxc5 12.Nc3 (116.796) 621 18/23 0:00 +0.36 1.e4 e5 2.Nf3 Nf6 3.d4 Nxe4 4.Bd3 d5 5.Nxe5 Nd7 6.O-O Bd6 7.Qe2 O-O 8.Bxe4 dxe4 9.Qxe4 c5 10.Nxd7 Qxd7 11.dxc5 Bxc5 12.Nc3 (172.858) 649
Forcing entirely unrelated position (1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Nc3 Bg7 5. d4 g4 6. Bxf4 gxf3 7. Qxf3 d6)
16/23 0:14 -0.36 8.Bb5+ c6 9.Bc4 Qf6 10.Bb3 Ne7 11.Rd1 Be6 12.Bxd6 Qxf3 13.gxf3 Bxb3 14.axb3 Ng6 15.Rg1 Nd7 16.Kf2 Rg8 17.e5 O-O-O 18.Ne4 Nf4 19.Rg4 (10.559.343) 718 17/23 0:18 -0.36 8.Bb5+ c6 9.Bc4 Qf6 10.Bb3 Ne7 11.Rd1 Be6 12.Bxd6 Qxf3 13.gxf3 Bxb3 14.axb3 Ng6 15.Rg1 Nd7 16.Kf2 Rg8 17.e5 O-O-O 18.Ne4 Nf4 19.Rg4 (13.044.222) 719 18/24 0:20 -0.44-- 8.Bb5+ c6 9.Bc4 Qf6 10.Bb3 Ne7 11.Rd1 Be6 12.Bxd6 Qxf3 13.gxf3 Bxb3 14.axb3 Ng6 15.Rg1 Nd7 16.Kf2 Rg8 17.e5 O-O-O 18.Ne4 Nf4 19.Rg4 Ne6 (15.030.197) 718 18/17 0:28 -0.28++ 8.Bb5+ c6 9.Bc4 Qf6 10.Bb3 Ne7 11.Rd1 Be6 12.d5 cxd5 13.exd5 Bf5 14.Nb5 O-O 15.O-O Qxb2 16.Bxd6 (20.532.456) 717 18/19 0:30 -0.52-- 8.Bb5+ c6 9.Bc4 Qf6 10.O-O-O Bh6 11.Ne2 Bxf4+ 12.Nxf4 Ne7 13.Bb3 O-O 14.Qg3+ Kh8 15.Rhe1 Qg7 16.Qxg7+ Kxg7 17.Re3 (22.142.662) 719 18/23 0:37 -0.48 8.Bb5+ c6 9.Bc4 Qf6 10.Rf1 Nh6 11.h3 O-O 12.Qg3 Qg6 13.Qxg6 hxg6 14.Bxd6 Rd8 15.e5 b5 16.Bb3 Nf5 17.Ne4 Bh6 18.a4 Nxd6 19.Nxd6 (26.909.364) 720
16/02 0:00 +0.36 1.e4 e5 (73.608) 669 17/02 0:00 +0.36 1.e4 e5 (252.585) 673 18/02 0:00 +0.36 1.e4 e5 (323.694) 667
That seems perfect! It's the same behavior of PAMC_GTBd, only more stable and faster ("within one second" Vs. "instantly").
So, I'd say mission accomplished guys!
There's still the mystery of why are the new versions lagging a few elos behind, it's evident that doesn't matter for analysis thanks to all the time saved, but one wonders if there's not some bug somewhere holding it back (that will be moot when Stockfish 2.1 arrives and has PAMC_GTBd's behavior and is stronger than 2.0.1, hopefully).
Oh, and here's gaard's version, that includes only fruity's changes:
http://dl.dropbox.com/u/11904592/stockfish_201_PA_K.zip
Anyway, here's a cross-post from RF:
Uly wrote:My personal priority list for Stockfish looks like this:
1.- Learning. So that it can finally obsolete Rybka 3, I have to keep relying on Rybka 3 Persistent Hash just because all the time it saves not having to write manually the analysis to a third party program that the engine can't see, and I don't think it's the job of a GUI if engines like Shredder have shown that the engine can write its analysis to a file and retrieve it by itself, which is the most efficient thing that can be done.
2.- Stability. That part where Stockfish goes ++ ++ -- -- ++ -- ++ -- -- -- ++ -- -- ++ ++, where the score seems almost unusable as it keep failing low and high for some reason. Why is this anyway? Stockfish is the only engine that does it this bad and I don't see a reason why fixing this would hurt performance (PA helps a lot with this, but it's still present in new positions and plies.)
3.- Granulary. So that moves don't go 0.04 0.08 0.12 0.16... Stockfish move choice seems mostly luck when apparently two moves have a score of 0.04 but Stockfish has a clear preference for one of them. Can't that move be 0.05 or something? The granularity is also weird (another thing that is unique to Stockfish).
It was a shock when the very first code improvements resulted in accidentally fixing the last two problems, the granularity was gone and Stockfish was super-stable, but it also broke some features (where Stockfish would seem to lose its mind) and dropped 150 elo, which seems mysterious.
Re: Designing an analysis friendly Stockfish?
Short match finished 6-4 to Rybka 3. Not bad from Stockfish! Can't wait for 2.1!
PGN had some problems. Not sure why!
PGN had some problems. Not sure why!
-
- Site Admin
- Posts: 1226
- Joined: Wed Jun 09, 2010 7:49 am
- Real Name: Jeremy Bernstein
- Location: Berlin, Germany
- Contact:
Re: Designing an analysis friendly Stockfish?
Thanks Uly. I personally prefer the Fruity version, I think.
The tablebases don't seem to make much of a difference for play, but I find them useful for endgame analysis. I've made a local version which, when the tb returns a mate score, generates the entire main line for the primary PV, which is pretty useful for analysis purposes (just copy it into your move list and walk through it rather than entering the top moves one at a time). Idea copied from Houdini (ideas, not code! ). Once I've made sure it doesn't crash under certain conditions (mate in 200, for instance), I'll post that build, too.
I still feel like Stockfish is doing more work than necessary when moving between positions, but maybe that's just a subjective impression.
The next thing to get working would be some sort of persistent hashing, which is much less trivial, but certainly not impossible.
The tablebases don't seem to make much of a difference for play, but I find them useful for endgame analysis. I've made a local version which, when the tb returns a mate score, generates the entire main line for the primary PV, which is pretty useful for analysis purposes (just copy it into your move list and walk through it rather than entering the top moves one at a time). Idea copied from Houdini (ideas, not code! ). Once I've made sure it doesn't crash under certain conditions (mate in 200, for instance), I'll post that build, too.
I still feel like Stockfish is doing more work than necessary when moving between positions, but maybe that's just a subjective impression.
The next thing to get working would be some sort of persistent hashing, which is much less trivial, but certainly not impossible.
Re: Designing an analysis friendly Stockfish?
Yes, this is what BB+ said about it:
I still haven't checked how Spike 1.4 does learning, but it does have the wanted behavior of starting from a 0 size file that grows as more positions are analyzed.
Its contents look like this:
1056476917 -968304153 52 84
360094764 459597646 76 56
607183598 2025424206 132 68
700192110 -1762893360 143 64
I hope he elaborates. A learning file well implemented only would need to be read once per position, or in worse cases once per depth, so I don't think slow disk reads would be a problem.BB+ wrote:Persistent Hash seems more difficult to implement, though if you just want a stopgap version (likely unintelligent with regards to slow disk reads) I don't think it would be too hard.
I still haven't checked how Spike 1.4 does learning, but it does have the wanted behavior of starting from a 0 size file that grows as more positions are analyzed.
Its contents look like this:
1056476917 -968304153 52 84
360094764 459597646 76 56
607183598 2025424206 132 68
700192110 -1762893360 143 64
Re: Designing an analysis friendly Stockfish?
Shredder's learning (the gold standard of behavior) file looks like glibberish.
As does Rybka's Persistent Hash file.
(Well, it doesn't hurt to take a peek...)
As does Rybka's Persistent Hash file.
(Well, it doesn't hurt to take a peek...)
-
- Site Admin
- Posts: 1226
- Joined: Wed Jun 09, 2010 7:49 am
- Real Name: Jeremy Bernstein
- Location: Berlin, Germany
- Contact:
Re: Designing an analysis friendly Stockfish?
It's probably more interesting to look at those in a hex editor, if at all.Uly wrote:Shredder's learning (the gold standard of behavior) file looks like glibberish.
As does Rybka's Persistent Hash file.
(Well, it doesn't hurt to take a peek...)