Chess variant tournament: Spartan Chess

Discussion of computer chess matches and engine tournaments.

Moderator: Ras

enhorning
Posts: 342
Joined: Wed Jan 05, 2011 10:05 pm

Re: Chess variant tournament: Spartan Chess

Post by enhorning »

hgm wrote:If you can provide me with a debug for a case where Oberon hangs, I can check if the fault is with Oberon or WinBoard. I think I did run Oberon in my "Thermopilae Marathon" Spartan tourney last year, and I can't recall there were any problems with it then. (Not sure if that was the same version, though.)
Okay, I downloaded and installed the new version you linked.

Here is the end of the winboard debug-log where it ends up waiting for Oberon:

Parsed game end: *
GameEnds(28, , 3)
ForwardInner(1), current 0, forward 1
PauseEvent(): pausing 0
LoadGame(): on exit, gameMode 7
StartChildProcess (dir="C:\WinBoard-4.7.0\Oberon") oberonspartan.exe
nice engine proc to 10
589561 >first : xboard
protover 2
589562 <first :
589562 <first : Oberon Chess Engine
589562 <first : version 0.04, 2011/02/03
589562 <first : Copyright 2010 Pawel Koziol
589562 <first :
589562 <first : "help" displays a list of commands.
589563 <first :
589563 <first : Cannot open oberon.ini, default settings will be used
589563 <first :
589563 <first : oberon>
589563 <first :
589563 <first : feature colors=1
589563 >first : accepted colors
589563 <first : feature myname="Oberon 0.04"
589563 >first : accepted myname
589563 <first : feature sigint=0
589563 >first : accepted sigint
589564 <first : feature sigterm=0
589564 >first : accepted sigterm
589564 <first : feature time=1
589564 >first : accepted time
589564 <first : feature pause=0
589564 >first : accepted pause
589564 <first : feature variants="normal,nocastle,spartan,fairy"
589564 >first : accepted variants
589564 <first : feature ping=0
589564 >first : accepted ping
589564 <first : feature random=0
589564 >first : rejected random
589564 <first : feature name=0
589565 >first : accepted name
589565 <first : feature reuse=0
589565 >first : accepted reuse
589565 <first : feature setboard=1
589565 >first : accepted setboard
589565 <first : feature ics=1
589565 >first : accepted ics
589565 <first : done=1
User avatar
hgm
Posts: 28461
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chess variant tournament: Spartan Chess

Post by hgm »

Hmm, I seem to have some difficulty in finding a non-buggy version of Spartacus. I will take a look on my old Core 2 Duo, where the version I used in the Thermopilae Marathon should still be around. That version did not have any problems.

The Stalemate is a claim from one of the engines, as XBoard always prints 'XBoard adjudication:' in the result message. When WinBoard is set to adjudicate mates, it should always beat the engine to it, and problems like this should disappear.

I suspect that Pair-o-Max is at fault here, however, as on the previous move it did not see the mate coming. (Well, this is not surprising, actually, as it does not search under-promotion. Sangga, however, did print a mate score.) I will check what Pair-o-Max claims when I feed it this game.
User avatar
hgm
Posts: 28461
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chess variant tournament: Spartan Chess

Post by hgm »

enhorning wrote:589565 <first : feature ics=1
589565 >first : accepted ics
589565 <first : done=1
This is an Oberon bug. It should send feature done=1, (or put it on the same line as 'feature ics=1'), but it omits the 'feature'.

This sort of thing can be fixed with InBetween (having it substitute done=1 by feature done=1 in the engine->GUI channel), but Pawel reads here regularly, so we can just ask him to fix it.
Ferdy
Posts: 4851
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Chess variant tournament: Spartan Chess

Post by Ferdy »

hgm wrote:
Ferdy wrote:There is indeed a problem, Nebiyu sent promote move with a piece in capital letter, and winboard v4.6.2 also sent it in capital.
This definitely is both a Nebiyu and a WinBoard bug.

Promotions in the protocol move format (long algebraic) must be always lower case. I don't know why Daniel thinks differently; perhaps he is confusing it with piece types in drop moves, which should always be upper case.

WinBoard understands both, because it also understands SAN, which prescribes promotion characters in upper case (after =). But it is of course wrong that this can leak to the other engine. I remember fixing that, but it could be I only did that in the development version. WB 4.6.2 is pretty old by now. Could you try if the latest development version also has this problem? It can be obtained from the test installer for 4.7.0, at http:/hgm.nubati.net/WinBoard-4.7.0.exe. WinBoard.4.7.beta.zip is slightly older, but should also be OK.
Tried WinBoard master-20130208 and this bug is fixed :), winboard correctly sent the promote piece in lower case even though it received from a move with an upper case promote piece.

Code: Select all

38858 <second: move g2h1G
38858 >first : time 11753
38859 >first : otim 11599
book hit = (NULL)
38859 >first : g2h1g
enhorning
Posts: 342
Joined: Wed Jan 05, 2011 10:05 pm

Re: Chess variant tournament: Spartan Chess

Post by enhorning »

Received another Spartacus version from HMG. This one seems to not crash, so I am going to start the tournament proper - Oberon will just have to miss out on this one, been enough delays already.

Had another weird game in this blitz test:

[Event "Computer Chess Game"]
[Site "ENHORNING"]
[Date "2013.02.09"]
[Round "7"]
[White "Fairy-Max 4.8Rt"]
[Black "NebiyuChess_1.43"]
[Result "0-1"]
[TimeControl "60/30"]
[Variant "spartan"]
[Annotator "2. -0.76 1... +0.30"]

1. a3 Lc6 {+0.30/12 0.5} 2. c4 {-0.76/6 0.5} Hac5 {+0.55/12 0.5} 3. d3
{-0.85/6 0.3} Hxc4 {+0.55/12 0.4} 4. Nd2 {-1.05/6 0.6} Lf6 {+0.55/13 0.5}
5. Nxc4 {-0.88/7 0.5} Hbd5 {+0.60/12 0.4} 6. Be3 {-0.74/6 0.5} Ld4
{+1.10/13 0.4} 7. Bxd4 {-0.79/7 1.1} Hxd4 {+1.10/11 0.1} 8. Qc2
{-0.96/6 0.6} Wf6 {+1.30/12 0.4} 9. O-O-O {-0.73/6 0.6} Hxd3 {+1.80/13 0.4}
10. exd3 {-1.46/6 0.3} Wd4 {+1.80/15 0.5} 11. Qe2 {-1.44/7 1.6} Hhf5
{+1.75/12 0.5} 12. Nf3 {-1.32/7 0.8} Wxe2+ {+1.85/14 0.5} 13. Bxe2
{-1.52/7 0.4} Hgf6 {+1.85/13 0.4} 14. Nfe5 {-1.43/7 0.8} Ce6 {+2.00/12 0.5}
15. Nxc6 {-1.24/8 0.3} Hxc6 {+2.05/14 0.4} 16. h4 {-1.12/7 0.3} Hc5
{+2.20/13 0.5} 17. Ne3 {-1.26/8 0.8} Cdd6 {+2.20/13 0.5} 18. h5
{-0.66/7 0.6} Ke7 {+2.25/12 0.4} 19. h6 {+0.11/8 0.5} Kc7 {+2.30/13 0.5}
20. h7 {+0.05/7 0.3} Gh8 {+2.30/15 0.5} 21. g4 {+0.09/6 0.9} He4
{+2.40/14 0.5} 22. Nc2 {+0.00/7 0.7} Hd4 {+2.30/13 0.5} 23. Bf3
{+0.02/6 0.4} Hxd3 {+2.45/15 0.5} 24. Rxd3 {-0.01/6 0.3} He5 {+2.45/14 0.4}
25. Nd4 {-0.29/6 0.3} Cd5 {+2.50/13 0.4} 26. Rdd1 {-0.07/8 0.6} Cf6
{+2.40/13 0.5} 27. Ne2 {+0.06/7 0.3} Kcd6 {+2.25/13 0.5} 28. b4
{+0.15/6 0.3} Kee6 {+2.30/14 0.7} 29. b5 {+0.23/7 0.2} Hf5 {+2.45/12 0.5}
30. bxc6 {+0.25/6 0.6} Kxc6 {+2.35/14 0.5} 31. Rd2 {+0.07/7 0.3} Kcd6
{+2.40/12 0.4} 32. Ng3 {+0.02/6 0.7} Cf4 {+2.50/13 0.4} 33. gxf5
{-0.05/6 0.3} Kf6 {+2.45/14 0.4} 34. Bg2 {-0.43/8 0.5} Cg4 {+2.50/11 0.4}
35. Bf3 {-0.26/7 0.3} Cxg3 {+2.60/13 0.4} 36. fxg3 {-0.22/8 0.3} Kxf5
{+2.50/14 0.5} 37. Rf2 {-0.42/7 0.5} Kg6 {+2.55/13 0.5} 38. Rfh2
{-0.58/8 0.6} Cd3 {+2.90/15 0.5} 39. Bg4 {-0.63/8 0.8} Kg5 {+2.95/14 0.5}
40. Bh5 {-0.62/7 0.2} Kf6 {+2.90/12 0.4} 41. Bg4 {-0.74/7 0.3} He6
{+2.85/15 0.5} 42. Rf1 {-0.41/7 0.4} Kg5 {+3.00/14 0.5} 43. Bd1
{-0.83/7 0.3} Ke7 {+3.00/14 0.5} 44. a4 {-0.96/7 0.3} Gc8+ {+2.95/14 0.5}
45. Kb1 {-0.88/6 0.2} Gb8+ {+2.90/16 0.6} 46. Rb2 {-0.96/7 0.5} Cxd1+
{+2.80/15 0.4} 47. Rxd1 {-0.60/9 0.3} Gh8 {+2.75/15 0.5} 48. Rh1
{-0.65/9 0.6} Hf5 {+2.75/15 0.5} 49. a5 {-0.56/7 0.5} Kg6 {+0.60/11 0.7}
50. a6 {+0.18/7 0.3} Kg7 {-1.30/16 0.4} 51. a7 {+1.06/7 0.4} Ga8
{-2.90/19 1.0} 52. Rb8 {+0.53/6 0.3} Gxa7 {-0.75/18 0.5} 53. h8=Q
{+1.17/10 0.2} Kxh8 {-1.00/18 0.5} 54. Rhxh8 {+1.20/9 0.7} Ga3
{-0.85/17 0.4} 55. Rh6 {+1.17/8 0.3} Kd7 {-0.90/16 0.5} 56. Rb7+
{+1.21/8 0.3} Kc8 {-0.60/16 0.5} 57. Rf7 {+1.13/8 0.2} Gb3+ {-1.20/19 0.5}
58. Kc1 {+1.14/9 0.3} Gc3+ {-1.75/18 0.4} 59. Kd1 {+1.12/9 0.2} Gd3+
{-1.80/18 0.4} 60. Ke1 {+1.10/10 0.5} Ge3+ {-1.80/20 0.6} 61. Kf1
{+1.08/10 0.5} Gf3+ {-1.70/20 0.5} 62. Kg1 {+0.93/10 0.4} Gxg3+
{-1.60/20 0.4} 63. Kh1 {+0.96/11 0.4} Gg8 {-1.60/18 0.5} 64. Rc6+
{+1.02/10 0.7} Kd8 {-1.00/18 0.5} 65. Rd6+ {+0.97/10 0.5} Kc8
{-1.25/18 1.0} 66. Rdf6 {+0.94/10 0.4} Gg4 {-1.65/17 0.4} 67. Rxf5
{+0.98/10 0.8} Hd3 {-0.60/16 0.4} 68. Rxe5 {+1.08/10 0.6} Hc2
{+0.00/19 0.5} 69. Re8+ {+79.99/28 0.1}
{False win claim: 'White mates'} 0-1

Looks like a mate to me (but again, I am not all that familiar with Spartan). Curious that Winboard rejected it as a False Claim, and curious that Nebiyu is not seeing mate scores.
Ferdy
Posts: 4851
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Chess variant tournament: Spartan Chess

Post by Ferdy »

enhorning wrote:Received another Spartacus version from HMG. This one seems to not crash, so I am going to start the tournament proper - Oberon will just have to miss out on this one, been enough delays already.

Had another weird game in this blitz test:

[Event "Computer Chess Game"]
[Site "ENHORNING"]
[Date "2013.02.09"]
[Round "7"]
[White "Fairy-Max 4.8Rt"]
[Black "NebiyuChess_1.43"]
[Result "0-1"]
[TimeControl "60/30"]
[Variant "spartan"]
[Annotator "2. -0.76 1... +0.30"]

1. a3 Lc6 {+0.30/12 0.5} 2. c4 {-0.76/6 0.5} Hac5 {+0.55/12 0.5} 3. d3
{-0.85/6 0.3} Hxc4 {+0.55/12 0.4} 4. Nd2 {-1.05/6 0.6} Lf6 {+0.55/13 0.5}
5. Nxc4 {-0.88/7 0.5} Hbd5 {+0.60/12 0.4} 6. Be3 {-0.74/6 0.5} Ld4
{+1.10/13 0.4} 7. Bxd4 {-0.79/7 1.1} Hxd4 {+1.10/11 0.1} 8. Qc2
{-0.96/6 0.6} Wf6 {+1.30/12 0.4} 9. O-O-O {-0.73/6 0.6} Hxd3 {+1.80/13 0.4}
10. exd3 {-1.46/6 0.3} Wd4 {+1.80/15 0.5} 11. Qe2 {-1.44/7 1.6} Hhf5
{+1.75/12 0.5} 12. Nf3 {-1.32/7 0.8} Wxe2+ {+1.85/14 0.5} 13. Bxe2
{-1.52/7 0.4} Hgf6 {+1.85/13 0.4} 14. Nfe5 {-1.43/7 0.8} Ce6 {+2.00/12 0.5}
15. Nxc6 {-1.24/8 0.3} Hxc6 {+2.05/14 0.4} 16. h4 {-1.12/7 0.3} Hc5
{+2.20/13 0.5} 17. Ne3 {-1.26/8 0.8} Cdd6 {+2.20/13 0.5} 18. h5
{-0.66/7 0.6} Ke7 {+2.25/12 0.4} 19. h6 {+0.11/8 0.5} Kc7 {+2.30/13 0.5}
20. h7 {+0.05/7 0.3} Gh8 {+2.30/15 0.5} 21. g4 {+0.09/6 0.9} He4
{+2.40/14 0.5} 22. Nc2 {+0.00/7 0.7} Hd4 {+2.30/13 0.5} 23. Bf3
{+0.02/6 0.4} Hxd3 {+2.45/15 0.5} 24. Rxd3 {-0.01/6 0.3} He5 {+2.45/14 0.4}
25. Nd4 {-0.29/6 0.3} Cd5 {+2.50/13 0.4} 26. Rdd1 {-0.07/8 0.6} Cf6
{+2.40/13 0.5} 27. Ne2 {+0.06/7 0.3} Kcd6 {+2.25/13 0.5} 28. b4
{+0.15/6 0.3} Kee6 {+2.30/14 0.7} 29. b5 {+0.23/7 0.2} Hf5 {+2.45/12 0.5}
30. bxc6 {+0.25/6 0.6} Kxc6 {+2.35/14 0.5} 31. Rd2 {+0.07/7 0.3} Kcd6
{+2.40/12 0.4} 32. Ng3 {+0.02/6 0.7} Cf4 {+2.50/13 0.4} 33. gxf5
{-0.05/6 0.3} Kf6 {+2.45/14 0.4} 34. Bg2 {-0.43/8 0.5} Cg4 {+2.50/11 0.4}
35. Bf3 {-0.26/7 0.3} Cxg3 {+2.60/13 0.4} 36. fxg3 {-0.22/8 0.3} Kxf5
{+2.50/14 0.5} 37. Rf2 {-0.42/7 0.5} Kg6 {+2.55/13 0.5} 38. Rfh2
{-0.58/8 0.6} Cd3 {+2.90/15 0.5} 39. Bg4 {-0.63/8 0.8} Kg5 {+2.95/14 0.5}
40. Bh5 {-0.62/7 0.2} Kf6 {+2.90/12 0.4} 41. Bg4 {-0.74/7 0.3} He6
{+2.85/15 0.5} 42. Rf1 {-0.41/7 0.4} Kg5 {+3.00/14 0.5} 43. Bd1
{-0.83/7 0.3} Ke7 {+3.00/14 0.5} 44. a4 {-0.96/7 0.3} Gc8+ {+2.95/14 0.5}
45. Kb1 {-0.88/6 0.2} Gb8+ {+2.90/16 0.6} 46. Rb2 {-0.96/7 0.5} Cxd1+
{+2.80/15 0.4} 47. Rxd1 {-0.60/9 0.3} Gh8 {+2.75/15 0.5} 48. Rh1
{-0.65/9 0.6} Hf5 {+2.75/15 0.5} 49. a5 {-0.56/7 0.5} Kg6 {+0.60/11 0.7}
50. a6 {+0.18/7 0.3} Kg7 {-1.30/16 0.4} 51. a7 {+1.06/7 0.4} Ga8
{-2.90/19 1.0} 52. Rb8 {+0.53/6 0.3} Gxa7 {-0.75/18 0.5} 53. h8=Q
{+1.17/10 0.2} Kxh8 {-1.00/18 0.5} 54. Rhxh8 {+1.20/9 0.7} Ga3
{-0.85/17 0.4} 55. Rh6 {+1.17/8 0.3} Kd7 {-0.90/16 0.5} 56. Rb7+
{+1.21/8 0.3} Kc8 {-0.60/16 0.5} 57. Rf7 {+1.13/8 0.2} Gb3+ {-1.20/19 0.5}
58. Kc1 {+1.14/9 0.3} Gc3+ {-1.75/18 0.4} 59. Kd1 {+1.12/9 0.2} Gd3+
{-1.80/18 0.4} 60. Ke1 {+1.10/10 0.5} Ge3+ {-1.80/20 0.6} 61. Kf1
{+1.08/10 0.5} Gf3+ {-1.70/20 0.5} 62. Kg1 {+0.93/10 0.4} Gxg3+
{-1.60/20 0.4} 63. Kh1 {+0.96/11 0.4} Gg8 {-1.60/18 0.5} 64. Rc6+
{+1.02/10 0.7} Kd8 {-1.00/18 0.5} 65. Rd6+ {+0.97/10 0.5} Kc8
{-1.25/18 1.0} 66. Rdf6 {+0.94/10 0.4} Gg4 {-1.65/17 0.4} 67. Rxf5
{+0.98/10 0.8} Hd3 {-0.60/16 0.4} 68. Rxe5 {+1.08/10 0.6} Hc2
{+0.00/19 0.5} 69. Re8+ {+79.99/28 0.1}
{False win claim: 'White mates'} 0-1

Looks like a mate to me (but again, I am not all that familiar with Spartan). Curious that Winboard rejected it as a False Claim, and curious that Nebiyu is not seeing mate scores.
Winboard adjudication is correct, black is not yet mated because this is still black to play and black may promote to a 2nd king. In the diag, black queen = General and black pawn = hoplite.
[d]2k1R3/5R2/8/8/6q1/8/2p5/7K b - - 1 69

Check this out also.
http://www.talkchess.com/forum/viewtopi ... ht=spartan
User avatar
hgm
Posts: 28461
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chess variant tournament: Spartan Chess

Post by hgm »

Fairy-Max does not know about under-promotion, and that includes underpromotion to King. Perhaps I should have it refrain from making mate claims in Spartan, because after you enter the minor promotion, it would be able to continue the game, as it sees a King again.
User avatar
hgm
Posts: 28461
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chess variant tournament: Spartan Chess

Post by hgm »

enhorning wrote:52. Ke4 {-16.76/7 0.1} Hd2 {+99.89/9 1.0} 53. Bd5
{-21.94/7 0.3} He1=G# {+99.99/7 1.5}
{Stalemate} 1/2-1/2
This wrong claim was due to Pair-o-Max. It seems to be due to a false hash hit during the check test. In Fairy-Max the null-move search doubles as check test. It relies on the first iteration of its internal iterative deepening to go through all moves (with cutoffs disabled except for King capture) to find the best MVV/LVA move. So no matter what the limits of the search window are, if the null move can be refuted by King capture (i.e. you were in check), its search returns -INF score immediately.

But not if the first iterations are skipped because of a deep hash hit! Then the hash score is immediately returned.

Of course on a true hash hit there never can be a deeper hit, as previous time you searched that position, you could capture the King too. But here the under-promotion just before had led to invalidation of the hash key by adding something. Apparently this leads to a chance collision with invalid hash entries from before the under-promotion.

Indeed the stalemate claim becomes a mate claim if I only have it think on the mate position, and not on the move before it (so that the hash table is still empty).

So I guess this is such a rare thing that it does not need fixing. (I.e., the possibility for this to happen will not have any impact on the quality of the search, and running WinBoard with mate testing on suppresses the false claims when they happen in the root.)
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Chess variant tournament: Spartan Chess

Post by Evert »

hgm wrote:Fairy-Max does not know about under-promotion, and that includes underpromotion to King. Perhaps I should have it refrain from making mate claims in Spartan, because after you enter the minor promotion, it would be able to continue the game, as it sees a King again.
I was under the impression that it already did that (or at least, that there used to be a version that did that)?
User avatar
hgm
Posts: 28461
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chess variant tournament: Spartan Chess

Post by hgm »

Oh, I forgot that, but it is very possible. It could be that this patch never made it into the main branch, however.

Another thing: I start to worry about this Oberon bug a bit. Not sending feature done=1 need not be fatal in itself, as it never sent done=0 earlier. So it means that the timeout of 10 sec is applied. But after 10 sec it should start normally. This is probably why I did not notice any problems in the Thermopilae Marathon.

If it does not start within 10 sec in newer WinBoards, there must be some error in the those WinBoard...