Page 1 of 1

zurichess - new version release

Posted: Mon May 08, 2017 1:14 pm
by brtzsnr
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.

Re: zurichess - new version release

Posted: Mon May 08, 2017 3:15 pm
by BrendanJNorman
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.
Downloading now. Looking forward to seeing how he plays. ;)

Re: zurichess - new version release

Posted: Mon May 08, 2017 7:28 pm
by Graham Banks
Thanks Alexandru.
Will put into my Division 3 tournament shortly.

Re: zurichess - new version release

Posted: Tue May 09, 2017 3:09 am
by BrendanJNorman
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.

Re: zurichess - new version release

Posted: Tue May 09, 2017 7:44 pm
by Jamal Bubker
Thank you Alexandru for this new release !!

Nice improvement indeed 8-)