brtzsnr wrote:Hi, everyone!
I'm proud to announce the 10th version of my engine, zurichess luzern.
You can get the sources from
https://bitbucket.org/zurichess/zuriche ... ase.luzern and the binaries from
https://bitbucket.org/zurichess/zurichess/downloads/. You can also find the binaries linked from my main page
http://www.zurichess.xyz.
The detailed list of changes
Code: Select all
* Split engine package into board package providing board functionality, and engine package providing search functionality.
* ~16% faster search:
* Prefetching hash entry on AMD64.
* Using popcnt with the Go1.9 compiler.
* Removing some duplicate IsPseudoLegal calls.
* Tracking pieces on the table, don't rely on bitboard for Position.Get().
* Improve evaluation:
* Evaluate defended minors.
* Evaluate pawn attacks an potential pawn attacks.
* Tweak history, killers and counters.
* Rename Skill Level to Handicap Level.
* Usual code clean ups, speed ups and bug fixes.
In self play this version is about 64 Elo stronger with the usual disclaimer that self play often exaggerates the improvement. YMMV.
Code: Select all
1100 @ 40/60+0.60
423 - 220 - 457
ELO 64.86±15.79
Thank you very much to everyone who made this version possible. Thank you for the tournaments, bug reports, praises, suggestions, tests, ideas, etc.
A couple of interesting games.
First, against my Strangler Rodent personality, Strangler sacrifices the exchange and attempts to create a fortress, but Zuri's conversion is good enough in the end.
Second, a nice attacking win vs Ktulu 9 as black. Zuri's black play in the Dutch (especially the light-squared bishop play) is very intelligent IMO.
zurichess vs Rodent III Strangler
[pgn][Event "New Tournament"]
[Date "2017.05.08"]
[Round "1"]
[White "zurichess luzern"]
[Black "Rodent III 0.172 Strangler"]
[Result "1-0"]
[ECO "A13"]
[BlackElo "2548"]
[Annotator "0.05;-5.53"]
[PlyCount "219"]
[EventDate "2017.05.08"]
[SourceTitle "Fritz Engine Tournament"]
[Source "Norman"]
[TimeControl "60+1"]
{Intel(R) Core(TM) i5-5287U CPU @ 2.90GHz 2899 MHz W=21.1 plies; 2,030kN/s;
ShortLines.ctg B=21.5 plies; 1,902kN/s; Morozevich.ctg} 1. Nf3 {B 0} d5 {
0.01/0 0} 2. c4 {B 0} e6 {0.01/0 0} 3. g3 {B 0} dxc4 {-5.53/17 3} 4. Qa4+ {B 0}
Nc6 {-5.90/18 3} 5. Bg2 {0.05/14 1 (Qxc4)} Bd6 {-5.76/18 2} 6. Na3 {0.16/15 1}
Bxa3 {-4.85/18 2 (Nge7)} 7. bxa3 {0.29/14 1} Nge7 {-3.33/18 2 (Nf6)} 8. Bb2 {
0.55/16 1} O-O {-3.04/17 2} 9. Qxc4 {0.56/17 1} a5 {-1.90/16 2 (Qd5)} 10. O-O {
0.89/15 1} Ra6 {-1.71/16 2 (Qd6)} 11. Qc2 {1.36/13 1 (Rab1)} f6 {-4.12/16 2
(Ra8)} 12. d4 {1.26/16 1} Nf5 {-3.20/17 2 (Ra8)} 13. Rad1 {1.73/14 1 (Rab1)}
Rb6 {-2.16/17 2 (Nd6)} 14. e4 {2.11/15 1} Nd6 {-1.89/17 2} 15. Rfe1 {1.81/17 2
(e5)} f5 {-2.09/16 2} 16. exf5 {2.02/16 1} Nxf5 {0.02/15 2} 17. Bc3 {2.02/16 2}
Rb5 {0.04/16 2} 18. Qa4 {1.86/18 2 (Ne5)} Rd5 {0.04/16 2} 19. Ne5 {1.99/18 3}
Nfe7 {0.03/16 2} 20. Bxd5 {2.16/18 3 (f4)} Qxd5 {-1.02/16 2} 21. Qb3 {2.17/19
1 (f4)} Nxe5 {-1.60/17 2} 22. dxe5 {2.09/21 2 (Rxe5)} Qf3 {-2.30/20 2} 23. Bd4
{1.94/20 1} b6 {-1.85/19 2} 24. Qxf3 {1.94/21 1} Rxf3 {-1.45/20 2} 25. Bb2 {
1.96/21 4} Rf8 {-2.29/20 2 (Nd5)} 26. Rd2 {1.96/20 1} Nd5 {-2.10/20 2} 27. a4 {
1.85/20 1 (f4)} c5 {-2.07/18 2} 28. Rc1 {1.75/20 3} Rf3 {-2.70/18 2 (Bb7)} 29.
h4 {1.88/18 1 (Kg2)} Ba6 {-2.60/20 2} 30. Kg2 {1.78/19 1} Rd3 {-3.10/19 2 (Rf8)
} 31. Rxd3 {2.17/18 1} Bxd3 {-2.42/19 2} 32. Kf3 {2.44/21 1} h5 {-3.77/18 2}
33. Bc3 {2.00/20 2} Kf7 {-3.38/22 2} 34. a3 {1.89/20 3 (Bxa5)} Kg6 {-3.24/22 2}
35. g4 {1.89/22 1} hxg4+ {-2.90/21 2} 36. Kxg4 {1.86/22 2} Be2+ {-3.05/20 2
(Bf5+)} 37. f3 {1.84/23 1} Kf7 {-1.30/19 2 (Bd1)} 38. Bd2 {2.44/22 1 (Kg5)} Kf8
{-1.62/20 2 (Bd3)} 39. Kg3 {2.44/22 1 (h5)} c4 {-1.70/20 2} 40. Bc3 {2.20/25 4
(h5)} g6 {-1.37/21 2 (Bd3)} 41. Kf2 {2.28/25 1} Bd3 {0.01/24 2} 42. Bd4 {
2.07/25 2 (Ke1)} Kg7 {0.03/24 2 (Ke7)} 43. Ke1 {2.48/22 1} Kg8 {0.02/25 2 (Kh6)
} 44. Kd2 {2.71/25 1} Kf7 {0.03/24 2 (Kf8)} 45. Rg1 {2.71/27 1 (Rh1)} Kf8 {
0.05/26 2 (Ke7)} 46. Rg5 {2.71/24 1 (Rc1)} Kg7 {0.05/25 2 (Kf7)} 47. Bc3 {
2.71/26 1 (Rg1)} Kf7 {0.05/25 2} 48. Bb2 {2.71/26 2 (Rg1)} Bb1 {0.05/23 2 (Kg7)
} 49. Bd4 {2.71/27 1 (h5)} Ba2 {0.01/23 1 (Bd3)} 50. Ba1 {2.71/25 1 (h5)} Bb3 {
0.05/26 1 (Bb1)} 51. Rg4 {2.71/27 2} Ba2 {0.05/31 1} 52. Bb2 {2.71/28 1 (Rg5)}
Bb3 {0.05/34 1} 53. Bc3 {2.71/27 1 (Ba1)} Nc7 {0.05/26 1 (Ne7)} 54. Bd4 {
2.57/26 2} Nd5 {0.05/33 1} 55. Bb2 {2.43/26 2 (Ba1)} Ne7 {0.05/28 1} 56. Bc3 {
1.98/26 7 (Bd4)} Nd5 {0.05/32 1} 57. Re4 {2.14/26 2 (Ba1)} Kg7 {0.05/24 1} 58.
Ba1 {1.84/26 5 (Rd4)} Kh6 {0.05/27 1 (Kf7)} 59. Rg4 {1.84/23 1} Kh7 {0.05/30 1
(Kh5)} 60. Rd4 {1.84/26 1} Kh6 {0.05/30 1 (Kg7)} 61. Re4 {1.84/25 1 (Rg4)} Ba2
{0.05/26 1 (Kh7)} 62. Rg4 {1.84/26 1} Bb3 {0.05/32 1} 63. Bc3 {1.84/27 1 (Re4)}
Kh5 {0.05/28 1} 64. Bb2 {1.84/27 1 (Rg5+)} Kh6 {0.05/32 1} 65. Re4 {1.84/26 2
(Bc3)} g5 {0.05/27 1 (Kh5)} 66. Ba1 {1.76/20 1 (hxg5+)} gxh4 {0.01/20 1} 67.
Rxh4+ {1.97/23 1} Kg7 {0.05/25 1 (Kg5)} 68. Rd4 {1.80/20 1 (Rg4+)} Kf8 {
0.05/24 1 (Kf7)} 69. Bb2 {1.80/22 1 (Rg4)} Kg7 {0.05/25 1 (Kf7)} 70. Bc3 {
1.80/22 1 (Ba1)} Kg6 {0.05/27 1} 71. Rg4+ {1.79/23 1} Kh5 {0.05/26 1 (Kf7)} 72.
Ba1 {2.03/19 1 (Bb2)} Kh6 {0.05/27 1} 73. Rg8 {2.51/21 3 (Rh4+)} Bxa4 {0.03/19
1} 74. Bd4 {2.31/22 1} Kh5 {0.05/20 1 (b5)} 75. Rc8 {2.17/20 1 (Rh8+)} Bb3 {
-0.80/19 1} 76. Rc6 {2.41/21 1} b5 {-2.94/17 1} 77. Ra6 {2.47/22 1 (Kc1)} b4 {
0.03/20 1} 78. Rxa5 {2.25/23 1} c3+ {0.05/21 1} 79. Ke1 {2.29/24 3 (Kd3)} Nf4 {
0.08/21 1} 80. axb4 {2.77/23 2} Nd3+ {0.07/21 1} 81. Ke2 {3.13/23 1} c2 {
0.07/21 1} 82. Be3 {2.98/24 1} Nxb4 {0.12/20 1} 83. Bc1 {3.14/25 2} Ba2 {
0.15/21 1 (Na2)} 84. Ra4 {3.91/23 1} Nd5 {0.18/24 1} 85. Kd2 {4.05/24 2} Bb1 {
0.24/22 1} 86. Ra6 {4.34/25 1} Kg5 {0.25/23 1} 87. Rxe6 {4.27/24 1} Kf5 {
0.29/22 1} 88. Re8 {4.44/23 1} Nc7 {0.33/20 1} 89. Rc8 {4.46/23 1} Ne6 {
0.38/20 1} 90. Bb2 {4.38/22 1} Ng5 {0.41/18 1 (Kf4)} 91. Rf8+ {5.64/17 1} Ke6 {
0.49/19 1} 92. f4 {5.83/18 1 (Rf6+)} Ne4+ {0.40/16 1} 93. Ke3 {5.87/18 4} Ng3 {
0.45/16 1} 94. Bc1 {6.03/15 1} Ba2 {0.49/16 1} 95. Rf6+ {6.46/16 1 (Kd3)} Kd5 {
0.51/15 1 (Kd7)} 96. e6 {7.24/17 1} Kc6 {0.64/15 1} 97. Ba3 {7.43/17 1 (Kd3)}
Bb1 {0.59/14 1 (Kc7)} 98. e7+ {7.87/18 1 (Rf8)} Kd7 {0.71/17 1} 99. Rd6+ {
7.88/19 1 (Kf3)} Kxe7 {0.69/18 1} 100. Rg6+ {9.77/21 2} Kf7 {0.74/18 1 (Kd7)}
101. Rxg3 {10.63/21 1} Ke6 {0.81/16 1} 102. Rg5 {10.97/21 1} Ba2 {0.91/17 1}
103. Bb2 {11.01/21 1} Bc4 {1.01/15 1 (Kd6)} 104. f5+ {11.41/18 1} Kd5 {1.02/17
1 (Kf7)} 105. Kd2 {13.04/18 1} Bb3 {1.07/16 1 (c1Q+)} 106. f6+ {13.17/18 1} Ke6
{1.09/16 1 (Ke4)} 107. Rg7 {13.28/20 1} Kf5 {10.59/21 1 (c1Q+)} 108. f7 {
13.30/18 1} Bxf7 {11.02/20 1} 109. Rxf7+ {13.65/18 2} Ke6 {11.07/18 1} 110.
Rf6+ {14.00/18 1} 1-0[/pgn]
Ktulu 9 vs zurichess
[pgn][Event "New Tournament"]
[Site "Microsoft"]
[Date "2017.05.09"]
[Round "6"]
[White "ktulu 9"]
[Black "zurichess luzern"]
[Result "0-1"]
[ECO "A88"]
[WhiteElo "2746"]
[Annotator "0.84;0.36"]
[PlyCount "78"]
[EventDate "2017.05.08"]
[SourceTitle "Fritz Engine Tournament"]
[Source "Norman"]
[TimeControl "60+1"]
{Intel(R) Core(TM) i5-5287U CPU @ 2.90GHz 2899 MHz W=11.4 plies; 2,318kN/s;
ShortLines.ctg B=15.0 plies; 1,473kN/s; ShortLines.ctg} 1. d4 {B 0} f5 {B 0} 2.
g3 {B 0} Nf6 {B 0} 3. Bg2 {B 0} g6 {B 0} 4. Nf3 {B 0} Bg7 {B 0} 5. O-O {B 0}
O-O {B 0} 6. c4 {B 0} d6 {B 0} 7. Nc3 {B 0} c6 {B 0} 8. Ng5 {0.84/11 2} h6 {
0.36/15 1} 9. Nf3 {0.84/12 3} g5 {0.61/14 3 (Be6)} 10. Qd3 {0.80/11 3 (d5)} Na6
{0.46/16 2} 11. a3 {0.76/11 2 (Bd2)} Be6 {0.33/15 2 (c5)} 12. b4 {0.84/11 2
(b3)} Nc7 {0.32/14 1 (Qb6)} 13. Bb2 {0.77/12 5} Qd7 {0.51/14 1} 14. e3 {
0.81/12 3 (a4)} Bf7 {0.25/14 3 (Ne4)} 15. Rfe1 {0.76/12 2 (Rad1)} Rad8 {
0.07/14 1 (b5)} 16. Rad1 {0.76/12 3 (a4)} Rc8 {0.16/14 1 (b5)} 17. Nd2 {
0.76/11 2 (h3)} Bg6 {0.24/13 1 (Rcd8)} 18. Nb3 {0.86/11 3 (Qe2)} b6 {-0.03/14
1 (g4)} 19. a4 {0.85/11 2 (Rc1)} d5 {-0.02/14 1} 20. c5 {0.71/11 2} Ne6 {
-0.09/14 1 (Rb8)} 21. cxb6 {1.21/11 2 (h3)} axb6 {-0.33/15 1} 22. a5 {0.98/11
2 (Ra1)} bxa5 {-0.27/16 2 (Qd6)} 23. bxa5 {1.33/12 3} Rb8 {0.08/15 1 (Kh7)} 24.
Na4 {1.36/11 1} g4 {0.19/15 2 (Ne4)} 25. Nb6 {1.47/11 1 (Nbc5)} Qe8 {-0.36/15
1 (Qd6)} 26. Rc1 {1.56/12 2 (Qc3)} f4 {0.24/16 1} 27. Qc3 {1.18/12 2} f3 {
0.00/17 2 (fxg3)} 28. Bf1 {1.42/13 3} Nd7 {0.00/17 1 (Nd8)} 29. Qb4 {1.41/12 2
(Qxc6)} Nd8 {-0.55/14 1} 30. h3 {1.32/12 4 (Red1)} h5 {-0.08/15 1} 31. Nc5 {
1.32/12 3 (Red1)} Nxc5 {-0.15/15 1} 32. Qxc5 {1.26/12 2} Rf7 {0.00/15 1 (e6)}
33. hxg4 {1.26/11 2 (Red1)} hxg4 {0.00/17 1} 34. Ba3 {1.26/11 2 (Qc3)} Bf8 {
-0.42/16 1 (e6)} 35. Qc3 {0.92/12 1 (a6)} Rh7 {-4.99/14 2 (e6)} 36. Nxd5 {
-2.03/10 5 (Nd7)} cxd5 {-10.39/15 2} 37. Bb5 {-6.59/10 3} Qxb5 {-10.66/17 2}
38. Qc5 {-7.08/12 2} Qb3 {-10.41/17 2 (Qxc5)} 39. Rc3 {-6.77/11 1 (a6)} Qa2 {
-13.27/15 1} 0-1[/pgn]
Definitely a strong, aggressive engine here.