Grande Acedrex

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

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27795
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Grande Acedrex

Post by hgm »

OK, great! I will feed the position to Fairy-Max and figure out what it is doing all that time.

This undo business is very nasty. The problem is that you cannot undo moves after you already sent other game-state-altering commands. A user might set the engine thinking, abort it with Edit Game, play a move, ... The engine could still be thinking about that first move at this time, and when it comes, an "undo" would undo the user move, not the engine move.

So a user cannot be allowed to play moves when the engine is still thinking on a move that logically is already canceled, and thus will have to be undone. This would require freezing the user interface when a user aborts a think (like during engine startup, but possibly for a much longer time).

So sending "force" to a thinking engine in UserMoveEvent should freeze the UI, set an "undoFlag", and send ping. And possibly display a message to pacify the user, like "aborting engine think". Engine moves received while the undoFlag is set will be replied to with "undo" rather than processed by the GUI. The equalizing pong will clear the undoFlag, erase the message and thaw the UI.

Starting a new game will not set the undoFlag, and moves received during the resulting ping imbalance will then simply be ignored. They surely belong to the previous game, and the "new" command starting the next game will erase all memory of them. Then in any case undos in new games during automatic play could never occur.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Grande Acedrex

Post by Evert »

Interesting come-back in this one: Postduif seemed to be doing ok, but it allowed Fairy-Max to promote an extra rook, while failing to promote any of its own pawns (maybe U and B are not very good at supporting pawns against G and R). Ended up with a KUKRR ending, which I suspect is drawn (and quickly settled into a repetition):

Code: Select all

[Event "Computer Chess Game"]
[Site "vivaine.local"]
[Date "2016.01.15"]
[Round "-"]
[White "Postduif 0.14-r9M"]
[Black "Fairy-Max 4.8V"]
[Result "1/2-1/2"]
[TimeControl "40/10"]
[Variant "grande-acedrex"]
[VariantMen "P:fmWfcF;C:B;R:R;A:FyafsF;U:NmpafsyafW;G:Z;L:HC;K:KimDimA"]
[FEN "rlugcakcgulr/12/12/pppppppppppp/12/12/12/12/PPPPPPPPPPPP/12/12/RLUGCAKCGULR w Kk - 0 1"]
[SetUp "1"]

{--------------
r l u g c a k c g u l r
. . . . . . . . . . . .
. . . . . . . . . . . .
p p p p p p p p p p p p
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
P P P P P P P P P P P P
. . . . . . . . . . . .
. . . . . . . . . . . .
R L U G C A K C G U L R
white to play
--------------}
1. Uf3 {+0.15/7} Uf10 {+0.18/4 0.1} 2. Ug3 {+0.31/8 0.3} Le11 {+0.04/4 0.2}
3. Lh2 {+0.22/8 0.2} Ui10 {+0.11/4 0.2} 4. Ue6 {+0.36/7 0.2} Lf8
{-0.64/5 0.4} 5. Lg5 {+0.45/7 0.3} Uf6 {-0.05/4 0.2} 6. Lxf8 {+0.35/7 0.2}
Uxi4+ {-0.13/4 0.1} 7. Ah2 {+0.20/8 0.2} Uxf8 {+0.03/4 0.2} 8. Uxc9+
{+0.60/7 0.2} Cf11 {-0.94/4 0.7} 9. Uxa12 {+0.82/8 0.3} Uxl1 {-1.27/5 0.4}
10. Axi9 {+0.51/7 0.2} Ug8 {-0.84/4 0.3} 11. Aj7 {-0.03/6 0.2} Lh11
{-0.17/4 0.4} 12. j5 {+0.33/6 0.2} Ug7 {-0.55/4 0.5} 13. Uxa9 {-0.13/5 0.2}
Uxl4 {-1.36/4 0.3} 14. Ab8 {+0.07/8 0.3} Ui4+ {-1.10/4 0.1} 15. Ki3
{-0.22/8 0.3} Uk5 {-0.24/4 0.1} 16. Le2 {-0.02/8 0.3} Ukxh1+ {+0.34/5 0.2}
17. Lxh1 {+1.02/9 0.3} Uxh1+ {+0.25/5 0.2} 18. Kj3 {+1.31/8 0.3} Uk5+
{+0.04/5 0.4} 19. Kk2 {+1.27/8 0.2} Lh8 {-0.46/5 0.3} 20. Ue6 {+1.10/7 0.3}
Ui4 {+0.49/4 0.1} 21. Ah7 {+0.11/8 0.2} Uh6+ {+1.01/4 0.1} 22. Kj1
{+0.27/8 0.1} Uxe4 {+0.69/4 0.1} 23. d5 {+0.12/7 0.2} Gf10 {+1.00/4 0.1}
24. Aj6 {+0.12/7 0.2} Ab11 {+0.80/4 0.3} 25. Ab7 {-0.50/7 0.2} Le8
{+0.84/3 0.1} 26. Ac11 {-0.56/7 0.2} Cj10 {+1.03/3 0.1} 27. Uac9
{+0.21/7 0.2} Axc9 {+1.45/4 0.1} 28. Uxc9 {+0.12/8 0.2} Uxa1 {+0.37/4 0.2}
29. Axf10+ {+0.45/7 0.2} Ki10 {+0.62/4 0.1} 30. Axg9+ {+0.98/8 0.3} Kj11
{-0.88/5 0.1} 31. Axj10 {+1.55/8 0.2} Kxj10 {-1.19/5 0.1} 32. Cc3+
{+2.03/10 0.4} h8 {-1.01/6 0.3} 33. Cxa1 {+1.81/10 0.3} Rh12 {-1.84/6 0.2}
34. Cf6 {+1.88/10 0.2} d8 {-1.04/5 0.2} 35. Gg3 {+2.02/9 0.3} Cc8
{-1.12/5 0.2} 36. Gf3 {+2.25/10 0.4} Lb7 {-0.67/5 0.1} 37. Gd6
{+2.55/9 0.3} Lxb4 {-0.34/5 0.1} 38. Uf7 {+2.76/9 0.3} Le3 {-0.35/5 0.2}
39. Cxh8+ {+2.82/10 0.2} Ki10 {-1.27/5 0.6} 40. Ge6 {+2.90/9 0.6} Cxe6
{-0.95/4 0.1} 41. dxe6 {+3.68/10 0.2} e8 {-2.09/5 0.2} 42. Ue5+
{+3.70/10 0.2} Kh11 {-2.20/5 0.1} 43. Uxj9 {+4.31/9 0.3} Lxd6 {-2.20/5 0.1}
44. Uk7+ {+3.87/8 0.2} Ki12 {-2.99/6 0.4} 45. Ui10 {+3.87/8 0.3} Le3
{-2.88/7 0.7} 46. Uxk9+ {+7.03/9 0.3} Kj12 {-5.33/6 0.1} 47. Cg9+
{+6.91/9 0.2} Kk12 {-5.71/7 0.3} 48. Ub1 {+6.98/8 0.1} Rxh4 {-5.18/7 0.3}
49. Uxe3 {+6.80/7 0.2} Rj4+ {-5.01/7 0.1} 50. Ki2 {+7.16/8 0.1} Ga10
{-5.08/6 0.1} 51. Uf5 {+8.62/9 0.3} Rxk4 {-5.08/6 0.1} 52. Kh3
{+7.36/7 0.2} Rk3+ {-4.72/6 0.3} 53. Ki4 {+7.22/10 0.2} Rk4+ {-4.89/6 0.1}
54. Kh5 {+7.48/10 0.2} Rk11 {-5.32/7 0.2} 55. Ug7+ {+9.01/10 0.3} Rj11
{-4.63/6 0.1} 56. Uxf9 {+7.65/10 0.2} Rxj5+ {-4.80/6 0.2} 57. Ki6
{+7.67/10 0.2} Rj11 {-5.02/7 0.2} 58. Ud6 {+7.90/9 0.2} Gc7 {-4.92/7 0.1}
59. Uxe8 {+8.03/9 0.2} Gxa4 {-5.32/7 0.1} 60. Uf6 {+8.25/9 0.2} Gc7
{-5.09/7 0.2} 61. Cf10 {+8.21/10 0.2} b8 {-5.45/7 0.1} 62. Cxd8
{+8.11/9 0.6} Ge10 {-5.49/7 0.3} 63. f5 {+8.36/8 0.3} Gg7 {-5.50/7 0.2} 64.
Kh7 {+8.43/8 0.2} Gj5 {-5.67/7 0.1} 65. c5 {+8.38/9 0.4} b7 {-5.55/7 0.4}
66. Uc4 {+8.48/9 0.2} Rj7+ {-6.17/6 0.1} 67. Ki6 {+8.93/10 0.3} Rj11
{-6.46/7 0.2} 68. Ue5 {+8.93/9 0.2} Gg3+ {-6.16/7 0.4} 69. Kh6
{+8.96/9 0.8} Gd5 {-6.30/7 0.2} 70. Uxb7 {+8.83/8 0.1} Rj6+ {-6.55/6 0.1}
71. Ki7 {+9.00/10 0.2} Rj4 {-6.86/7 0.3} 72. Ue5+ {+9.26/10 0.1} Rj11
{-6.73/6 0.2} 73. Ug8 {+9.23/9 0.2} l8 {-6.66/7 0.1} 74. Uf6 {+9.23/10 0.3}
Gg7 {-6.67/7 0.1} 75. Kh6 {+9.26/8 0.2} Gj9+ {-6.65/8 0.2} 76. Kg6
{+9.36/10 0.3} l7 {-6.75/9 0.2} 77. Ug8 {+9.33/9 0.3} l6 {-6.70/7 0.2} 78.
c6 {+9.31/8 0.2} Rf11 {-6.78/7 0.2} 79. c7 {+9.37/9 0.4} Rj11 {-6.69/8 0.3}
80. f6 {+9.35/9 0.3} Gg11 {-6.64/7 0.2} 81. f7 {+9.41/9 0.2} Gi8
{-6.56/7 0.1} 82. Uh10 {+9.38/9 0.2} Gl10 {-6.89/7 0.1} 83. Uf9
{+9.42/9 0.1} Gj7 {-6.48/7 0.2} 84. Cf6 {+9.36/9 0.4} Rl11 {-6.69/8 0.2}
85. g5 {+9.55/9 0.2} Gh4 {-6.64/7 0.1} 86. Ug7+ {+9.56/10 0.2} Rj11
{-6.46/6 0.2} 87. Kf5 {+9.48/9 0.3} Gk6 {-6.68/7 0.1} 88. g6 {+9.51/9 0.2}
Gh8+ {-6.44/7 0.1} 89. Ke5 {+9.46/10 0.2} l5 {-6.68/6 0.1} 90. Kd6
{+9.50/10 0.1} Gk6 {-6.70/7 0.4} 91. Ke5 {+9.56/9 0.2} Gh8 {+0.00/18 0.1}
92. Kf4 {+9.53/10 0.1} l4 {-6.36/7 0.2} 93. Ke5 {+9.43/9 0.2} Gj5
{-5.88/8 0.2} 94. Uh9 {+9.38/9 0.1} l3 {-5.60/8 0.1} 95. g7 {+9.45/9 0.4}
l2 {-5.48/7 0.1} 96. Uf8 {+9.33/10 0.3} Gl8 {-5.09/7 0.2} 97. Cj2
{+8.20/9 0.7} Gi10 {-4.60/7 0.3} 98. Ul1 {+8.15/9 0.1} Rj5+ {-5.13/7 0.4}
99. Kd6 {+9.38/10 0.3} Rj7 {-5.40/7 0.4} 100. g8 {+8.35/10 0.2} Rj3
{-4.71/7 0.1} 101. Ke7 {+8.06/8 0.2} Rc3 {-4.54/7 0.1} 102. Cg5
{+7.92/11 0.2} Rxc7+ {-4.27/7 0.2} 103. Kf6 {+7.95/10 0.3} Ra7
{-2.48/8 0.6} 104. Uh4 {+4.13/8 0.2} Ra1 {-1.98/8 0.4} 105. Kg6
{+4.03/8 0.2} l1=R {-1.86/6 0.2} 106. Uk8 {+3.72/8 0.2} Raj1 {-1.85/6 0.5}
107. Ui9+ {+3.93/7 0.2} Rj11 {-1.71/5 0.1} 108. Ch6 {+4.02/9 0.3} Rg1+
{-1.32/7 0.2} 109. Kf6 {+3.58/9 0.2} Rf1+ {-1.33/7 0.3} 110. Ke7
{+3.52/9 0.2} Gk7 {-1.38/6 0.3} 111. Kd6 {+3.42/9 0.2} Rd1+ {-1.29/6 0.1}
112. Ke5 {+3.45/9 0.2} Re1+ {-1.21/7 0.2} 113. Kf5 {+3.53/9 0.2} Ri1
{-1.43/7 0.4} 114. Ug10 {+3.68/10 0.4} Rj5+ {-1.25/6 0.2} 115. Kg6
{+3.35/9 0.3} Rg1+ {-1.38/7 0.4} 116. Kh7 {+3.56/10 0.2} Rj7+ {-1.55/7 0.5}
117. Ki6 {+3.67/9} Rgj1 {-1.86/7 0.4} 118. Ci5 {+3.96/10 0.9} Gi10
{-1.97/7 0.4} 119. Ui9+ {+3.70/9 0.5} Rj11 {-1.71/6 0.2} 120. Ug12
{+3.55/9 0.8} Rf1 {-1.61/6 0.5} 121. Ch4 {+3.02/7 0.2} Gf8+ {+1.77/6 0.1}
122. Kh7 {-0.56/8 0.3} Rh1 {+1.65/6 0.2} 123. Ui9 {-0.50/9 0.2} Rxh4+
{+2.37/7 0.2} 124. Kg7 {-0.71/9 0.2} Gd5+ {+2.55/9 0.2} 125. Kf6
{-0.72/10 0.3} Rh6+ {+2.66/9 0.2} 126. Ke5 {-1.35/10 0.2} Gg3 {+2.64/8 0.1}
127. e7 {-1.33/11 0.1} Re6+ {+2.66/9 0.1} 128. Kf4 {-1.48/11 0.1} Gi6+
{+2.70/9 0.2} 129. Kf5 {-1.47/10 0.2} Rxe7 {+2.72/9 0.2} 130. Kf6
{-1.56/9 0.2} Ra7 {+2.76/8 0.5} 131. Kg6 {-1.60/10 0.3} Kj12 {+2.82/8 0.2}
132. Ug10+ {-1.93/8 0.3} Kk11 {+2.78/7 0.1} 133. Ud8 {-1.60/8 0.3} Kk10
{+2.80/7 0.2} 134. Kh6 {-1.61/7 0.2} Gg9 {+2.72/7 0.4} 135. Ue10
{-1.51/7 0.2} Ra6+ {+2.71/8 0.2} 136. Kh5 {-1.90/9 0.3} Ra5+ {+2.68/7 0.1}
137. Ki4 {-1.47/8 0.2} Ri11+ {+2.63/8 0.2} 138. Kh3 {-1.51/9 0.3} Ra3+
{+2.54/8 0.2} 139. Kg4 {-1.97/10 0.3} Ra4+ {+2.65/7 0.1} 140. Kh5
{-1.48/9 0.2} Rh11+ {+2.59/8 0.3} 141. Ki5 {-1.66/9 0.2} Gj7 {+2.58/7 0.2}
142. Ui7+ {-1.68/9 0.5} Kj11 {+2.76/8 0.2} 143. Ud3 {-1.72/10 0.2} Ki11
{+2.65/6 0.1} 144. Ui9 {-1.73/8 0.2} Gh4 {+2.79/8 0.2} 145. Ug10+
{-1.90/8 0.2} Kh10 {+2.79/8 0.1} 146. Ud8 {-1.83/8 0.2} Ra8 {+2.70/8 0.5}
147. Uf9+ {-1.88/9 0.3} Kg9 {+2.78/9 0.1} 148. Ud6 {-1.21/10 0.2} Ra5+
{+2.64/9 0.2} 149. Ki4 {-1.22/10 0.3} Raa11 {+2.61/10 0.3} 150. Ub5+
{-1.25/8 0.2} Kg10 {+2.35/9 0.2} 151. f8 {-1.48/8 0.2} Rad11 {+2.01/8 0.3}
152. Uc7+ {-1.46/9 0.2} Kg11 {+2.00/9 0.3} 153. Ub5+ {-1.63/8 0.3} Kf12
{+2.44/8 0.2} 154. Ue9 {-1.77/10 0.3} Rde11 {+2.72/7 0.2} 155. Ug10+
{-1.76/10 0.3} Kg12 {+2.71/9 0.5} 156. Ud8+ {-1.78/11 0.4} Kg11
{+2.69/8 0.3} 157. Uf9+ {-2.20/11 0.5} Kf10 {+2.72/8 0.2} 158. Uc7
{-2.31/10 0.5} Ge6 {+2.59/8 0.2} 159. Ud9+ {-2.21/9 0.5} Kg10 {+2.63/9 0.5}
160. Ua5+ {-1.63/8 0.2} Kh10 {+2.41/9 0.6} 161. Ug12+ {-1.63/8 0.2} Ki10
{+2.49/8 0.2} 162. Ki3 {-1.87/7 0.1} Reg11 {+2.60/7 0.2} 163. Uc7
{-1.88/8 0.2} Gh8 {+2.72/7 0.3} 164. Uf9 {-2.08/9 0.3} Rf11 {+2.79/7 0.2}
165. Ug7+ {-1.83/9 0.1} Ki9 {+2.87/7 0.1} 166. Ki4 {-1.92/8 0.2} Rk11
{+3.32/7 0.2} 167. Ui6 {-2.60/8 0.2} Rk4+ {+3.64/8 0.4} 168. Ki5
{-2.75/10 0.3} Rg4 {+3.38/7 0.3} 169. Uk3 {-2.07/9 0.2} Rg5+ {+2.55/7 0.2}
170. Kh6 {-2.25/11 0.2} Rj5 {+2.59/7 0.1} 171. Ud9 {-2.25/10 0.2} Ge6
{+2.65/6 0.2} 172. Uc7 {-1.66/9 0.2} Gc9 {+2.36/8 0.2} 173. Ue4+
{-1.52/8 0.2} Kh10 {+2.63/8 0.2} 174. g9+ {-1.47/8 0.3} Ki11 {+2.59/7 0.2}
175. Ug7 {-1.56/9 0.2} Rj1 {+2.75/6 0.1} 176. Ue8 {-1.46/8 0.2} Rh1+
{+2.64/8 0.2} 177. Ki7 {-1.17/9 0.3} Rxf8 {+2.59/8 0.2} 178. Uxc9
{-2.22/10 0.3} Ri1+ {+2.42/8 0.2} 179. Kh7 {-1.11/8 0.2} Rc1 {+1.49/7 0.4}
180. Ug12+ {-1.12/9 0.2} Kh12 {+1.31/8 0.2} 181. Ue9 {-1.16/12 0.3} Rh1+
{+1.64/7 0.1} 182. Kg6 {-1.01/8 0.2} Rf9 {+2.71/8 0.1} 183. Ud7+
{-2.25/8 0.2} Kh11 {+2.83/10 0.2} 184. Ub4 {-2.35/8 0.2} Kg10 {+2.55/9 0.2}
185. Kg7 {-2.45/9 0.2} Rg1+ {+2.49/9 0.6} 186. Kh6 {-2.50/10 0.2} Rxg9
{+2.48/8 0.1} 187. Ud5 {-2.48/9 0.2} Kh9 {+2.69/7 0.1} 188. Ue7+
{-2.50/9 0.2} Ki8 {+2.75/10 0.3} 189. Ui10 {-2.55/10 0.4} Rh9+
{+2.64/8 0.1} 190. Ki6 {-2.55/9 0.2} Ri9 {+2.60/9 0.2} 191. Ue7
{-2.66/8 0.3} Rf7 {+2.74/9 0.5} 192. Ud5 {-2.63/9 0.3} Rh9 {+2.68/9 0.6}
193. Ub2+ {-2.66/10 0.5} Rhh7 {+2.35/9 0.4} 194. Ue4 {-2.68/10 0.3} Rfg7
{+2.67/8 0.2} 195. Ul10+ {-0.02/11 0.2} Kh8 {+0.08/16 0.2} 196. Uj11+
{+0.00/16 0.2} Kh9 {+0.13/17 0.2} 197. Ul12+ {+0.00/18 0.2} Kh8
{+0.01/18 0.2} 198. Uj11+ {+0.00/19 0.3} Kg8 {+0.02/19 0.3} 199. Ui9+
{+0.00/17 0.3} Kh8 {+0.01/19 0.3} 200. Uj11+ {+0.00/22 0.8}
{Draw by repetition} 1/2-1/2
User avatar
hgm
Posts: 27795
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Grande Acedrex

Post by hgm »

Normally KUKRR would be an easy win for the Rooks, as U is a color alternator, and thus cannot give uninterrupted perpetual check. But this position is an exception, because the checked King has to keep the Rook protected that is attacked by the enemy King, and one of the checks is a contact check, so that you cannot rescue the Rook by interposing it.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Grande Acedrex

Post by Evert »

I think I'm about done with this for now, so I've uploaded an archive (including source and binaries) for Postduif:

http://www.eglebbk.dds.nl/program/downl ... r30.tar.gz

Only plays Grande Acedrex for the time being. Windows and Linux compiles appear to be sub-optimal compared to my OS-X build: they run slower than the Mac version (wall time) although the machine I built and test them on is faster than the Mac...

Now Ferdinand can go and build his monster engine that eats everything else.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Grande Acedrex

Post by Evert »

Evert wrote:I think I'm about done with this for now, so I've uploaded an archive (including source and binaries) for Postduif:

http://www.eglebbk.dds.nl/program/downl ... r30.tar.gz

Only plays Grande Acedrex for the time being. Windows and Linux compiles appear to be sub-optimal compared to my OS-X build: they run slower than the Mac version (wall time) although the machine I built and test them on is faster than the Mac...
Minor update:

http://www.eglebbk.dds.nl/program/downl ... 32M.tar.gz

The only difference is an option (in the engine options menu) to make it work on XBoard 4.8. This removes the initial king move, and reshuffles the piece-to-char to the first 22 piece types (the Zebra becomes a Nightrider, the Lion becomes a Cobra... not happy with that one, but nothing else seems better).