bsamseth / Goldfish

Goldfish - Stockfish's very distant and not so bright cousin - a UCI chess engine
MIT License
7 stars 2 forks source link

Move limit at 128? #48

Closed SzotsGabor closed 1 month ago

SzotsGabor commented 2 months ago

In my test tournament v2.1.0 always exceeds time at move 129.

bsamseth commented 2 months ago

I've (attempted to) re-fix repetition checks, which I had done in a very poor way. This had a bug that triggered at 128. As of version 2.1.1 this limit is no longer there. I believe that was the only place where a 128 limit is in place, so I hope that 2.1.1 also fixes this particular issue. However, I won't close this issue until that's been confirmed.

bsamseth commented 2 months ago

At the very least, I've now seen v2.1.1 play this game against a reduced-skill variant of Stockfish:

[Event "?"]
[Site "?"]
[Date "2024.09.21"]
[Round "58"]
[White "Stockfish 14.1 (S7)"]
[Black "Goldfish v2.1.1"]
[Result "1/2-1/2"]

1. d4 Nf6 2. c4 e6 3. g3 d5 4. Nf3 Bb4+ 5. Bd2 Be7 6. Bg2 c6 7. Qb3 O-O 8. Bc3
dxc4 9. Qa4 b5 10. Qa5 Qb6 11. Ne5 b4 12. Qxb6 axb6 13. Bd2 c3 14. Bc1 c2
15. Nd2 Ba6 16. Nec4 Bxc4 17. Nxc4 b5 18. Nd2 h6 19. Nb3 Nbd7 20. Kd2 Rac8
21. Kxc2 Nb6 22. Rd1 Rfd8 23. h3 Nc4 24. Bf3 c5 25. dxc5 Rxd1 26. Kxd1 Bxc5
27. Bb7 Rd8+ 28. Ke1 Bb6 29. e3 Nd6 30. Bf3 e5 31. Nd2 e4 32. Bg2 Re8 33. a4
bxa4 34. Rxa4 Nd5 35. Ra1 h5 36. b3 g6 37. Bf1 Bc5 38. Nc4 Nxc4 39. Bxc4 Nb6
40. Bf1 Rd8 41. g4 hxg4 42. Ra5 Bd6 43. hxg4 Nd7 44. Bb2 Nc5 45. Ra7 Bb8 46. Ra8
Nxb3 47. Be5 Bc7 48. Rxd8+ Bxd8 49. Kd1 Na5 50. Bb5 b3 51. Kc1 Bh4 52. Kd2 Bxf2
53. Bd4 Bg3 54. Bf6 Bd6 55. Bc3 Bc7 56. Kc1 Bb6 57. Kb2 Nb7 58. Kxb3 Bxe3
59. Kc2 Nd6 60. Ba6 Bf4 61. Bb4 Ne8 62. Bc5 Nf6 63. Be2 Nd7 64. Bd4 Ne5 65. Kc3
Kg7 66. Bxe5+ Bxe5+ 67. Kc4 Bf4 68. Bd1 e3 69. Kd3 g5 70. Kd4 Kf6 71. Kd3 Ke5
72. Ke2 f6 73. Bc2 Kd4 74. Ba4 Bd6 75. Bb3 Ke4 76. Bf7 Bc5 77. Be6 Kf4 78. Bc8
Kg3 79. Bf5 Bd4 80. Be6 Bb6 81. Bc8 Bc5 82. Be6 Bd4 83. Bd7 Kf4 84. Bc8 Bc3
85. Bd7 Bb4 86. Be6 Bd6 87. Bc8 Bc5 88. Bf5 Bb4 89. Bd7 Bd6 90. Be6 Bb4 91. Bd7
Bc5 92. Bf5 Bd4 93. Be6 Kg3 94. Bd7 Bb6 95. Bc8 Kf4 96. Be6 Bd4 97. Bd7 Ke4
98. Ba4 Kf4 99. Bd7 Bb6 100. Bc8 Bc7 101. Bd7 Bd6 102. Bc8 Ba3 103. Bd7 Bb4
104. Bf5 Bc3 105. Bd7 Bd4 106. Bf5 Bb2 107. Bc8 Be5 108. Bf5 Bb2 109. Bc8 Ba1
110. Be6 Be5 111. Bc8 Bb8 112. Bd7 Ba7 113. Be6 Kg3 114. Bd7 Kf4 115. Be6 Kg3
116. Bc8 Bb6 117. Be6 Kf4 118. Bf5 Bc7 119. Bd7 f5 120. gxf5 Be5 121. f6 Bxf6
122. Bc6 g4 123. Bd7 g3 124. Kf1 Bd4 125. Bc6 Bc3 126. Ba8 Bb4 127. Bb7 Bd6
128. Bc8 Ke4 129. Bb7+ Kd3 130. Ba6+ Kd2 131. Bb5 Bf4 132. Bc4 Kc3 133. Ba6 Kd2
134. Bc4 Be5 135. Bb5 Bc7 136. Bc4 Bd6 137. Ba6 Be5 138. Bb5 Bd6 139. Bc4 Bf4
140. Ba6 Bd6 141. Bb5 Bb8 142. Bc4 Kc3 143. Bd5 Kd3 144. Bf3 Kd2 145. Bg4 Bd6
146. Bf3 Be5 147. Bh5 Bd4 148. Kg2 Be5 149. Kf1 Bd4 150. Bf3 Bb6 151. Kg2 Bc7
152. Kf1 Bf4 153. Bg4 Bd6 154. Bf3 Be7 155. Kg2 Bh4 156. Kf1 Bg5 157. Kg2 Bf4
158. Kf1 Bd6 159. Bh5 Bf4 160. Bg4 Bg5 161. Bh5 Bh4 162. Bg4 Be7 163. Bf3 Bd6
164. Bh5 Be5 165. Bf3 Bd4 166. Kg2 Be5 167. Kf1 Kd3 168. Bh5 Kd4 169. Bg4 Bd6
170. Bd1 Bb4 171. Kg2 e2 172. Bxe2 Bd6 173. Bb5 Ke3 174. Bc6 Kf4 175. Bd7 Bc5
176. Bb5 Ba3 177. Be2 Bb4 178. Bf1 Bc5 179. Bb5 Bd6 180. Bf1 Bb4 181. Bb5 Ba3
182. Bd3 Bd6 183. Bb5 Be5 184. Bd7 Ke4 185. Ba4 Ke3 186. Kh3 Bd6 187. Bb5 Bb8
188. Bd7 Kf3 189. Ba4 Bd6 190. Be8 Bc5 191. Bd7 Kf4 192. Bc8 Bd4 193. Ba6 Bc3
194. Kg2 Bb4 195. Bb5 Bc3 196. Ba6 Bd4 197. Bd3 Bb2 198. Bb5 Bd4 199. Bd7 Bc3
200. Bc8 Bd4 201. Kh3 Bb6 202. Ba6 Ba5 203. Bb7 Be1 204. Ba6 Bb4 205. Be2 Be1
206. Kg2 Bf2 207. Bc4 Be3 208. Ba6 Bd4 209. Bf1 Bb2 210. Bc4 Ba3 211. Bf1 Bd6
212. Ba6 Be5 213. Bc4 Bd4 214. Ba6 Bb2 215. Bc4 Bd4 216. Bf1 Ba1 217. Kh3 Bf6
218. Bb5 Be5 219. Bc6 Bf6 220. Bb5 Bh4 221. Kg2 Bg5 222. Ba6 1/2-1/2

Seems to have no problem playing beyond 128 moves now.

SzotsGabor commented 2 months ago

If you have made no other changes to your code I will replace 2.1.0 with 2.1.1 in my further tournaments.

bsamseth commented 2 months ago

This is the only code change affecting the engine since 2.1.0, yes.

(the diff https://github.com/bsamseth/Goldfish/compare/v2.1.0...v2.1.1)