King of the Hill programs?

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

Moderator: Ras

Ferdy
Posts: 4846
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: King of the Hill programs?

Post by Ferdy »

Just modified the last winboard deuterium and make the search aware that a king in the center wins. I have not yet touched the evaluation. Here is the sample game, one side is ahead in material, but could not win because of king threats to center.
[pgn]
[Event "Computer Chess Game"]
[Site "INTEL-PC"]
[Date "2014.10.24"]
[Round "2"]
[White "Gitna v0.2"]
[Black "Gitna v0.2"]
[Result "1/2-1/2"]
[TimeControl "40/120"]
[Variant "king-of-the-hill"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"]
[SetUp "1"]

{--------------
r n b q k b n r
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
P P P P P P P P
R N B Q K B N R
white to play
--------------}
1. e4 {+0.35/15} Nc6 {-0.32/16 4} 2. Nf3 {+0.53/15 2.9} e5 {-0.28/17 4} 3.
Bc4 {+0.36/16 4} Nf6 {-0.40/16 2.8} 4. O-O {+0.19/17 5} Bc5 {-0.11/16 2.5}
5. Nc3 {+0.21/16 5} O-O {-0.09/17 5} 6. d3 {+0.22/17 2.3} h6 {-0.23/16 3}
7. Nd5 {+0.25/15 2.7} Nxd5 {-0.26/15 5} 8. exd5 {+0.34/17 4} Na5
{-0.27/18 2.9} 9. d4 {+0.33/17 4} Nxc4 {-0.42/18 4} 10. dxc5 {+0.68/18 2.3}
e4 {-0.43/18 4} 11. Nd4 {+0.65/16 2.7} d6 {-0.53/17 4} 12. Qe2 {+0.60/19 4}
dxc5 {-0.63/17 4} 13. Qxc4 {+0.54/17 2.7} cxd4 {-0.63/17 2.1} 14. Qxd4
{+0.60/15 0.3} Bf5 {-0.48/16 2.5} 15. Bf4 {+0.57/16 2.7} Qd7 {-0.50/15 3}
16. c4 {+0.56/15 2.7} b6 {-0.57/14 3} 17. Qc3 {+0.56/14 3} c6
{-0.57/13 2.1} 18. Rfd1 {+0.52/14 3} Rfd8 {-0.54/15 2.2} 19. Qg3
{+0.51/15 3} Bg6 {-0.65/16 2.5} 20. b3 {+0.55/14 2.7} Qb7 {-0.55/14 2.5}
21. Bc7 {+0.53/16 2.7} Rd7 {-0.60/15 2.5} 22. d6 {+0.63/17 2.7} c5
{-0.53/15 2.5} 23. Rd5 {+0.89/16 2.7} Re8 {-0.79/16 2.5} 24. a4
{+0.96/17 2.7} a5 {-1.03/16 2.5} 25. Re5 {+1.13/17 2.7} Rxe5 {-1.22/18 2.2}
26. Qxe5 {+1.09/15 0.3} Kh7 {-1.13/19 2.1} 27. Rc1 {+1.22/17 2.8} f6
{-1.28/18 2.6} 28. Qf4 {+1.31/19 2.8} Qc6 {-1.27/17 2.6} 29. Re1
{+1.33/19 2.6} Rf7 {-1.21/18 2.6} 30. h4 {+1.30/16 2.9} h5 {-1.56/17 2.6}
31. Re3 {+1.49/17 2.9} f5 {-1.52/16 2.6} 32. Re1 {+2.02/17 2.9} Kg8
{-1.93/16 2.6} 33. Rd1 {+2.04/20 2.9} Rd7 {-2.50/18 2.6} 34. Qe5
{+2.42/19 2.9} Kh7 {-2.26/19 2.6} 35. Rd2 {+2.96/21 2.9} Kh6 {-2.84/19 2.1}
36. Qd5 {+3.17/22 2.9} Qxd5 {-3.01/21 2.7} 37. Rxd5 {+3.35/19 0.4} f4
{-3.17/21 2.7} 38. Bxb6 {+3.31/21 3} Bf7 {-3.17/21 2.2} 39. Rxc5
{+3.28/21 3} Rxd6 {-3.17/20 2.7} 40. Bc7 {+3.00/20 4} Rd3 {-2.85/19 3} 41.
Bxf4+ {+3.14/18 5} Kg6 {-2.91/19 4} 42. Rb5 {+2.71/19 6} Kf6 {-2.88/17 2.9}
43. Be5+ {+2.89/19 4} Kg6 {-2.77/18 2.9} 44. Bb2 {+2.88/19 2.8} Be8
{-2.98/20 4} 45. Rxa5 {+3.17/20 3} Rxb3 {-3.10/20 2.5} 46. Rg5+
{+3.16/20 5} Kf7 {-3.04/21 5} 47. Bxg7 {+3.10/19 3} Bxa4 {-2.85/19 4} 48.
Bd4 {+2.89/19 2.5} Rb4 {-2.92/20 4} 49. Rxh5 {+2.89/19 2.8} Rxc4
{-2.85/20 2.5} 50. Be3 {+2.91/19 2.8} Bd1 {-2.85/19 4} 51. Rh6 {+2.82/18 4}
Ra4 {-2.80/19 4} 52. Kh2 {+2.72/19 4} Ra5 {-2.68/22 2.7} 53. Rd6
{+2.70/22 3} Bh5 {-2.64/23 2.7} 54. Bg5 {+3.00/21 2.6} Rf5 {-2.64/21 4} 55.
Kg3 {+3.71/21 2.3} Bg6 {-4.13/21 4} 56. f3 {+4.13/21 2.5} e3 {-4.20/21 3}
57. Bxe3 {+4.14/21 3} Rf6 {-4.17/22 2.6} 58. Rd2 {+4.06/21 3} Rc6
{-4.01/19 3} 59. Bf4 {+4.31/19 3} Ke6 {-4.32/18 2.6} 60. Kg4 {+4.41/19 2.6}
Bf5+ {-4.51/17 2.6} 61. Kg5 {+4.36/20 2.6} Bh7 {-4.19/19 2.6} 62. h5
{+3.90/20 2.6} Rc5+ {-4.29/18 2.2} 63. Kh6 {+3.94/22 2.4} Bc2
{-3.91/19 2.6} 64. Rd6+ {+3.90/21 2.6} Ke7 {-3.92/21 2.6} 65. g4
{+3.93/21 2.6} Rc3 {-3.90/21 2.4} 66. Rb6 {+3.93/21 2.6} Rxf3
{-3.95/19 2.6} 67. Kg5 {+3.92/20 2.6} Bd3 {-3.93/20 2.6} 68. Bg3
{+3.93/18 2.6} Rf1 {-3.93/19 2.6} 69. Rd6 {+3.93/20 2.6} Bh7 {-3.93/22 2.4}
70. Ra6 {+3.92/21 2.6} Be4 {-3.93/22 2.2} 71. Rh6 {+3.92/21 2.6} Bd3
{-3.93/22 2.7} 72. Bd6+ {+3.93/22 2.6} Kf7 {-3.93/22 2.7} 73. Bc5
{+3.92/22 2.5} Be4 {-3.92/20 2.7} 74. Be3 {+3.93/21 2.5} Bd3 {-3.92/22 2.6}
75. Rb6 {+3.92/21 2.7} Rf3 {-3.93/20 2.7} 76. Rd6 {+3.93/22 2.7} Bc2
{-3.93/21 2.5} 77. Bd4 {+3.93/22 2.7} Rf1 {-3.93/20 2.4} 78. Bb2
{+3.93/19 2.7} Ke7 {-3.93/20 2.8} 79. Ba3 {+3.93/20 2.1} Kf7 {-3.93/22 2.8}
80. Rb6 {+3.93/22 3} Be4 {-3.92/22 3} 81. Bb2 {+3.91/21 3} Bd3 {-3.91/22 4}
82. Rd6 {+3.93/21 3} Bc2 {-3.91/21 4} 83. Kh4 {+4.02/20 4} Rb1
{-3.92/20 2.6} 84. Rf6+ {+4.18/20 2.9} Ke7 {-4.18/21 4} 85. Rb6
{+4.19/21 2.9} Kd7 {-4.25/20 2.4} 86. Kg5 {+4.29/23 3} Rf1 {-4.28/23 4} 87.
Ba3 {+4.20/23 2.9} Kc7 {-4.18/22 2.8} 88. Rf6 {+4.02/22 2.7} Rf3
{-4.06/22 2.5} 89. Bb4 {+3.90/23 3} Re3 {-4.04/22 2.9} 90. Bf8
{+3.93/21 2.6} Rf3 {-3.99/22 4} 91. Bc5 {+3.93/23 4} Bh7 {-3.93/22 4} 92.
Be7 {+3.92/20 2.9} Bc2 {-3.97/22 4} 93. Ra6 {+3.92/22 3} Bd3 {-4.04/21 4}
94. Rh6 {+3.92/22 3} Kd7 {-3.95/22 2.3} 95. Bb4 {+3.92/22 2.9} Be4
{-3.93/21 3} 96. Rd6+ {+3.92/21 2.6} Kc7 {-3.93/23 2.8} 97. Re6
{+3.91/22 2.4} Bc2 {-3.92/23 3} 98. Bc5 {+3.91/22 2.6} Kd7 {-3.91/21 2.7}
99. Rf6 {+3.91/21 2.9} Bd3 {-3.91/21 2.5} 100. Rd6+ {+3.91/21 3} Ke7
{-3.90/20 2.4} 101. Ba3 {+3.89/20 3} Be4 {-3.90/21 2.7} 102. Rf6+
{+3.90/20 2.9} Kd7 {-3.90/22 2.8} 103. Rh6 {+3.89/20 2.9} Bc2
{-3.92/20 2.8} 104. Bc1 {+3.89/21 2.9} Bd3 {-3.92/19 2.8} 105. Bf4
{+3.88/20 2.9} Ke7 {-3.91/20 2.8} 106. Rb6 {+3.86/20 2.9} Bc2
{-3.89/20 2.2} 107. Bd2 {+3.82/19 2.9} Kf7 {-3.75/20 2.3} 108. Bb4
{+3.74/18 2.9} Bd3 {-3.63/20 2.8} 109. Bc3 {+3.66/19 2.9} Bc2
{-3.50/19 2.4} 110. Bb2 {+3.66/19 2.9} Ke7 {-3.66/19 2.9} 111. Bd4
{+3.60/18 2.9} Bd3 {-3.48/19 2.8} 112. Kh4 {+3.78/18 2.9} Rf4
{-3.66/19 2.9} 113. Bb2 {+3.81/18 2.9} Re4 {-3.91/20 2.9} 114. Ba3+
{+3.48/20 2.4} Kf7 {-3.93/19 2.9} 115. h6 {+2.39/21 3} Ra4 {-2.22/17 2.9}
116. Bc5 {+3.46/20 3} Rf4 {-3.39/19 2.9} 117. Kg5 {+3.60/22 3} Rf1
{-3.58/21 2.9} 118. Bd4 {+3.62/22 3} Bh7 {-3.54/21 2.9} 119. Bg7
{+3.54/21 3} Rf3 {-3.47/24 2.5} 120. Ra6 {+3.49/22 4} Ke7 {-3.39/23 4} 121.
Kh4 {+3.43/21 4} Re3 {-3.33/24 3} 122. g5 {+3.35/23 2.9} Bd3 {-3.38/24 3}
123. Ra5 {+3.39/23 2.5} Kd6 {-3.38/24 4} 124. Kg4 {+3.34/24 3} Bh7
{-3.35/24 2.9} 125. Bf6 {+3.34/25 3} Re4+ {-3.35/22 2.9} 126. Kf3
{+3.33/27 4} Kc6 {-3.35/24 2.3} 127. Bg7 {+3.33/26 2.7} Ra4 {-3.35/25 2.9}
128. Ke3 {+3.33/26 2.9} Re4+ {-3.34/24 2.9} 129. Kd3 {+3.31/26 2.5} Ra4+
{-3.33/25 2.4} 130. Kc3 {+3.32/28 3} Rg4 {-3.31/25 3} 131. Bf8 {+3.31/26 3}
Rf4 {-3.30/27 3} 132. Rc5+ {+3.30/28 4} Kd7 {-3.30/28 2.5} 133. Rb5
{+3.30/28 3} Kc6 {-3.29/28 3} 134. Ra5 {+3.26/25 2.9} Rg4 {-3.30/28 2.5}
135. Rc5+ {+3.26/27 2.7} Kd7 {-3.27/26 2.7} 136. Re5 {+3.28/26 2.9} Kc6
{-3.25/26 4} 137. Bg7 {+3.26/27 2.6} Ra4 {-3.23/25 3} 138. Bh8
{+3.25/26 2.4} Rf4 {-3.24/26 4} 139. Bf6 {+3.26/28 2.8} Kd6 {-3.22/28 2.4}
140. Rb5 {+3.25/25 2.7} Kc6 {-3.22/26 3} 141. Ra5 {+3.25/27 2.6} Rg4
{-3.22/27 2.7} 142. Be7 {+3.25/27 3} Rf4 {-3.22/27 2.9} 143. Re5
{+3.22/25 3} Rg4 {-3.23/28 2.9} 144. Kb3 {+3.21/25 2.7} Re4 {-3.23/25 3}
145. Rc5+ {+3.22/25 2.8} Kd7 {-3.23/26 3} 146. Bf8 {+3.23/25 3} Rg4
{-3.22/25 2.6} 147. Re5 {+3.21/25 2.9} Kc7 {-3.23/25 2.9} 148. Bc5
{+3.21/26 2.6} Kc6 {-3.22/27 2.6} 149. Bf2 {+3.21/26 3} Kd6 {-3.22/27 3}
150. Ra5 {+3.21/28 2.8} Ke6 {-3.22/26 3} 151. Kc3 {+3.21/28 3} Kd6
{-3.23/26 3} 152. Be3 {+3.18/27 2.5} Kc6 {-3.22/26 3} 153. Bc1
{+3.18/27 2.8} Re4 {-3.22/26 3} 154. Ba3 {+3.19/28 3} Rh4 {-3.21/25 3} 155.
Re5 {+3.18/26 3} Rg4 {-3.21/26 3} 156. Bc5 {+3.19/28 3} Re4 {-3.18/25 3}
157. Bb6 {+3.17/27 3} Rf4 {-3.18/26 3} 158. Rc5+ {+3.15/26 3} Kd6
{-2.55/26 2.6} 159. Ra5 {+2.45/26 3} Rg4 {-2.34/25 2.7} 160. Bd4
{+2.15/26 4} Kc6 {-2.10/26 5} 161. Bf6 {+2.36/25 6} Ra4 {-1.82/26 3} 162.
Be5 {+1.49/27 6} Re4 {-1.57/26 4} 163. Bc7 {+1.45/26 4} Rh4 {-1.48/28 4}
164. Bg3 {+1.43/27 5} Ra4 {-1.46/26 2.8} 165. Bb8 {+1.42/25 2.2} Rh4
{-1.42/26 3} 166. Bh2 {+1.39/26 3} Ra4 {-1.41/28 2.6} 167. Bg3
{+1.39/27 2.2} Rg4 {-1.41/27 2.9} 168. Be1 {+1.39/25 3} Rf4 {-1.40/27 2.4}
169. Bd2 {+1.39/28 2.5} Rg4 {-1.40/28 2.9} 170. Be3 {+1.39/28 2.7} Bg6
{-1.39/29 2.8} 171. Ba7 {+1.39/28 2.7} Kd6 {-1.11/24 2.9} 172. h7
{+1.23/23 2.2} Bxh7 {-1.11/26 2.7} 173. Bd4 {+1.16/23 2.8} Bg6 {-1.11/26 4}
174. Be5+ {+1.17/25 2.9} Kc6 {-1.10/24 2.8} 175. Bf6 {+1.11/24 2.5} Kd6
{-1.10/26 2.9} 176. Rb5 {+1.11/24 2.3} Ra4 {-1.10/25 2.7} 177. Bg7
{+1.11/24 2.7} Re4 {-1.09/23 3} 178. Ra5 {+1.10/25 2.6} Rh4 {-1.07/24 2.5}
179. Be5+ {+1.10/25 2.8} Kc6 {-1.06/27 2.9} 180. Bf6 {+1.09/26 2.3} Kd6
{-1.06/26 2.9} 181. Bg7 {+1.09/25 2.7} Ke6 {-1.06/23 3} 182. Bd4
{+1.09/25 2.5} Kd6 {-1.04/25 2.9} 183. Be3 {+1.07/25 2.3} Rg4
{-1.00/24 2.9} 184. Rb5 {+1.04/24 2.9} Re4 {-1.01/26 2.4} 185. Bd4
{+1.01/26 2.6} Kc6 {-1.00/26 2.9} 186. Ra5 {+1.02/26 2.9} Rh4
{-1.00/25 2.9} 187. Ba7 {+1.01/26 2.9} Rg4 {-0.99/26 2.5} 188. Bf2
{+1.01/26 2.9} Rf4 {-0.98/25 2.5} 189. Be3 {+1.00/24 2.9} Rg4 {-0.98/26 3}
190. Bc1 {+0.97/24 2.9} Kd6 {-0.98/25 3} 191. Bb2 {+0.96/27 2.8} Rh4
{-0.96/22 3} 192. Ba3+ {+0.98/24 2.3} Ke6 {-0.95/28 3} 193. Bc1
{+0.93/25 2.6} Kd6 {-0.94/26 3} 194. Bd2 {+0.93/26 2.8} Rg4 {-0.93/28 3}
195. Be1 {+0.84/27 3} Kc6 {-0.93/26 3} 196. Bg3 {+0.83/26 3} Ra4
{-0.93/25 3} 197. Bh2 {+0.33/25 3} Rh4 {-0.59/25 2.4} 198. Bg1
{+0.39/25 2.7} Rf4 {-0.57/23 3} 199. Bf2 {+0.51/23 2.8} Re4 {-0.55/24 3}
200. Kb3 {+0.59/25 4} Bf7+ {-0.09/25 4} 201. Kc2 {+0.52/25 4} Rg4
{-0.03/25 4} 202. Kc3 {+0.51/25 6} Rc4+ {-0.93/26 6} 203. Kd3 {+0.60/27 6}
Ra4 {-0.52/25 2.8} 204. Re5 {+0.73/25 2.8} Bg6+ {-0.30/24 5} 205. Kc3
{+0.00/28 5} Kd6 {+0.00/25 2.5} 206. Ra5 {+0.00/29 2.6} Rg4 {+0.00/30 3}
207. Bg1 {+0.00/32 2.6} Kc6 {+0.00/36 2.3} 208. Re5 {+0.00/35 2.7} Kd6
{+0.00/31 2.7} 209. Ra5 {+0.00/35 2.2} Kc6 {+0.00/54 2.5} 210. Bf2
{+0.00/36 2.8} Rf4 {+0.00/45 2.5} 211. Be3 {+0.00/37 2.8} Rg4
{+0.00/55 2.7} 212. Re5 {+0.00/32 2.8} Kd6 {+0.00/32 2.9} 213. Ra5
{+0.00/32 2.3} Kc6 {+0.00/41 2.4}
{XBoard adjudication: repetition draw} 1/2-1/2
[/pgn]

And against sf5 that does not know the rule.
[pgn]
[Event "Computer Chess Game"]
[Site "INTEL-PC"]
[Date "2014.10.24"]
[Round "-"]
[White "Gitna v0.2"]
[Black "Stockfish 5 64 SSE4.2"]
[Result "1-0"]
[TimeControl "300+1"]
[Annotator "1. +0.51 1... -0.13"]

1. e4 {+0.51/17} e5 {-0.13/20 7} 2. Nf3 {+0.17/18 14} Nc6 {-0.11/20 7} 3.
d4 {+0.15/17 13} exd4 {+0.00/19 9} 4. Nxd4 {+0.00/17 5} Nf6 {+0.08/20 6} 5.
Nc3 {+0.06/17 8} Bb4 {+0.01/21 5} 6. Nxc6 {+0.04/18 10} bxc6 {+0.01/21 3}
7. Bd3 {-0.03/17 10} d5 {+0.17/21 8} 8. exd5 {-0.02/18 8} O-O {+0.11/22 15}
9. dxc6 {+0.36/18 6} Bg4 {+0.13/20 6} 10. f3 {+0.32/20 6} Re8+ {+0.07/22 3}
11. Kf1 {+0.19/20 6} Be6 {+0.05/21 13} 12. Bg5 {+0.83/17 8} h6 {+0.09/21 7}
13. Bh4 {+0.75/16 5} Rb8 {+0.09/22 3} 14. a4 {+0.61/16 10} Bc5 {+0.00/21 8}
15. Ne4 {+0.50/18 9} Be7 {+0.39/20 5} 16. Bf2 {+0.45/18 9} Rxb2
{+0.44/21 3} 17. Bxa7 {+0.15/17 9} Nd5 {+0.31/21 23} 18. Qc1 {+0.72/16 8}
Rb4 {+0.67/20 6} 19. Bb5 {+0.50/17 8} f5 {+1.47/20 4} 20. Ng3 {-0.48/19 7}
Bg5 {+1.63/21 5} 21. Qe1 {-1.09/19 7} Bf7 {+2.17/24 5} 22. Ne2 {-1.24/19 7}
Rb2 {+2.24/23 3} 23. Rc1 {-1.20/16 7} Rxb5 {+2.80/24 5} 24. axb5
{-1.50/14 1.0} Nf4 {+2.59/26 9} 25. Qd1 {-1.67/18 5} Rxe2 {+2.65/26 3} 26.
Qxd8+ {-1.35/18 6} Bxd8 {+2.91/24 6} 27. b6 {-2.42/17 5} Bc4 {+3.43/23 6}
28. b7 {-2.40/18 6} Rxc2+ {+3.44/25 3} 29. Ke1 {-2.08/20 5} Rxc1+
{+3.44/24 3} 30. Kd2 {+0.00/21 5} Rxh1 {+3.44/25 3} 31. b8=Q {+0.00/25 4}
Ne6 {+3.50/24 3} 32. Kc3 {+0.00/25 4} Ba2 {+3.74/20 5} 33. Qxd8+
{+9.26/21 3} Nxd8 {+10.20/24 5} 34. Kd4 {+299.99/13 0.1}
{White K is in center} 1-0
[/pgn]
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: King of the Hill programs?

Post by Evert »

Ok, this is properly weird.

The "problem" is that the second engine is never told that it is playing "kingofthehill" by XBoard, but the first engine is.

If I run "xboard -variant kingofthehill -fcp ./sjaakii -scp ./sjaakii -debug" the second engine never receives a "variant kingofthehill" message from XBoard, as confirmed by both Sjaak's log and XBoard's debug log.

If I run "xboard -variant spartan -fcp ./sjaakii -scp ./sjaakii -debug" both engines do get the "variant spartan" message. But even if I do "xboard -variant ai-wok -fcp ./sjaakii -scp ./sjaakii -debug" both engines get "variant ai-wok" messages, so it's not just that engine-defined variants that don't work.

Really really weird.
User avatar
hgm
Posts: 28354
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: King of the Hill programs?

Post by hgm »

With Fairy-Max both get 'king-of-the-hill'.

If the second engine does not get a variant command at all, XBoard must have recognized it as 'normal'.

Or do you give parent variant normal in the setup command? I remember now I had some trouble with that too. So I switched to 'fairy'. Normal and shuffle variants like nocastle should not be used as parent variant.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: King of the Hill programs?

Post by Evert »

hgm wrote:With Fairy-Max both get 'king-of-the-hill'.

If the second engine does not get a variant command at all, XBoard must have recognized it as 'normal'.

Or do you give parent variant normal in the setup command? I remember now I had some trouble with that too. So I switched to 'fairy'. Normal and shuffle variants like nocastle should not be used as parent variant.
You know, sometimes I think I waste too much time reading forum posts (they tend to not go away if you wait a few hours, although I've actually seen that happen a few times). In this case, I could have saved a few hours by just coming here sooner.

Yes, the problem seems to be that XBoard does not send a variant command to the second engine if the parent variant is 8x8+0_normal. It does for 8x8+2_normal (because I have another variant defined that way, which does work). Deriving it from fairy rather than normal works perfectly, however.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: King of the Hill programs?

Post by Evert »

Working properly now

[pgn][Event "Computer Chess Game"]
[Site "vivaine.local"]
[Date "2014.10.24"]
[Round "-"]
[White "Sjaak II "]
[Black "Fairy-Max 4.8U"]
[Result "1-0"]
[TimeControl "40/60"]
[Variant "king-of-the-hill"]
[VariantMen "P:fmWfceFifmW2;N:N;B:B;R:R;Q:Q;K:KisO2"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"]
[SetUp "1"]

{--------------
r n b q k b n r
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
P P P P P P P P
R N B Q K B N R
white to play
--------------}
1. e4 Nc6 {+0.03/11 1.5} 2. Nc3 {+0.05/11 1.6} Nf6 {+0.14/8} 3. Nf3
{-0.01/10 1.4} a6 {+0.09/8 2.2} 4. e5 {+0.20/9 0.9} Ng4 {-0.22/8 1.2} 5. d4
{+0.21/9 0.8} d6 {-0.08/8 2.2} 6. h3 {+0.16/9 1.3} Nh6 {-0.16/8 0.8} 7. g4
{+0.29/8 1.2} e6 {+0.02/7 6} 8. Be3 {+0.21/7 0.8} Be7 {+0.09/6 1.0} 9. Be2
{+0.31/7 1.0} O-O {+0.14/6 1.5} 10. Bd3 {+0.31/7 0.9} dxe5 {+0.06/6 1.0}
11. dxe5 {+0.17/8 1.7} Nb4 {+0.09/6 1.2} 12. Be4 {+0.49/8 1.7} Qxd1+
{-0.01/7 1.0} 13. Rxd1 {+0.90/9 3} Nc6 {-0.25/7 1.1} 14. Kf1 {+0.92/8 0.9}
Rd8 {-0.02/7 0.8} 15. Kg2 {+0.72/8 1.2} Rxd1 {-0.03/7 0.9} 16. Rxd1
{+0.57/9 1.2} Rb8 {-0.11/9 2.5} 17. Bg5 {+1.44/7 0.8} f6 {+0.05/9 1.1} 18.
exf6 {+0.70/9 1.0} Bxf6 {-0.07/9 1.0} 19. Bxf6 {+1.21/11 1.4} gxf6
{+0.00/9 1.5} 20. g5 {+1.13/11 1.2} Nf7 {-0.30/10 2.1} 21. gxf6
{+1.90/10 1.9} Nd6 {-0.26/9 0.8} 22. Ng5 {+2.11/8 1.2} Nxe4 {-0.74/9 5} 23.
Ncxe4 {+2.52/10 2.1} e5 {-0.91/10 6} 24. Ng3 {+2.91/10 1.4} e4
{-0.94/9 1.1} 25. f4 {+2.90/10 1.8} h6 {-0.85/9 0.5} 26. N5xe4
{+3.84/11 2.4} Kf7 {-1.86/8 0.9} 27. Nd6+ {+159.83/12 14} cxd6
{-5.73/10 0.5} 28. Kf3 {+159.89/10 0.6} d5 {-79.95/14 0.6} 29. Rxd5
{+159.91/9 0.5} Bf5 {-79.96/15 0.6} 30. Nxf5 {+159.93/7 0.2} Re8
{-79.97/20 0.5} 31. Nd6+ {+159.95/5 0.2} Kxf6 {-79.98/28 0.2} 32. Nxe8+
{+159.97/3 0.2} Kg6 {-79.99/28 0.3} 33. Ke4 {+159.99/2 0.2}
{White mates} 1-0
[/pgn]
Guenther
Posts: 4718
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: King of the Hill programs?

Post by Guenther »

Ferdy wrote:
...

And against sf5 that does not know the rule.

...
When I saw this I remembered that I wanted to ask how to make this work.
In the WB version I had at that time I could not persuade WB to let Stockfish play a variant it does not know.
IIRC there was a popup saying sth like 'second program does not support that variant' and the game was closed or could not be started.
(which is of course ok for non-expert users and avoids erronous games)
Is there a way to suppress this message and let the game start under WB?

Guenther
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: King of the Hill programs?

Post by Evert »

Guenther wrote: When I saw this I remembered that I wanted to ask how to make this work.
In the WB version I had at that time I could not persuade WB to let Stockfish play a variant it does not know.
IIRC there was a popup saying sth like 'second program does not support that variant' and the game was closed or could not be started.
(which is of course ok for non-expert users and avoids erronous games)
Is there a way to suppress this message and let the game start under WB?
Well, Stockfish is an UCI engine, and UCI has no way to communicate anything about variants (it was never designed with variants in mind), so there is no standard way for an engine to tell a GUI that it supports different variants and there is no standard way to select a particular variant.

Ok, that's not entirely true: you can make it a UCI option, but these aren't standardised and XBoard wouldn't interpret them. So you would be able to select the variant it should play through the engine options and then Stockfish might play it, but XBoard would never know and assume that it was playing "variant normal".

In short, no. You could do it by modifying polyglot though.
User avatar
hgm
Posts: 28354
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: King of the Hill programs?

Post by hgm »

Good question. Now that we have engine-defined variants, we might run into situations where two engines play the same variant under a different name. Of course as an engine programmer you can easily cheat, and program your own engine (say Fairy-Max) to play king-of-the-hill when it is asked to play 'normal', and then play a 'normal' game against Stockfish.

WinBoard already has work-around options that could be used to fake the engine sent feature commands (e.g. to suppress WinBoard using 'ping' on engines that say the support ping, but where this is in fact not working properly). So one could install Stockfish with the extra option /firstFeatures={variants="king-of-the-hill"}, to make WinBoard belive Stockfish supports that variant. This will lead to WinBoard sending "variant king-of-the-hill" to Stockfish (or, in this case, Polyglot) at some point, however, which Polyglot would probably object to. So you could use InBetween to substitute 'king-of-the-hill' with 'normal' in the GUI->Engine channel to solve that problem. (I guess you could have done the reverse substitution in the Engine->GUI channel in stead of using the /firstFeatures option.) If you would then run Stockfish as second engine it would never know that it was not playing 'normal'. (And the GUI would never know it was not playing king-of-the-hill.)
Ferdy
Posts: 4846
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: King of the Hill programs?

Post by Ferdy »

Guenther wrote: When I saw this I remembered that I wanted to ask how to make this work.
In the WB version I had at that time I could not persuade WB to let Stockfish play a variant it does not know.
IIRC there was a popup saying sth like 'second program does not support that variant' and the game was closed or could not be started.
(which is of course ok for non-expert users and avoids erronous games)
Is there a way to suppress this message and let the game start under WB?

Guenther
Just install sf as uci engine, and install Gitna as normal wb engine too, but this is capable of claiming victory if own king is in center, and resign if opponent's king is in the center. The WB does not know that Gitna is playing on variant king-of-the-hill. I disabled WB verify engine claims, draw if insufficient material and adjudicate trivial draws.

But here is the real sf that knows the rule of KOTH. I compiled a source I found from here https://github.com/ddugovic/stockfish and enable the uci option for king of the hill. Gitna claimed a victory for sf here.
Stockfish 261014 64 by Tord Romstad, Marco Costalba and Joona Kiiski
uci
id name Stockfish 261014 64
id author Tord Romstad, Marco Costalba and Joona Kiiski

option name Write Debug Log type check default false
option name Contempt Factor type spin default 0 min -100 max 100
option name Min Split Depth type spin default 0 min 0 max 12
option name Threads type spin default 1 min 1 max 128
option name Hash type spin default 16 min 1 max 1048576
option name Clear Hash type button
option name Ponder type check default true
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Emergency Move Horizon type spin default 40 min 0 max 50
option name Emergency Base Time type spin default 60 min 0 max 30000
option name Emergency Move Time type spin default 30 min 0 max 5000
option name Minimum Thinking Time type spin default 20 min 0 max 5000
option name Slow Mover type spin default 80 min 10 max 1000
option name UCI_Chess960 type check default false
option name UCI_KingOfTheHill type check default false
uciok
Set to true the koth uci option.

[pgn]
[Event "Computer Chess Game"]
[Site "INTEL-PC"]
[Date "2014.10.26"]
[Round "-"]
[White "Stockfish 261014 64"]
[Black "Gitna v0.3"]
[Result "1-0"]
[TimeControl "40/180"]
[Annotator "1. +0.24 1... -0.39"]

1. e4 {+0.24/19} e5 {-0.39/17 8} 2. Nf3 {+0.34/19 5} Nc6 {-0.38/17 9} 3.
Bb5 {+0.34/20 2.0} a6 {-0.44/17 8} 4. Bxc6 {+0.12/17 2.8} dxc6
{-0.26/15 0.7} 5. O-O {+0.06/18 4} Qd6 {-0.09/15 4} 6. d3 {+0.36/17 3} Be6
{-0.09/17 4} 7. Nc3 {+0.35/19 9} f6 {-0.03/17 7} 8. Be3 {+0.17/19 4} O-O-O
{-0.11/16 4} 9. a3 {+0.18/20 8} Qd7 {+0.07/16 6} 10. b4 {+0.17/19 5} Kb8
{+0.11/16 6} 11. Qb1 {+0.36/20 6} Nh6 {+0.17/15 5} 12. a4 {+0.34/20 2.0}
Rg8 {-0.01/15 6} 13. Qb2 {+0.34/17 4} Bd6 {+0.00/15 6} 14. b5 {+0.88/21 8}
a5 {+0.02/16 5} 15. b6 {+1.08/19 3} Qe7 {-0.23/15 4} 16. bxc7+ {+1.19/21 6}
Bxc7 {-0.16/15 0.9} 17. Rab1 {+1.32/22 2.0} Qb4 {-0.34/18 5} 18. Qa1
{+1.21/21 3} Qd6 {-0.57/17 5} 19. Ne2 {+1.56/22 12} Ng4 {-0.73/16 4} 20.
Bb6 {+1.48/22 5} c5 {-0.64/17 4} 21. Bxc7+ {+1.34/22 5} Qxc7 {-0.52/16 1.1}
22. Qc3 {+1.35/19 2.6} c4 {-0.82/16 4} 23. d4 {+1.68/19 3} Bd7 {-1.17/15 4}
24. Rb2 {+1.48/18 4} exd4 {-1.15/16 4} 25. Nexd4 {+1.32/21 2.9} Rgf8
{-1.77/16 4} 26. Rfb1 {+2.13/22 7} Bc8 {-1.79/19 4} 27. h3 {+2.27/22 6} Ne5
{-2.03/19 4} 28. Nxe5 {+2.46/23 8} fxe5 {-2.18/18 0.4} 29. Nf3
{+2.46/23 1.7} Rf4 {-1.60/17 4} 30. Qe3 {+2.46/22 1.8} Rf6 {-1.98/17 4} 31.
Rb5 {+2.61/20 8} Re6 {-2.25/19 4} 32. Rc5 {+2.96/19 2.5} Rc6 {-2.53/18 4}
33. Rxc6 {+3.17/19 1.7} Qxc6 {-2.44/18 0.5} 34. Nxe5 {+3.27/19 6} Qc7
{-2.82/19 5} 35. Rb5 {+3.48/19 1.6} Rd1+ {-2.88/18 5} 36. Kh2 {+3.67/18 3}
Bd7 {-2.97/18 5} 37. Rc5 {+4.46/19 6} Bc6 {-3.27/17 5} 38. Kg3
{+4.46/19 1.5} Kc8 {-3.05/16 4} 39. Qf4 {+5.63/17 4} c3 {-3.86/13 5} 40.
Qg4+ {+14.31/19 4} Kb8 {-9.59/18 6} 41. Qxd1 {+58.13/20 6} h6 {-10.74/19 9}
42. Kf4 {+99.91/60 5} b6 {-299.92/13 1.7} 43. Qd8+ {+99.93/120 0.7} Kb7
{-299.94/12 4} 44. Qxc7+ {+99.95/120 0.1} Kxc7 {-299.96/13 0.5} 45. Nc4
{+99.97/120} bxc5 {-299.98/13 0.1} 46. Ke5 {+99.99/120 0.1}
{White K is in center} 1-0
[/pgn]