Senpai 2.0

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

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
Evert
Posts: 2898
Joined: Fri Jan 21, 2011 11:42 pm
Location: NL
Contact:

Re: Senpai 2.0

Post by Evert » Fri Nov 10, 2017 9:17 am

Xann wrote:
Evert wrote:I have a (private) version of Senpai 1.0 that plays Makruk; as I recall the changes were not too hard to make, so hopefully I can port those over easily.
More painful, I guess, but doable. However reusing eval parts would be more difficult with this version, maybe much more. The weights are probably very specific.

And (say) with your own eval, switching to version 2.0 doesn't make much sense.
Oh, I didn't tune the evaluation (apart from a few very specific things), I made it mainly to have a larger variety of opponents (and as a proof-of-concept that just modifying the move generator of a reasonably strong engine to play a different variant doesn't automatically give you a very strong engine without redoing the evaluation).
From what I remember, most of the work was converting from UCI to CECP (there is some de-facto standard for handling variants with UCI now, but there was nothing back then), which was pretty straightforward.

Michel
Posts: 1961
Joined: Sun Sep 28, 2008 11:50 pm

Re: Senpai 2.0

Post by Michel » Fri Nov 10, 2017 9:34 am

Thanks!
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.

Lion
Posts: 489
Joined: Fri Mar 31, 2006 11:26 am
Location: Switzerland

Re: Senpai 2.0

Post by Lion » Fri Nov 10, 2017 9:39 am

Welcome back!

Volker Pittlik
Posts: 594
Joined: Wed Mar 08, 2006 8:10 pm
Location: Murten / Morat, Switzerland

Re: Senpai 2.0

Post by Volker Pittlik » Fri Nov 10, 2017 12:43 pm

One of the longest non-draw games ever seen on my computers:

[pgn]
[Event "?"]
[Site "?"]
[Date "2017.11.10"]
[Round "2"]
[White "Senpai 2.0"]
[Black "Texel 1.07"]
[Result "1-0"]
[ECO "B10"]
[Opening "Caro-Kann defense"]
[PlyCount "562"]
[Termination "adjudication"]
[TimeControl "40/180"]

1. e4 {book} 1. ... c6 {book} 2. Nc3 {book} 2. ... d5 {book} 3. d3 {book}
3. ... e5 {book} 4. Nf3 {+0.24/18 2.3s} 4. ... Nf6 {+0.36/17 5.1s} 5. exd5
{+0.02/19 2.0s} 5. ... cxd5 {+0.49/18 5.0s} 6. d4 {-0.26/19 5.9s} 6. ...
e4 {+0.49/18 4.8s} 7. Ne5 {-0.39/18 4.4s} 7. ... a6 {+0.52/18 4.9s} 8. Be2
{-0.47/19 6.0s} 8. ... Bd6 {+0.51/17 4.2s} 9. Bg5 {-0.38/20 2.2s} 9. ...
Be6 {+0.57/17 4.2s} 10. f4 {-0.17/18 3.2s} 10. ... Nc6 {+0.51/16 4.9s} 11.
O-O {-0.22/17 1.6s} 11. ... Qb6 {+0.65/16 4.7s} 12. Nxc6 {-0.37/15 1.8s}
12. ... Qxc6 {+0.76/18 4.9s} 13. Bxf6 {-0.46/18 2.8s} 13. ... gxf6 {
+1.01/19 4.9s} 14. a3 {-0.46/20 5.6s} 14. ... f5 {+1.22/20 6.5s} 15. Qd2 {
-0.35/20 2.5s} 15. ... h5 {+1.11/19 5.9s} 16. h4 {-0.46/19 3.2s} 16. ...
Rc8 {+1.10/17 4.8s} 17. g3 {-0.39/19 2.2s} 17. ... Be7 {+1.05/19 4.8s} 18.
Qe3 {-0.39/20 2.6s} 18. ... Kf8 {+1.77/17 5.9s} 19. Rad1 {-0.41/19 3.6s}
19. ... Kg7 {+1.56/18 5.8s} 20. Ra1 {-0.41/21 2.4s} 20. ... Rh6 {+1.71/18
4.0s} 21. Rfd1 {-0.39/21 3.6s} 21. ... Bf6 {+1.56/17 5.8s} 22. Rd2 {
-0.32/18 2.6s} 22. ... Rch8 {+1.49/20 4.8s} 23. Kh2 {-0.20/18 6.2s}
23. ... Rg6 {+1.53/20 4.6s} 24. Re1 {-0.26/20 9.3s} 24. ... Kh6 {+1.49/18
4.2s} 25. Rdd1 {-0.25/20 4.3s} 25. ... Kg7 {+1.49/19 11s} 26. Rd2 {0.00/32
3.0s} 26. ... Bd8 {+1.49/19 4.5s} 27. Nd1 {-0.19/19 4.2s} 27. ... Kf8 {
+1.20/17 3.8s} 28. Bf1 {+0.10/21 8.9s} 28. ... Ke8 {+0.75/17 4.3s} 29. c3
{+0.11/21 2.6s} 29. ... Rhg8 {+1.04/18 5.1s} 30. Rg2 {0.00/24 3.5s}
30. ... Bf6 {+0.97/18 4.8s} 31. Kh3 {+0.19/20 4.3s} 31. ... Kd8 {+0.94/19
6.9s} 32. Be2 {+0.19/22 5.4s} 32. ... Rh8 {+0.89/18 3.7s} 33. Qd2 {
+0.17/23 3.3s} 33. ... Kc7 {+0.79/18 4.0s} 34. Ne3 {+0.09/25 4.5s} 34. ...
Kb8 {+0.66/17 3.8s} 35. Bd1 {+0.09/25 7.8s} 35. ... Qc7 {+0.87/18 7.1s}
36. Bb3 {+0.12/24 4.8s} 36. ... Qd6 {+0.83/18 3.1s} 37. Qe2 {+0.12/25 6.9s
} 37. ... Rhg8 {+0.83/18 3.1s} 38. Ba2 {+0.12/24 5.5s} 38. ... Qd8 {
+0.82/18 3.1s} 39. Qd1 {+0.12/26 8.6s} 39. ... Ka7 {+0.81/18 3.1s} 40. Qd2
{+0.12/26 8.5s} 40. ... Qb8 {+0.81/18 3.1s} 41. Rf1 {+0.12/23 3.8s}
41. ... Qd8 {+0.78/19 5.4s} 42. Bb3 {+0.12/24 3.5s} 42. ... Kb8 {+0.79/19
4.9s} 43. Qe2 {+0.12/25 5.5s} 43. ... Be7 {+0.78/19 4.9s} 44. Rb1 {
+0.12/24 2.5s} 44. ... Qe8 {+0.77/18 4.7s} 45. Re1 {+0.12/23 3.7s} 45. ...
Qd8 {+0.74/18 4.0s} 46. Rf1 {+0.12/24 3.1s} 46. ... Ka7 {+0.74/19 4.6s}
47. Rd1 {+0.12/24 3.8s} 47. ... Qd6 {+0.74/18 5.1s} 48. Rdg1 {+0.12/22
2.7s} 48. ... Rh8 {+0.74/17 4.4s} 49. Rf1 {+0.12/22 4.3s} 49. ... Rgg8 {
+0.79/17 5.4s} 50. Kh2 {+0.12/24 2.7s} 50. ... Bf6 {+0.72/18 4.4s} 51.
Rgg1 {+0.12/22 2.4s} 51. ... Qc6 {+0.70/16 4.9s} 52. Ra1 {+0.12/20 3.2s}
52. ... Rd8 {+0.71/17 4.4s} 53. Rge1 {+0.12/19 4.7s} 53. ... Qc7 {+0.73/17
4.9s} 54. Rf1 {+0.12/20 2.6s} 54. ... Rh6 {+0.73/17 3.9s} 55. Rf2 {
+0.12/21 2.5s} 55. ... Rg6 {+0.72/18 4.7s} 56. Rg1 {+0.12/23 2.7s} 56. ...
Rdg8 {+0.72/18 4.5s} 57. Kh3 {+0.12/21 2.2s} 57. ... Qd7 {+0.72/17 4.4s}
58. Rfg2 {+0.12/23 2.5s} 58. ... Be7 {+0.69/18 4.4s} 59. Kh2 {+0.12/23
3.3s} 59. ... Qd8 {+0.68/18 4.4s} 60. Qe1 {+0.12/24 2.4s} 60. ... Bf6 {
+0.68/18 7.1s} 61. Kh3 {+0.12/23 2.9s} 61. ... Qd6 {+0.71/17 4.2s} 62. Qe2
{+0.12/23 3.3s} 62. ... Bd8 {+0.69/18 4.5s} 63. Rf1 {+0.12/22 3.3s}
63. ... Bc7 {+0.68/19 4.2s} 64. Qxh5 {+0.67/20 4.4s} 64. ... Qd7 {+0.45/18
4.2s} 65. Qe2 {+0.75/21 7.7s} 65. ... Rh8 {+0.36/19 4.3s} 66. Kh2 {
+0.69/19 6.2s} 66. ... Bd8 {+0.32/18 10s} 67. Kh1 {+0.69/20 5.9s} 67. ...
Be7 {+0.32/17 5.9s} 68. Bd1 {+0.74/21 7.8s} 68. ... Rgg8 {+0.30/17 3.8s}
69. Rfg1 {+0.76/18 5.9s} 69. ... Rc8 {+0.36/17 3.6s} 70. h5 {+0.88/21 2.9s
} 70. ... Bf8 {+0.09/17 3.6s} 71. Rh2 {+0.90/23 4.0s} 71. ... Bh6 {
+0.11/19 5.1s} 72. Qg2 {+0.90/26 4.7s} 72. ... Qb5 {+0.16/16 4.4s} 73. Re1
{+0.90/22 3.7s} 73. ... Rcg8 {+0.13/17 4.1s} 74. Qh3 {+0.90/25 4.3s}
74. ... Rh7 {+0.40/17 3.2s} 75. Rd2 {+0.90/22 5.8s} 75. ... Qd7 {+0.38/18
3.2s} 76. Ree2 {+0.90/25 11s} 76. ... Bg7 {+0.44/17 3.8s} 77. Rf2 {
+0.89/22 11s} 77. ... Qc8 {+0.52/17 3.0s} 78. Rf1 {+0.89/26 6.2s} 78. ...
Bf6 {+0.42/17 4.4s} 79. Re1 {+0.89/27 8.3s} 79. ... Rhg7 {+0.43/17 2.5s}
80. Rg2 {+0.89/28 8.2s} 80. ... Qd7 {+0.41/17 2.6s} 81. Kg1 {+0.89/26 5.1s
} 81. ... Bd8 {+0.13/19 18s} 82. Kh2 {+0.89/24 2.8s} 82. ... Bc7 {+0.36/18
6.5s} 83. Kh1 {+0.89/21 2.7s} 83. ... f6 {+0.46/19 4.4s} 84. Qh4 {+0.94/20
2.6s} 84. ... Rh7 {+0.46/18 4.3s} 85. Kg1 {+0.92/22 7.7s} 85. ... Bd8 {
+0.46/19 4.2s} 86. Qh3 {+0.86/21 4.8s} 86. ... Rgh8 {+0.46/20 4.1s} 87.
Rh2 {+0.92/21 3.6s} 87. ... Be7 {+0.04/19 14s} 88. Kg2 {+0.92/21 2.4s}
88. ... Rg7 {+0.33/17 3.9s} 89. Kh1 {+0.92/23 2.8s} 89. ... Rhg8 {+0.26/16
3.8s} 90. Rg2 {+0.92/23 2.5s} 90. ... Bf8 {+0.25/17 3.9s} 91. Kg1 {
+0.92/20 3.0s} 91. ... Rh8 {0.00/17 3.9s} 92. Be2 {+0.92/23 4.1s} 92. ...
Rg6 {0.00/17 3.8s} 93. Qh4 {+0.92/22 2.5s} 93. ... Rgh6 {+0.38/18 9.0s}
94. Rf2 {+0.92/23 3.0s} 94. ... Bf7 {+0.46/17 3.6s} 95. Rh2 {+0.92/23 2.7s
} 95. ... Qe6 {+0.33/17 3.6s} 96. Rd1 {+0.92/21 2.6s} 96. ... Bg6 {
+0.16/15 3.4s} 97. Qh3 {+1.15/16 2.4s} 97. ... a5 {0.00/16 3.7s} 98. Rc1 {
+1.31/17 8.1s} 98. ... Be7 {-0.17/14 4.3s} 99. Rf1 {+1.28/17 6.9s} 99. ...
a4 {+0.19/15 3.1s} 100. Re1 {+1.15/18 8.2s} 100. ... Rg8 {0.00/16 3.6s}
101. Kf2 {+1.36/19 9.3s} 101. ... Rgh8 {-0.40/17 7.3s} 102. Reh1 {+1.59/18
3.0s} 102. ... Bf8 {-0.67/17 3.3s} 103. hxg6 {+2.61/22 2.3s} 103. ... Rxh3
{-1.52/21 6.2s} 104. Rxh3 {+2.52/24 2.8s} 104. ... Rxh3 {-1.36/22 3.2s}
105. Rxh3 {+2.66/25 3.9s} 105. ... Qg8 {-1.39/21 3.9s} 106. Rh5 {+2.57/25
3.6s} 106. ... Qxg6 {-1.19/22 3.2s} 107. Rxf5 {+2.33/25 3.9s} 107. ... Bd6
{-1.22/21 2.8s} 108. Rxd5 {+2.33/21 0.86s} 108. ... Bc7 {-0.91/19 3.1s}
109. Rh5 {+2.33/25 3.7s} 109. ... Kb8 {-1.05/19 2.9s} 110. Nd5 {+2.27/25
6.3s} 110. ... Bd6 {-1.07/20 3.2s} 111. Bd1 {+2.23/26 4.6s} 111. ... Ka7 {
-0.97/19 3.2s} 112. Ne3 {+2.18/24 5.1s} 112. ... Qe8 {-1.08/19 5.4s} 113.
Be2 {+2.43/25 11s} 113. ... Qf7 {-1.19/20 2.9s} 114. Ra5+ {+2.27/23 5.3s}
114. ... Kb8 {-1.21/20 4.7s} 115. Rf5 {+2.40/25 6.5s} 115. ... Qb3 {
-1.29/20 6.4s} 116. Rb5 {+2.42/25 5.3s} 116. ... Qg8 {-0.93/19 2.3s} 117.
Bc4 {+2.24/27 21s} 117. ... Qh7 {-0.83/18 1.5s} 118. Kg2 {+2.24/27 3.1s}
118. ... Bc7 {-0.83/19 1.6s} 119. Rf5 {+2.09/26 5.8s} 119. ... Ka7 {
-0.75/20 1.9s} 120. Be2 {+1.98/25 8.0s} 120. ... Qg6 {-0.85/20 1.9s} 121.
Bd1 {+1.99/25 13s} 121. ... Qf7 {-0.75/19 6.1s} 122. Rd5 {+1.81/27 17s}
122. ... Qg8 {-0.46/20 5.0s} 123. Kf2 {+1.98/28 6.7s} 123. ... Kb8 {
-0.87/21 11s} 124. Rb5 {+1.72/27 28s} 124. ... Qh7 {-0.71/21 5.5s} 125.
Kg2 {+1.78/26 3.7s} 125. ... Qg7 {-0.72/21 4.3s} 126. Nd5 {+1.78/23 3.3s}
126. ... Qf7 {-0.67/19 6.8s} 127. Be2 {+1.88/23 4.9s} 127. ... Qg6 {
0.00/20 4.0s} 128. Nxc7 {+1.17/22 6.9s} 128. ... Kxc7 {-0.11/19 4.1s} 129.
Ra5 {+1.03/24 6.9s} 129. ... e3 {0.00/21 4.1s} 130. Rc5+ {+0.49/29 45s}
130. ... Kd6 {0.00/22 4.1s} 131. f5 {+0.71/23 2.1s} 131. ... Qh7 {0.00/23
4.1s} 132. Bf3 {+1.40/23 2.1s} 132. ... Qf7 {+0.53/20 3.8s} 133. c4 {
0.00/22 3.2s} 133. ... Qe8 {+0.41/20 3.7s} 134. Kf1 {0.00/24 1.9s}
134. ... e2+ {+0.45/19 4.3s} 135. Bxe2 {0.00/24 1.3s} 135. ... Qe3 {
+0.32/20 3.9s} 136. Rb5 {0.00/26 2.0s} 136. ... Qxg3 {+0.32/19 4.2s} 137.
Rxb7 {0.00/26 1.9s} 137. ... Qf4+ {+0.31/19 4.0s} 138. Ke1 {0.00/27 1.3s}
138. ... Qxd4 {+0.31/20 4.2s} 139. Rb5 {0.00/28 1.4s} 139. ... Ke7 {
+0.20/18 4.2s} 140. Rb8 {0.00/23 1.1s} 140. ... Qg1+ {+0.52/19 4.2s} 141.
Kd2 {0.00/23 0.93s} 141. ... Qg5+ {+0.52/19 4.3s} 142. Kc2 {0.00/24 1.1s}
142. ... Qxf5+ {+0.54/20 4.2s} 143. Bd3 {0.00/27 1.1s} 143. ... Qf2+ {
+0.54/20 5.1s} 144. Kc3 {0.00/26 0.82s} 144. ... Qg1 {+0.54/20 4.1s} 145.
Rb5 {0.00/25 1.1s} 145. ... Qc1+ {+0.42/20 6.2s} 146. Kd4 {0.00/27 1.5s}
146. ... Qd1 {+0.42/17 7.6s} 147. c5 {0.00/22 1.1s} 147. ... f5 {+0.64/16
3.8s} 148. Rb4 {0.00/19 0.85s} 148. ... f4 {+1.18/15 3.3s} 149. Rb7+ {
-0.27/19 2.6s} 149. ... Ke6 {+1.53/16 3.8s} 150. Rb6+ {-0.55/17 0.93s}
150. ... Kd7 {+1.59/16 3.8s} 151. Ke4 {-0.90/18 5.4s} 151. ... Qc1 {
+1.73/15 3.8s} 152. Bb5+ {-0.53/16 0.79s} 152. ... Ke7 {+1.82/15 3.3s}
153. Rb7+ {-0.67/18 0.76s} 153. ... Kf6 {+1.84/17 3.8s} 154. Rb6+ {
-0.55/16 1.3s} 154. ... Kg5 {+1.85/17 6.2s} 155. Ba6 {-0.94/19 2.3s}
155. ... Qh1+ {+1.85/16 6.1s} 156. Ke5 {-0.80/18 1.3s} 156. ... f3 {
+1.94/17 4.3s} 157. Kd6 {-1.39/18 1.9s} 157. ... f2 {+1.85/16 2.5s} 158.
Kc7 {-1.39/19 0.66s} 158. ... Qa8 {+1.38/14 2.6s} 159. Bf1 {-0.78/17 0.56s
} 159. ... Qa7+ {+1.50/16 3.1s} 160. Kd6 {-0.65/19 0.77s} 160. ... Kf6 {
+1.34/16 2.0s} 161. Kd5+ {-0.98/24 19s} 161. ... Ke7 {+1.53/17 4.7s} 162.
Re6+ {-0.70/23 10s} 162. ... Kf7 {+1.53/18 5.0s} 163. Re2 {-0.74/24 7.4s}
163. ... Qd7+ {+1.53/19 5.2s} 164. Ke5 {-0.74/23 6.2s} 164. ... Qc7+ {
+1.53/18 4.5s} 165. Ke4 {-0.84/25 5.8s} 165. ... Qg3 {+1.54/18 4.8s} 166.
c6 {-0.62/22 12s} 166. ... Ke6 {+1.43/17 4.5s} 167. Rd2 {-0.62/23 4.1s}
167. ... Qg4+ {+1.40/18 4.5s} 168. Ke3 {-0.33/20 4.2s} 168. ... Qg5+ {
+1.40/18 4.5s} 169. Ke2 {-0.34/20 5.5s} 169. ... Qc5 {+1.25/18 14s} 170.
Kd1 {-0.14/22 5.2s} 170. ... Qh5+ {+1.31/18 4.4s} 171. Kc1 {0.00/25 3.9s}
171. ... Qa5 {+1.14/18 11s} 172. Bh3+ {0.00/26 3.3s} 172. ... Ke7 {
+1.02/18 3.9s} 173. Bf1 {-0.14/22 3.6s} 173. ... Ke8 {+0.97/18 3.7s} 174.
Kd1 {-0.23/23 4.3s} 174. ... Qh5+ {+1.15/19 3.9s} 175. Kc1 {-0.25/27 3.7s}
175. ... Qh2 {+1.12/18 3.9s} 176. Kd1 {-0.25/26 4.0s} 176. ... Qg1 {
+1.20/17 3.6s} 177. Ke2 {-0.24/25 3.8s} 177. ... Qg3 {+1.05/17 4.0s} 178.
Rd3 {-0.21/21 2.6s} 178. ... Qb8 {+1.05/17 4.0s} 179. Rd2 {-0.21/23 3.5s}
179. ... Qf4 {+1.00/17 3.5s} 180. Bg2 {-0.22/23 3.3s} 180. ... Ke7 {
+1.00/17 4.6s} 181. c7 {-0.18/22 2.5s} 181. ... Qxc7 {+1.01/17 3.9s} 182.
Kxf2 {-0.14/21 2.4s} 182. ... Qb6+ {+0.96/17 3.9s} 183. Ke2 {-0.15/22 2.5s
} 183. ... Kf6 {+0.83/16 3.8s} 184. Kd1 {0.00/25 2.0s} 184. ... Qb3+ {
+0.76/17 3.9s} 185. Kc1 {0.00/28 2.7s} 185. ... Qc4+ {+0.68/15 4.8s} 186.
Kb1 {+0.16/23 4.1s} 186. ... Qf4 {+0.63/17 3.8s} 187. Rc2 {+0.24/24 2.0s}
187. ... Ke5 {+0.26/15 3.7s} 188. Rc5+ {+0.09/25 4.1s} 188. ... Ke6 {
+0.26/17 3.8s} 189. Rc3 {+0.29/26 2.3s} 189. ... Qf5+ {+0.26/17 3.8s} 190.
Ka1 {+0.36/24 2.0s} 190. ... Kd6 {+0.26/16 4.1s} 191. Bf3 {+0.29/27 2.8s}
191. ... Qe5 {+0.15/18 3.8s} 192. Bd1 {+0.30/27 2.4s} 192. ... Qe1 {
+0.08/16 3.8s} 193. Rc1 {+0.29/30 2.9s} 193. ... Ke5 {+0.08/17 3.6s} 194.
Kb1 {+0.33/26 3.0s} 194. ... Qa5 {+0.08/18 3.8s} 195. Bc2 {+0.37/24 3.9s}
195. ... Kf4 {0.00/18 3.9s} 196. Rh1 {+0.57/22 3.1s} 196. ... Kf3 {0.00/18
3.8s} 197. Rd1 {+0.38/24 3.9s} 197. ... Qa7 {0.00/18 3.9s} 198. Ka1 {
+0.33/25 4.4s} 198. ... Qc7 {0.00/17 3.5s} 199. Bxa4 {+1.99/22 4.8s}
199. ... Qc4 {0.00/16 3.4s} 200. Be8 {+2.12/21 3.3s} 200. ... Ke2 {0.00/18
4.5s} 201. Bh5+ {+2.25/22 7.4s} 201. ... Ke3 {-0.28/18 5.1s} 202. Bg6 {
+2.35/25 8.7s} 202. ... Qe2 {-0.35/16 5.0s} 203. Rd8 {+2.35/19 6.5s}
203. ... Kf2 {-0.39/17 4.9s} 204. Rf8+ {+2.52/25 7.9s} 204. ... Kg3 {
-0.42/18 4.7s} 205. Rc8 {+2.35/22 12s} 205. ... Qe1+ {-0.48/16 4.4s} 206.
Bb1 {+2.47/24 7.0s} 206. ... Kf2 {-0.59/15 5.1s} 207. Rf8+ {+2.46/20 5.5s}
207. ... Kg2 {-0.60/17 4.2s} 208. Rd8 {+2.50/20 6.3s} 208. ... Qh4 {
-0.57/17 4.4s} 209. Rd2+ {+2.57/20 7.7s} 209. ... Kg3 {-0.71/16 5.9s} 210.
Rd3+ {+2.61/21 7.4s} 210. ... Kg2 {-0.66/17 8.4s} 211. Bc2 {+2.76/19 5.3s
} 211. ... Qc4 {-0.65/18 4.3s} 212. Rc3 {+2.86/19 4.1s} 212. ... Qd4 {
-0.76/17 4.4s} 213. Bb3 {+2.91/24 4.6s} 213. ... Kf1 {-0.82/18 4.3s} 214.
a4 {+2.91/24 4.8s} 214. ... Qb6 {-0.83/16 3.7s} 215. Rc1+ {+2.91/24 3.1s}
215. ... Kf2 {-0.83/17 4.3s} 216. Ka2 {+2.91/26 5.5s} 216. ... Qf6 {
-0.87/16 4.3s} 217. Rc5 {+2.91/23 5.8s} 217. ... Qd4 {-0.89/17 4.3s} 218.
Rf5+ {+2.94/24 3.7s} 218. ... Ke3 {-1.08/17 6.4s} 219. a5 {+2.95/25 4.8s}
219. ... Qd6 {-1.29/16 5.3s} 220. Rd5 {+3.14/21 5.8s} 220. ... Qc6 {
-0.91/18 4.1s} 221. Ka3 {+2.94/23 2.9s} 221. ... Qc8 {-1.08/16 9.1s} 222.
Ba4 {+3.35/21 3.0s} 222. ... Ke4 {-1.03/15 4.0s} 223. Rd1 {+3.47/21 2.3s}
223. ... Qh3+ {-1.00/16 3.6s} 224. Bb3 {+3.48/21 2.4s} 224. ... Qc8 {
-1.05/15 3.9s} 225. Bd5+ {+3.48/21 1.7s} 225. ... Kf4 {-1.16/14 3.5s} 226.
b4 {+3.51/21 1.8s} 226. ... Qc3+ {-1.17/16 3.4s} 227. Ka4 {+3.51/22 2.9s}
227. ... Qc2+ {-1.28/17 3.9s} 228. Bb3 {+3.51/23 1.5s} 228. ... Qc6+ {
-1.30/16 3.4s} 229. Ka3 {+3.51/25 2.7s} 229. ... Qc3 {-1.30/16 4.0s} 230.
Rf1+ {+3.34/22 7.6s} 230. ... Kg3 {-1.22/16 3.9s} 231. Rg1+ {+3.34/22 2.4s
} 231. ... Kf3 {-1.30/17 4.0s} 232. Rb1 {+3.41/24 2.0s} 232. ... Kg3 {
-1.63/17 14s} 233. Rf1 {+3.39/23 2.1s} 233. ... Kg4 {-1.26/16 5.0s} 234.
Rh1 {+3.34/24 3.8s} 234. ... Kg3 {-1.30/16 2.3s} 235. Rb1 {+3.34/24 2.2s}
235. ... Kf3 {-1.35/16 2.4s} 236. Rb2 {+3.34/22 3.7s} 236. ... Ke3 {
-1.39/16 2.4s} 237. Rc2 {+3.63/23 2.6s} 237. ... Qa1+ {-1.52/16 2.3s} 238.
Ba2 {+3.61/25 2.7s} 238. ... Qf6 {-1.39/15 2.5s} 239. Rc4 {+3.67/24 3.6s}
239. ... Qe5 {-1.52/15 2.4s} 240. Rc1 {+3.87/23 3.1s} 240. ... Kd2 {
-1.52/15 2.4s} 241. Rc6 {+3.71/24 7.0s} 241. ... Qb5 {-1.76/15 6.0s} 242.
Rc4 {+3.56/24 9.0s} 242. ... Ke3 {-1.77/16 5.0s} 243. Bb3 {+3.90/24 5.7s}
243. ... Qe5 {-1.73/16 4.8s} 244. Bc2 {+3.90/22 6.1s} 244. ... Qf6 {
-1.78/15 16s} 245. Kb3 {+4.02/23 10s} 245. ... Kf2 {-1.71/15 7.3s} 246.
Be4 {+3.76/24 19s} 246. ... Qa1 {-1.54/15 4.0s} 247. Bf5 {+3.76/23 9.4s}
247. ... Qh1 {-1.39/14 4.0s} 248. Bc2 {+3.76/21 4.1s} 248. ... Qe1 {
-1.56/15 4.0s} 249. Rc5 {+3.91/22 6.1s} 249. ... Qe7 {-1.38/15 5.3s} 250.
Bd3 {+3.88/20 4.2s} 250. ... Qe6+ {-1.85/15 4.0s} 251. Ka3 {+4.70/20 5.8s}
251. ... Qd6 {-1.87/15 4.0s} 252. Bc4 {+4.94/20 3.5s} 252. ... Qd1 {
-2.07/15 4.0s} 253. a6 {+4.92/20 3.6s} 253. ... Ke3 {-2.14/15 4.0s} 254.
Re5+ {+4.81/20 3.2s} 254. ... Kf4 {-2.11/17 4.0s} 255. Rd5 {+4.81/22 4.6s}
255. ... Qc2 {-2.11/16 4.0s} 256. Bb3 {+4.82/21 3.4s} 256. ... Qc1+ {
-1.99/16 3.5s} 257. Ka4 {+4.84/21 3.0s} 257. ... Qa1+ {-2.15/16 7.0s} 258.
Kb5 {+4.86/22 3.7s} 258. ... Qg7 {-2.29/15 4.6s} 259. Rc5 {+4.89/22 3.9s}
259. ... Qd7+ {-2.27/16 3.8s} 260. Rc6 {+4.85/23 3.0s} 260. ... Ke3 {
-2.15/16 3.8s} 261. Be6 {+4.89/23 3.9s} 261. ... Qe7 {-2.19/15 4.3s} 262.
Ka4 {+4.87/21 3.0s} 262. ... Qf6 {-2.35/13 3.8s} 263. Bd5 {+4.82/21 2.9s}
263. ... Qd8 {-2.20/16 3.8s} 264. Rc5 {+4.88/21 2.2s} 264. ... Qd7+ {
-2.11/17 3.8s} 265. Bc6 {+5.01/22 3.0s} 265. ... Qd3 {-2.13/14 3.4s} 266.
Ka5 {+4.98/22 1.9s} 266. ... Qd8+ {-2.28/17 3.8s} 267. Kb5 {+5.06/24 2.6s}
267. ... Qb8+ {-2.43/17 13s} 268. Bb7 {+4.91/22 3.0s} 268. ... Qe8+ {
-2.47/14 4.5s} 269. Kc4 {+5.52/16 2.3s} 269. ... Qa4 {-2.32/14 3.0s} 270.
Rd5 {+5.93/17 2.1s} 270. ... Kf4 {-2.25/14 3.0s} 271. Kc5 {+6.10/17 2.1s}
271. ... Qc2+ {-2.53/14 3.2s} 272. Kd6 {+6.10/21 3.0s} 272. ... Qf2 {
-2.89/12 3.9s} 273. b5 {+6.05/20 2.8s} 273. ... Kg3 {-3.04/13 5.9s} 274.
Ke6 {+6.25/20 3.4s} 274. ... Kg4 {-3.33/13 5.3s} 275. Bc6 {+7.48/18 7.3s}
275. ... Qa7 {-3.58/14 1.9s} 276. Rd8 {+7.50/18 3.9s} 276. ... Kf4 {
-3.41/11 1.8s} 277. Kd6 {+10.99/14 2.6s} 277. ... Qg7 {-8.86/11 1.9s} 278.
b6 {+15.43/13 3.0s} 278. ... Kf5 {-13.82/11 4.0s} 279. a7 {+20.92/11 3.9s
} 279. ... Kf6 {-15.01/10 2.0s} 280. a8=Q {+21.83/14 3.7s} 280. ... Qg3+ {
-15.72/8 0.099s} 281. Kd7 {+M27/13 9.1s} 281. ... Qg7+ {-M36/11 5.1s,
White wins by adjudication} 1-0
[/pgn]

Volker

P.S. I had problems to post this games with my original "Site" and "Event" tags. After replacing them with "?" it works fine.

User avatar
lucasart
Posts: 2957
Joined: Mon May 31, 2010 11:29 am
Contact:

Re: Senpai 2.0

Post by lucasart » Fri Nov 10, 2017 1:02 pm

Xann wrote:Hi all,

After a few years in computer draughts, I am back to chess for a little while. I see too many draws at top level, and am afraid that it will be too late in a couple of years. Big hardware and large opening books are also not helping IMO.

So I'm here to announce Senpai 2.0. The code looks all different because I started from my draughts program, but it's actually still Senpai inside. I prefer having a consistent codebase for multiple games (also Shogi and Othello).

As a rewrite it's hard to list changes, but here is an attempt:
- Chess960 is baked in, not an add-on; Senpai 2 plays chess only as a special case!
- search: restricted singular extensions
- search: additional reduction/pruning of "losing" moves (SEE < 0)
- eval: tempo bonus (it seems I forgot in 1.0 ...)
- eval: "space" (glorified pawn-chain PST); this changes playing style a lot
- eval: scoring by logistic regression; this gives me more freedom for eval features
- board: copy/make (customary in games with fewer piece types than chess)
- board: optional PEXT bitboards (BMI2)

As I recall, no single change brought more than 10 Elo. So it's more a sum of small (IMO) things.

This release has been rushed a little, so it's still lacking UCI options and multi-PV; sorry about that.

Official website: http://www.amateurschach.de/main/_senpai.htm
Direct link: http://www.amateurschach.de/download/senpai_20.zip
Expected level: Texel/Protector (again)

Thanks to everybody who helped with this release:
- Graham Banks
- Michael Byrne
- Wilhelm Hudetz
- Daniel Jose
- Steve Maughan (https://www.chessprogramming.net)
- Frank Quisinsky (http://www.amateurschach.de)
- XXX (<- this line for people I forgot, sorry in advance).

That's all for now,

Fabien.
Nice work.

I haven't really looked at the code, just tried to compile it.

What I can say regarding compilation is:
* indeed gcc is significantly slower than clang, which is very unusual (normally it's the other way around). I discovered a gcc bug recently, perhaps it's the same. Try using 'static const' instead of 'const' where you have compile time constant (eg. eval weights or material values in SEE, anything on the 'hot path' of the program). Perhaps that will fix the gcc perf issue.
* Use O3 instead of O2 in the Makefile. It's measurably faster (with clang or gcc).
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.

User avatar
Guenther
Posts: 2276
Joined: Wed Oct 01, 2008 4:33 am
Location: Regensburg, Germany
Contact:

Re: Senpai 2.0

Post by Guenther » Fri Nov 10, 2017 1:08 pm

Guenther wrote:
Xann wrote:Hi all,

After a few years in computer draughts, I am back to chess for a little while. I see too many draws at top level, and am afraid that it will be too late in a couple of years. Big hardware and large opening books are also not helping IMO.

So I'm here to announce Senpai 2.0.

...

Fabien.
Thanks a lot Fabien and all who helped with this release!

Guenther
Oops, now I realized I cannot even use it :(
Any chance for a non popcount build for older 64 bit hardware?
Guenther Simon
http://rwbc-chess.de/

Xann
Posts: 125
Joined: Sat Jan 22, 2011 6:14 pm
Location: Lille, France

Re: Senpai 2.0

Post by Xann » Fri Nov 10, 2017 1:44 pm

Guenther wrote:Oops, now I realized I cannot even use it :(
Any chance for a non popcount build for older 64 bit hardware?
Yes, when someone builds one.

tomitank
Posts: 170
Joined: Sat Mar 04, 2017 11:24 am
Location: Hungary

Re: Senpai 2.0

Post by tomitank » Fri Nov 10, 2017 2:05 pm

Thank you very much and Congratulations!

-Tamas

BrendanJNorman
Posts: 977
Joined: Sun Feb 07, 2016 11:43 pm

Re: Senpai 2.0

Post by BrendanJNorman » Fri Nov 10, 2017 2:47 pm

Xann wrote:Hi all,

After a few years in computer draughts, I am back to chess for a little while. I see too many draws at top level, and am afraid that it will be too late in a couple of years. Big hardware and large opening books are also not helping IMO.

So I'm here to announce Senpai 2.0. The code looks all different because I started from my draughts program, but it's actually still Senpai inside. I prefer having a consistent codebase for multiple games (also Shogi and Othello).

As a rewrite it's hard to list changes, but here is an attempt:
- Chess960 is baked in, not an add-on; Senpai 2 plays chess only as a special case!
- search: restricted singular extensions
- search: additional reduction/pruning of "losing" moves (SEE < 0)
- eval: tempo bonus (it seems I forgot in 1.0 ...)
- eval: "space" (glorified pawn-chain PST); this changes playing style a lot
- eval: scoring by logistic regression; this gives me more freedom for eval features
- board: copy/make (customary in games with fewer piece types than chess)
- board: optional PEXT bitboards (BMI2)

As I recall, no single change brought more than 10 Elo. So it's more a sum of small (IMO) things.

This release has been rushed a little, so it's still lacking UCI options and multi-PV; sorry about that.

Official website: http://www.amateurschach.de/main/_senpai.htm
Direct link: http://www.amateurschach.de/download/senpai_20.zip
Expected level: Texel/Protector (again)

Thanks to everybody who helped with this release:
- Graham Banks
- Michael Byrne
- Wilhelm Hudetz
- Daniel Jose
- Steve Maughan (https://www.chessprogramming.net)
- Frank Quisinsky (http://www.amateurschach.de)
- XXX (<- this line for people I forgot, sorry in advance).

That's all for now,

Fabien.
Here are some early results from my current tournament.

First, a breathtaking win by Rodent III Shirov as he again sets the board on fire.

Senpai 2.0 vs Rodent III Shirov

[pgn][Event "GrandMasters Blitz (SlverSuite)"]
[Site "BRENDANNORMD8A2"]
[Date "2017.11.10"]
[Round "1"]
[White "Senpai 2.0"]
[Black "Rodent III Shirov"]
[Result "0-1"]
[ECO "D05"]
[WhiteElo "2200"]
[BlackElo "2200"]
[PlyCount "92"]
[EventDate "2017.??.??"]

1. Nf3 Nf6 2. d4 d5 3. e3 e6 4. c3 c5 5. Bd3 Bd6 6. dxc5 Bxc5 7. O-O O-O 8.
Nbd2 Qc7 9. e4 Nc6 10. h3 Bd7 11. Re1 Qg3 12. Qe2 Ne5 13. Kh1 Bxf2 14. Nf1 Nxf3
15. Nxg3 Nxe1 16. e5 Nxd3 17. exf6 Bxg3 18. Qxd3 Be5 19. fxg7 Bxg7 20. Qg3 Kh8
21. Be3 e5 22. Qh4 Bc6 23. Bc5 Rg8 24. Qh5 d4 25. Qxf7 d3 26. Kg1 Rgd8 27. Rf1
e4 28. Qf4 Rd5 29. Bxa7 Rf8 30. Qc7 d2 31. Rd1 Rd3 32. Bc5 Re8 33. Kf2 e3+ 34.
Ke2 Rxc3 35. Qxc6 bxc6 36. bxc3 Bxc3 37. Bb6 Bb4 38. a4 c5 39. Rb1 Re6 40. Bc7
Bc3 41. a5 c4 42. Bb6 Bf6 43. Bxe3 Bd4 44. Kxd2 Rxe3 45. Rb8+ Kg7 46. Rb7+ Kf6
0-1[/pgn]

and second, a smooth win by Senpai vs Deep Gandalf 7.

The game essentially goes like this...

1. Senpai gets a typical Catalan space advantage
2. Senpai provokes a weakness on the black kingside (dark squares)
3. Senpai opens the h-file via h2-h4-h5xg6
4. Senpai plays a very human-like Kg2/Rh1 idea
5. Senpai breaks through on the h-file.

Great to have another strong human-like engine around 2900-3000.

A match against Gaviota or Wasp will be very interesting soon for me.

Senpai 2.0 vs Deep Gandalf 7

[pgn][Event "GrandMasters Blitz (SlverSuite)"]
[Site "BRENDANNORMD8A2"]
[Date "2017.11.10"]
[Round "1"]
[White "Senpai 2.0"]
[Black "Deep Gandalf 7"]
[Result "1-0"]
[ECO "E09"]
[WhiteElo "2200"]
[BlackElo "2200"]
[PlyCount "81"]
[EventDate "2017.??.??"]

1. d4 Nf6 2. c4 e6 3. Nf3 d5 4. g3 Be7 5. Bg2 O-O 6. O-O c6 7. Qc2 Nbd7 8. Nbd2
b5 9. c5 a5 10. e4 dxe4 11. Nxe4 Nxe4 12. Qxe4 Bb7 13. Qc2 Nf6 14. Bd2 a4 15.
a3 Qc8 16. Rfe1 Rd8 17. Rad1 Qd7 18. Ne5 Qe8 19. Bg5 Nd5 20. Bxe7 Qxe7 21. Be4
g6 22. Qd3 Kg7 23. Qd2 Rab8 24. Bf3 Kg8 25. Ng4 Kh8 26. h4 Rbc8 27. Ne5 Kg8 28.
h5 Qf6 29. hxg6 hxg6 30. Kg2 Qg7 31. Rh1 Ne7 32. Qf4 Nf5 33. Rh2 g5 34. Qe4 Rc7
35. Rh5 Kf8 36. Bg4 Rd5 37. Bxf5 exf5 38. Qe2 Re7 39. Rdh1 Rexe5 40. dxe5 Qxe5
41. Rh8+ 1-0[/pgn]

Thanks again Fabian, a very interesting engine you've given us.
Check my site for engine reviews and other chess stuff :)

www.chessncognac.com

User avatar
Marek Soszynski
Posts: 499
Joined: Wed May 10, 2006 5:28 pm
Location: Birmingham, England

Re: Senpai 2.0

Post by Marek Soszynski » Fri Nov 10, 2017 3:35 pm

Xann wrote:
Guenther wrote:Oops, now I realized I cannot even use it :(
Any chance for a non popcount build for older 64 bit hardware?
Yes, when someone builds one.
Thanks for the engine, Fabien. I require a non-PC compile too.
Marek Soszynski

Post Reply