Theban Chess

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

Moderators: hgm, Dann Corbit, Harvey Williamson

Uri Blass
Posts: 10098
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Theban Chess

Post by Uri Blass »

I understand that it is generalization of the regular rules of chess and I still think that it is not fair to consider stockfish as 3200 engine for the discussion.

Chess engines are not supposed to be able to play with more than 8 pawns or with pawns in the first rank and many chess engines are not going to work in these conditions.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Theban Chess

Post by Laskos »

Uri Blass wrote:I understand that it is generalization of the regular rules of chess and I still think that it is not fair to consider stockfish as 3200 engine for the discussion.

Chess engines are not supposed to be able to play with more than 8 pawns or with pawns in the first rank and many chess engines are not going to work in these conditions.
Sure, and it's probably easy to tune the StockFish eval to play well this game. I was saying that just in the context when the position was similar to that in an endgame of chess, although some pawns were still first-rank, in a totally lost position for the clueless StockFish. StockFish and Komodo (Komodo sometimes stalls) are the only of strong ones I know to play that. I am not sure how they evaluate first-rank pawns, and your remark is pertinent, but the delight in beating systematically StockFish just due to my sheer intentions (wing onslaught) was high :) Surely not 3200 Elo on this game, but maybe easily tunable to be unbeatable, I would like to have as many super-engines as possible, as such, optimized for standard chess, but beatable in Theban chess.

Kai

ps Houdini can analyze the starting position, and gives the most correct evaluation of all, slight advantage for White. I would be curious how it plays it.
User avatar
hgm
Posts: 27700
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Theban Chess

Post by hgm »

OK, that is a good point: when you promote you want to have a chance to still prevent the other side from promoting, or you will have too many draws. So the promotion piece must not lack speed,and be able to overtake a Pawn. That would make the Knight a much better choice than Ferz, Omni or non-royal King. The Knight has the problem, however, that although it can stop advancing passers, it cannot kill them.

An interesting alternative could be a piece that moves like a Knight (for speed) but captures like a King. The other 3 combinations of N and K moves (normal Knight, non-royal King and piece that moves as King but captures as Knight) turned out approximately equal in value, but the one with K-capt + N-non-capt is significantly (at least 50 cP) stronger.

There is not much evaluation in Fairy-Max, except piece values and a light tendency for centralization. For pawns there is a bonus to push them, a hefty bonus (64 cP) for being on 6th rank, and 128 cP for 7th-rank. I don't think that needs much adjustment even when you can only promote to Knight. In practice it matters very little how strong the piece is you promote to (as long as it is at least a minor), because the opponent almost never lets you keep the piece(if the game is not yet decided). So in practice promotion means the opponent loses a minor, and the 6th & 7th-rank bonuses make the Pawn value nicely converge towards the value of a minor. Only in variants where the value specified for the promotion piece is below 150 (such as the worthless Ferz of Shatranj), Fairy-Max divides the bonuses by 8.

Below are definitions you would need for the move-N-capt-K piece (h) and a piece (g) that moves 1 or jumps 2 in any (queen-like) direction.

Code: Select all

h:425 14,6 31,6 33,6 18,6 -14,6 -31,6 -33,6 -18,6 1,5 -1,5 16,5 15,5 17,5 -16,5 -15,5 -17,5
g:750 1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7 2,7 -2,7 32,7 30,7 34,7 -32,7 -30,7 -34,7
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Theban Chess

Post by Laskos »

hgm wrote:OK, that is a good point: when you promote you want to have a chance to still prevent the other side from promoting, or you will have too many draws. So the promotion piece must not lack speed,and be able to overtake a Pawn. That would make the Knight a much better choice than Ferz, Omni or non-royal King. The Knight has the problem, however, that although it can stop advancing passers, it cannot kill them.

An interesting alternative could be a piece that moves like a Knight (for speed) but captures like a King. The other 3 combinations of N and K moves (normal Knight, non-royal King and piece that moves as King but captures as Knight) turned out approximately equal in value, but the one with K-capt + N-non-capt is significantly (at least 50 cP) stronger.

There is not much evaluation in Fairy-Max, except piece values and a light tendency for centralization. For pawns there is a bonus to push them, a hefty bonus (64 cP) for being on 6th rank, and 128 cP for 7th-rank. I don't think that needs much adjustment even when you can only promote to Knight. In practice it matters very little how strong the piece is you promote to (as long as it is at least a minor), because the opponent almost never lets you keep the piece(if the game is not yet decided). So in practice promotion means the opponent loses a minor, and the 6th & 7th-rank bonuses make the Pawn value nicely converge towards the value of a minor. Only in variants where the value specified for the promotion piece is below 150 (such as the worthless Ferz of Shatranj), Fairy-Max divides the bonuses by 8.

Below are definitions you would need for the move-N-capt-K piece (h) and a piece (g) that moves 1 or jumps 2 in any (queen-like) direction.

Code: Select all

h:425 14,6 31,6 33,6 18,6 -14,6 -31,6 -33,6 -18,6 1,5 -1,5 16,5 15,5 17,5 -16,5 -15,5 -17,5
g:750 1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7 2,7 -2,7 32,7 30,7 34,7 -32,7 -30,7 -34,7
I tried both Knight and non-royal King, both failed somehow, at least in engine-engine games. The draw ratio dropped to 40-50%, but it was usually a material win by White, if a win, one who got more Knights or Kings. I mostly managed to beat Fairy-Max, but it was a very unimpressive show, with three Kings total material remaining or so, I guess StockFish would toast me. Both the Knight and the King are too weak to finish the job. Can you post the full .ini files with these last, more potent pieces? I am doing something stupid when inserting them by one line, the promotion is always to the non-royal King, as before.


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

Re: Theban Chess

Post by hgm »

Hmm, I noticed there are some bugs / unintended behavior in WinBoard, in relation to these variants. :oops:

The idea is that the engine sends a "setup" command to WinBoard in reply to the variant command, to tell WB the FEN of the initial position, and (optionally) the pieceToCharTable needed to interpret this. But when the user had already set up a position, I let WB ignore this, to prevent it from being reset to the initial position, which is obviously something you don't want. Unfortunately this makes WB also ignore the pieceToCharTable specified by the engine (a feature I added later), which affects how it sends the position to the second engine, and the promotion choice offered to the user. So currently it is needed to specify the pieceToCharTable externally when you use a set-up position, as the value given after # in the fmax.ini file will not be accepted by WB in that case.

I will fix this before the official release of 4.6.0.
User avatar
hgm
Posts: 27700
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Theban Chess

Post by hgm »

This is the definition of Theban Chess with a 'short-range Queen' (moving 1 step, or jumping 2). This should be a pretty devastating piece, worth ~700 cP in the context of FIDE Chess.

To work around the above-mentioned bug, I now let the promotion piece always use the letter Q, and represent it by a Queen symbol, so that WinBoard will understand them even when the standardpieceToCharTable for variant fairy is not overruled by the engine's setup command. You just select promotion to Queen, and you should get the fairy piece.

Code: Select all

// Theban Chess (legality-testing off!)
Game: fairy/Theban_G # PN..QKpn..qk
8x8
1 1 1 1 1 1 3 4
2 2 2 2 2 2 3 4
p:100 -16,6 -15,5 -17,5
p:100 16,6 15,5 17,5
n:350 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7
k:-1  1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7
e:400 15,3 17,3 -15,3 -17,3
R:600 16,3 -16,3 -1,3 1,3
q:750  1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7 2,7 -2,7 32,7 -32,7 30,7 -30,7 34,7 -34,7
This is for the version with the King/Knight chimera (which might still be too weak for what you want):

Code: Select all

// Theban Chess (legality-testing off!)
Game: fairy/Theban_H # PN..QKpn..qk
8x8
1 1 1 1 1 1 3 4
2 2 2 2 2 2 3 4
p:100 -16,6 -15,5 -17,5
p:100 16,6 15,5 17,5
n:350 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7
k:-1  1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7
e:400 15,3 17,3 -15,3 -17,3
R:600 16,3 -16,3 -1,3 1,3
q:400  1,5 -1,5 16,5 15,5 17,5 -16,5 -15,5 -17,5 14,6 31,6 33,6 18,6 -14,6 -31,6 -33,6 -18,6
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Theban Chess

Post by Laskos »

hgm wrote:This is the definition of Theban Chess with a 'short-range Queen' (moving 1 step, or jumping 2). This should be a pretty devastating piece, worth ~700 cP in the context of FIDE Chess.
Works! And works nicely, thanks.

To work around the above-mentioned bug, I now let the promotion piece always use the letter Q, and represent it by a Queen symbol, so that WinBoard will understand them even when the standardpieceToCharTable for variant fairy is not overruled by the engine's setup command. You just select promotion to Queen, and you should get the fairy piece.
User avatar
hgm
Posts: 27700
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Theban Chess

Post by hgm »

A fixed version of WinBoard is now included in the http://hgm.nubati.net/WinBoard-4.5TM.exe installer package.

*) It pays attention to the engine's setup command even with legality testing on when in variant fairy.
*) It pays attention to the pieceToCharTable in the setup command even when playing from a setup position
*) It no longer mixes up option settings for first and second engine when you use it with -singleEngineList true (as is default)
*) With -sweepPromotions true ('Almost always promote to Queen') it now suggests any defined fairy pieces before orthodox pieces, in Queenless variants.

In this version it should be possible to install Fairy-Max as

fmax /fd="..\Fairy-Max" /firstOptions="Variant fairy selects=Theban_G" /variant=fairy /lpf=theban.fen /testLegality=false

to have it fully configured for playing Theban Chess as soon as you load it.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Theban Chess

Post by Laskos »

Uri Blass wrote:I understand that it is generalization of the regular rules of chess and I still think that it is not fair to consider stockfish as 3200 engine for the discussion.

Chess engines are not supposed to be able to play with more than 8 pawns or with pawns in the first rank and many chess engines are not going to work in these conditions.
Another point, StockFish 2.1.1 searches 20-30 plies deep when playing me, at least on this you have to admit it's strong even in Theban. Here is an an example of a tentative rating in Theban chess, even if the engines are designed to play standard chess. In the following the games played are only Theban chess, and you will see that StockFish 2.1.1 stands high there.

1)

Code: Select all

    Program                            Score     %    Av.Op.  Elo    +   -    Draws

  1 StockFish 2.1.1                :  73.5/100  73.5   2911   3089   73  70   13.0 %
  2 StockFish 1.4                  :  26.5/100  26.5   3089   2911   70  73   13.0 %

In Theban chess, the Elo (tentatively appliable, I don't see a reason why in Chess and Go it works, and here not) difference between StockFish 2.1.1 and StockFish 1.4 is ~180 Elo points. In normal chess, it's ~240 Elo points according to CCRL


2) I played 500 games 40/1 minute between StockFish 1.4 and Fairy-Max. Fairy-Max got 1 draw. With 99.9% performance StockFish 1.4 is ~1200 Elo points (large errors) stronger than Fairy-Max in Theban chess.

3) One could assign the Fairy-Max pretty arbitrary strength in Theban chess as compared to normal chess. In normal chess it's 1600-1800 Elo, and the tactics of Theban are such that a similar rating for Theban should be assigned as at least 1200 or 1400. I mean, most novices would be beaten by Fairy-Max in Theban, play it to see.

I assign to the Fairy-Max a Theban rating of ~1400 Elo. Then StockFish 1.4 is ~2600 Elo. And StockFish 2.1.1 ~2800 Elo. Large errors and an arbitrariness, but I repeat, StockFish 2.1.1 playing me searchhes 20-30 plies deep, he sees probably all the tactics, and it's a joy to see his evaluation of the position slowly conforming to my, human evaluation, usually too late to react. And it's a 2800 Elo Theban engine.

Sure, the eval can be tuned to play the Theban well, but it would probably screw its normal chess performance.

Kai
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Theban Chess

Post by Laskos »

hgm wrote:A fixed version of WinBoard is now included in the http://hgm.nubati.net/WinBoard-4.5TM.exe installer package.

*) It pays attention to the engine's setup command even with legality testing on when in variant fairy.
*) It pays attention to the pieceToCharTable in the setup command even when playing from a setup position
*) It no longer mixes up option settings for first and second engine when you use it with -singleEngineList true (as is default)
*) With -sweepPromotions true ('Almost always promote to Queen') it now suggests any defined fairy pieces before orthodox pieces, in Queenless variants.

In this version it should be possible to install Fairy-Max as

fmax /fd="..\Fairy-Max" /firstOptions="Variant fairy selects=Theban_G" /variant=fairy /lpf=theban.fen /testLegality=false

to have it fully configured for playing Theban Chess as soon as you load it.
Thanks, I played an let to play the engines the variant with the "short-range Queen", that piece is devastating enough. The variant is the most historically accurate, the game is balanced (Fairy-Max tends to win a bit more as White in self-play, but my impression is that a super-engine would have a balance no different from that with normal Queen, this Queen is almost always as good as a normal Queen, being a non-slider nevertheless). As a human it's very much fun to play that, if one avoids blunders and keeps his plans, he could go for a win. I am avoiding stupid blunders by taking back :). Two-human play would be interesting. Also, if more engines would play that, I could build a rating list in Theban. Komodo 3 seems the level of StockFish 2.1.1, Houdini 1.5a evaluates the starting position very correctly, as pretty equal, but cannot play.

I played 500 games in WinBoard with the normal Queen, accepted by StockFish, Fairy-Max against StockFish 1.4. Out of 500 games, 499 were won by StockFish 1.4, but 1 was draw. Here I am showing the drawn by Fairy-Max (White) game:


[Event "Computer Chess Game"]
[Site "ANI-PC"]
[Date "2011.11.05"]
[Round "163"]
[White "Fairy-Max 4.8R"]
[Black "Stockfish 1.4 JA 64bit"]
[Result "1/2-1/2"]
[FEN "1p6/2p3kn/3p2pp/4pppp/5ppp/8/PPPPPPPP/PPPPPPKN w - - 0 1"]
[Termination "normal"]
[PlyCount "79"]

{-------------- . p . . . . . . . . p . . . k n . . . p . . p p . . . . p p
p p . . . . . p p p . . . . . . . . P P P P P P P P P P P P P P K N white
to play --------------} 1. a4 {+1.70/7} b7 {+2.82/15 4} 2. a2 {+1.44/8 1.8}
Nf6 {+2.54/14 1.0} 3. a3 {+2.38/7 1.0} Kf7 {+2.82/14 4} 4. c4 {+2.60/7 1.5}
d5 {+2.10/14 4} 5. cxd5 {+2.62/8 1.3} Nxd5 {+1.65/14 0.9} 6. d3 {+3.12/7
0.6} g3 {+1.31/14 3} 7. c2 {+3.16/8 0.6} gxh2+ {+1.51/14 3} 8. Kxh2
{+3.07/9 1.1} Ke6 {+1.31/15 1.9} 9. d2 {+3.55/8 1.1} Ne7 {+1.03/15 1.9} 10.
Kh3 {+3.68/7 0.7} g4+ {+1.49/13 2.2} 11. Kh2 {+3.39/9 2.5} e4 {+1.35/14
0.2} 12. e3 {+3.60/7 0.8} exd3 {+0.82/14 2.8} 13. cxd3 {+4.11/8 0.6} Nd5
{+0.36/13 1.1} 14. exf4 {+4.32/9 1.0} Nxf4 {+0.56/17 2.6} 15. e2 {+4.63/9
0.9} Kd6 {+0.68/14 0.7} 16. g3 {+4.81/8 0.7} Ne6 {+0.50/16 1.7} 17. gxh4
{+4.95/9 0.9} g5 {+0.16/14 1.7} 18. hxg5 {+5.61/9 0.9} hxg5 {+0.04/16 1.3}
19. Ng3 {+5.64/9 1.8} Ng7 {-0.50/17 0.1} 20. b4 {+5.40/9 0.7} h4 {-0.18/16
1.6} 21. Nh1 {+5.42/9 0.5} Ne6 {+0.10/15 1.3} 22. e3 {+5.49/9 0.7} Nf8
{-0.08/14 0.1} 23. b2 {+6.22/9 0.6} Nd7 {-0.18/15 1.4} 24. d4 {+6.23/9 0.7}
Kd5 {-0.18/15 0.1} 25. b3 {+6.07/9 0.6} Nf6 {-0.34/14 1.5} 26. d3 {+6.10/9
0.7} f4 {-0.40/14 0.1} 27. Kg2 {+5.59/9 1.0} c6 {-0.22/14 1.4} 28. a5
{+5.84/10 1.1} Ne8 {-0.04/15 0.7} 29. Kg1 {+5.74/9 0.9} Nc7 {+0.18/16 1.1}
30. a4 {+5.13/9 0.5} Na6 {+0.56/16 1.0} 31. b5 {+5.37/10 0.5} cxb5
{+0.54/16 0.1} 32. axb5 {+4.86/11 1.1} Nb4 {+0.30/17 0.1} 33. Kh2 {+4.53/10
1.1} Nxd3 {+0.46/14 0.5} 34. exf4 {+2.75/10 1.2} Ne1 {0.00/16 0.1} 35. fxg5
{+4.15/11 1.0} Nf3+ {0.00/20 0.1} 36. Kg2 {+4.18/11 0.6} Ne1+ {0.00/22 0.1}
37. Kg1 {+0.01/12 0.8} Nf3+ {0.00/23 1.1} 38. Kg2 {0.00/28 0.2} Ne1+
{0.00/23 0.8} 39. Kh2 {0.00/28 0.1} Nf3+ {0.00/23 0.3} 40. Kg2 {0.00/28
XBoard adjudication: repetition draw} 1/2-1/2


Seeing it, it was actually StockFish 1.4 lucky to get the draw, Fairy-Max was winning!

[D]8/1p6/8/PP1k2P1/3P2pp/1P3n2/5PK1/5P1N b[/D]

Kai