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.
Theban Chess
Moderators: hgm, Dann Corbit, Harvey Williamson
-
Uri Blass
- Posts: 10098
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
-
Laskos
- Posts: 10948
- Joined: Wed Jul 26, 2006 10:21 pm
- Full name: Kai Laskos
Re: Theban Chess
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 highUri 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.
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.
-
hgm
- Posts: 27700
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Theban Chess
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.
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
-
Laskos
- Posts: 10948
- Joined: Wed Jul 26, 2006 10:21 pm
- Full name: Kai Laskos
Re: Theban Chess
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.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
Kai
-
hgm
- Posts: 27700
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Theban Chess
Hmm, I noticed there are some bugs / unintended behavior in WinBoard, in relation to these variants.
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.
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.
-
hgm
- Posts: 27700
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Theban Chess
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.
This is for the version with the King/Knight chimera (which might still be too weak for what you want):
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
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
-
Laskos
- Posts: 10948
- Joined: Wed Jul 26, 2006 10:21 pm
- Full name: Kai Laskos
Re: Theban Chess
Works! And works nicely, thanks.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.
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.
-
hgm
- Posts: 27700
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Theban Chess
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.
*) 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.
-
Laskos
- Posts: 10948
- Joined: Wed Jul 26, 2006 10:21 pm
- Full name: Kai Laskos
Re: Theban Chess
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.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.
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
-
Laskos
- Posts: 10948
- Joined: Wed Jul 26, 2006 10:21 pm
- Full name: Kai Laskos
Re: Theban Chess
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 backhgm 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.
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