Anything new about the ChessV Project?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
smrf
Posts: 484
Joined: Mon Mar 13, 2006 11:08 am
Location: Klein-Gerau, Germany

Anything new about the ChessV Project?

Post by smrf »

There has been a long time without a new version of ChessV 093.
Thus some 10x8 fans are waiting for an updated stronger release.
Once upon a time it has been superior to SMIRF, but that has gone.
To illustrate its avoidable weaknesses, there is a current game of
Janus Chess appended. Gregory Strong could do better for sure!

Code: Select all

[Event "SmirfGUI Computerchess Game"]
[Site "CHESSBOX-MAC-XP"]
[Date "2008.07.20"]
[Time "21:05:24"]
[Round "Janus-Chess, 1 min / move"]
[White "ChessV 0.9.3"]
[Black "SMIRF MS-175b"]
[Result "0-1"]
[Annotator "R.S."]
[SetUp "1"]
[FEN "rjnbkqbnjr/pppppppppp/10/10/10/10/PPPPPPPPPP/RJNBKQBNJR w sKQkq - 0 1"]

1. f4 f5 {(10.01=) -0.213} 2. Bd4 Nd6 {(11.01) -0.182} 3. e3 Ni6 {(09.24)
-0.158} 4. Jh3 Jj6+ {(11.24) -0.012} 5. g3 g6 {(10.01=) -0.002} 6. j4 Bc4
{(11.00) -0.295} 7. d3 Bf7 {(11.00) -0.475} 8. j5 Ng7 {(12.00) -0.449} 9. Bf3
c6 {(11.00) -0.426} 10. e4 fxe4 {(10.02) +0.438} 11. dxe4 Be6 {(10.10) +0.139}
12. Jj4 h6 {(11.01) +0.186} 13. Nf2 Nb5 {(10.03) +0.311} 14. Bc5 d6 {(10.08)
+0.574} 15. Be3 Jd7 {(10.22) +0.875} 16. Qe2 Bb6 {(10.01=) +1.303} 17. Bxb6
axb6 {(10.37) +1.107} 18. Bxj7 Bxi2 {(10.29) +1.246} 19. Rf1 Ji4 {(10.38)
+2.047} 20. Ji3 Nd4 {(11.01=) +3.010} 21. Qd1 Jf6 {(10.19) +3.004} 22. Rg1 Jxi3
{(11.36) +3.525} 23. hxi3 Rxj7 {(11.01=) +3.531} 24. Qxj7 h5 {(11.01) +4.111}
25. Qxi7 Nf3+ {(12.01=) +4.154} 26. Kd1 Nxg1 {(11.58) +4.494} 27. Jc3 Jxg3
{(12.19) +5.369} 28. Ncd3 h4 {(11.01) +5.805} 29. i4 Nh5 {(11.06) +7.131} 30.
Qh7 Nxf4 {(11.01=) +9.043} 31. Jg7+ Qxg7 {(13.01+) +21.25} 32. Qi8+ Kd7
{(12.01=) +M~008} 33. Qi6 Jf1 {(10.01=) +M~007} 34. Nxf4 Je3+ {(08.01=) +M~006}
35. Ke1 Jxc2+ {(07.01=) +M~005} 36. Kd2 Qxb2 {(05.01=) +M~004} 37. Qg4+ Bxg4
{(03.01=) +M~003} 38. N2d3 Jxd3+ {(02.01=) +M~003} 39. Kxd3 Ra3+ {(02.01=)
+M~002} 40. Kc4 b5# {(02.00?) +M~001} 0-1
Regards, Reinhard.

P.S.: game could be replayed using SMIRF from: http://www.chessbox.de/Compu/schachsmirf_e.html
For ChessV see also at: http://www.chessv.com/
Dann Corbit
Posts: 12542
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Anything new about the ChessV Project?

Post by Dann Corbit »

smrf wrote:There has been a long time without a new version of ChessV 093.
Thus some 10x8 fans are waiting for an updated stronger release.
Once upon a time it has been superior to SMIRF, but that has gone.
To illustrate its avoidable weaknesses, there is a current game of
Janus Chess appended. Gregory Strong could do better for sure!

Code: Select all

[Event "SmirfGUI Computerchess Game"]
[Site "CHESSBOX-MAC-XP"]
[Date "2008.07.20"]
[Time "21:05:24"]
[Round "Janus-Chess, 1 min / move"]
[White "ChessV 0.9.3"]
[Black "SMIRF MS-175b"]
[Result "0-1"]
[Annotator "R.S."]
[SetUp "1"]
[FEN "rjnbkqbnjr/pppppppppp/10/10/10/10/PPPPPPPPPP/RJNBKQBNJR w sKQkq - 0 1"]

1. f4 f5 {(10.01=) -0.213} 2. Bd4 Nd6 {(11.01) -0.182} 3. e3 Ni6 {(09.24)
-0.158} 4. Jh3 Jj6+ {(11.24) -0.012} 5. g3 g6 {(10.01=) -0.002} 6. j4 Bc4
{(11.00) -0.295} 7. d3 Bf7 {(11.00) -0.475} 8. j5 Ng7 {(12.00) -0.449} 9. Bf3
c6 {(11.00) -0.426} 10. e4 fxe4 {(10.02) +0.438} 11. dxe4 Be6 {(10.10) +0.139}
12. Jj4 h6 {(11.01) +0.186} 13. Nf2 Nb5 {(10.03) +0.311} 14. Bc5 d6 {(10.08)
+0.574} 15. Be3 Jd7 {(10.22) +0.875} 16. Qe2 Bb6 {(10.01=) +1.303} 17. Bxb6
axb6 {(10.37) +1.107} 18. Bxj7 Bxi2 {(10.29) +1.246} 19. Rf1 Ji4 {(10.38)
+2.047} 20. Ji3 Nd4 {(11.01=) +3.010} 21. Qd1 Jf6 {(10.19) +3.004} 22. Rg1 Jxi3
{(11.36) +3.525} 23. hxi3 Rxj7 {(11.01=) +3.531} 24. Qxj7 h5 {(11.01) +4.111}
25. Qxi7 Nf3+ {(12.01=) +4.154} 26. Kd1 Nxg1 {(11.58) +4.494} 27. Jc3 Jxg3
{(12.19) +5.369} 28. Ncd3 h4 {(11.01) +5.805} 29. i4 Nh5 {(11.06) +7.131} 30.
Qh7 Nxf4 {(11.01=) +9.043} 31. Jg7+ Qxg7 {(13.01+) +21.25} 32. Qi8+ Kd7
{(12.01=) +M~008} 33. Qi6 Jf1 {(10.01=) +M~007} 34. Nxf4 Je3+ {(08.01=) +M~006}
35. Ke1 Jxc2+ {(07.01=) +M~005} 36. Kd2 Qxb2 {(05.01=) +M~004} 37. Qg4+ Bxg4
{(03.01=) +M~003} 38. N2d3 Jxd3+ {(02.01=) +M~003} 39. Kxd3 Ra3+ {(02.01=)
+M~002} 40. Kc4 b5# {(02.00?) +M~001} 0-1
Regards, Reinhard.

P.S.: game could be replayed using SMIRF from: http://www.chessbox.de/Compu/schachsmirf_e.html
For ChessV see also at: http://www.chessv.com/
Here is a 64 bit build:
http://cap.connx.com/chess-engines/new- ... chessv.zip

Source is included so it is large (7.4 MB).
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Anything new about the ChessV Project?

Post by Matthias Gemuh »

smrf wrote:There has been a long time without a new version of ChessV 093.
Thus some 10x8 fans are waiting for an updated stronger release.
Once upon a time it has been superior to SMIRF, but that has gone.
To illustrate its avoidable weaknesses, there is a current game of
Janus Chess appended. Gregory Strong could do better for sure!

Code: Select all

[Event "SmirfGUI Computerchess Game"]
[Site "CHESSBOX-MAC-XP"]
[Date "2008.07.20"]
[Time "21:05:24"]
[Round "Janus-Chess, 1 min / move"]
[White "ChessV 0.9.3"]
[Black "SMIRF MS-175b"]
[Result "0-1"]
[Annotator "R.S."]
[SetUp "1"]
[FEN "rjnbkqbnjr/pppppppppp/10/10/10/10/PPPPPPPPPP/RJNBKQBNJR w sKQkq - 0 1"]

1. f4 f5 {(10.01=) -0.213} 2. Bd4 Nd6 {(11.01) -0.182} 3. e3 Ni6 {(09.24)
-0.158} 4. Jh3 Jj6+ {(11.24) -0.012} 5. g3 g6 {(10.01=) -0.002} 6. j4 Bc4
{(11.00) -0.295} 7. d3 Bf7 {(11.00) -0.475} 8. j5 Ng7 {(12.00) -0.449} 9. Bf3
c6 {(11.00) -0.426} 10. e4 fxe4 {(10.02) +0.438} 11. dxe4 Be6 {(10.10) +0.139}
12. Jj4 h6 {(11.01) +0.186} 13. Nf2 Nb5 {(10.03) +0.311} 14. Bc5 d6 {(10.08)
+0.574} 15. Be3 Jd7 {(10.22) +0.875} 16. Qe2 Bb6 {(10.01=) +1.303} 17. Bxb6
axb6 {(10.37) +1.107} 18. Bxj7 Bxi2 {(10.29) +1.246} 19. Rf1 Ji4 {(10.38)
+2.047} 20. Ji3 Nd4 {(11.01=) +3.010} 21. Qd1 Jf6 {(10.19) +3.004} 22. Rg1 Jxi3
{(11.36) +3.525} 23. hxi3 Rxj7 {(11.01=) +3.531} 24. Qxj7 h5 {(11.01) +4.111}
25. Qxi7 Nf3+ {(12.01=) +4.154} 26. Kd1 Nxg1 {(11.58) +4.494} 27. Jc3 Jxg3
{(12.19) +5.369} 28. Ncd3 h4 {(11.01) +5.805} 29. i4 Nh5 {(11.06) +7.131} 30.
Qh7 Nxf4 {(11.01=) +9.043} 31. Jg7+ Qxg7 {(13.01+) +21.25} 32. Qi8+ Kd7
{(12.01=) +M~008} 33. Qi6 Jf1 {(10.01=) +M~007} 34. Nxf4 Je3+ {(08.01=) +M~006}
35. Ke1 Jxc2+ {(07.01=) +M~005} 36. Kd2 Qxb2 {(05.01=) +M~004} 37. Qg4+ Bxg4
{(03.01=) +M~003} 38. N2d3 Jxd3+ {(02.01=) +M~003} 39. Kxd3 Ra3+ {(02.01=)
+M~002} 40. Kc4 b5# {(02.00?) +M~001} 0-1
Regards, Reinhard.

P.S.: game could be replayed using SMIRF from: http://www.chessbox.de/Compu/schachsmirf_e.html
For ChessV see also at: http://www.chessv.com/

The pgn for ChessGUI :

[Event "SmirfGUI Computerchess Game"]
[Site "CHESSBOX-MAC-XP"]
[Date "2008.07.20"]
[Time "21:05:24"]
[Round "Janus-Chess, 1 min / move"]
[White "ChessV 0.9.3"]
[Black "SMIRF MS-175b"]
[Result "0-1"]
[Annotator "R.S."]
[SetUp "1"]
[FEN "ranbkqbnar/pppppppppp/10/10/10/10/PPPPPPPPPP/RANBKQBNAR w KQkq - 0 1"]

1. f4 f5 {(10.01=) -0.213} 2. Bd4 Nd6 {(11.01) -0.182} 3. e3 Ni6 {(09.24)
-0.158} 4. Ah3 Aj6+ {(11.24) -0.012} 5. g3 g6 {(10.01=) -0.002} 6. j4 Bc4
{(11.00) -0.295} 7. d3 Bf7 {(11.00) -0.475} 8. j5 Ng7 {(12.00) -0.449} 9. Bf3
c6 {(11.00) -0.426} 10. e4 fxe4 {(10.02) +0.438} 11. dxe4 Be6 {(10.10) +0.139}
12. Aj4 h6 {(11.01) +0.186} 13. Nf2 Nb5 {(10.03) +0.311} 14. Bc5 d6 {(10.08)
+0.574} 15. Be3 Ad7 {(10.22) +0.875} 16. Qe2 Bb6 {(10.01=) +1.303} 17. Bxb6
axb6 {(10.37) +1.107} 18. Bxj7 Bxi2 {(10.29) +1.246} 19. Rf1 Ai4 {(10.38)
+2.047} 20. Ai3 Nd4 {(11.01=) +3.010} 21. Qd1 Af6 {(10.19) +3.004} 22. Rg1 Axi3
{(11.36) +3.525} 23. hxi3 Rxj7 {(11.01=) +3.531} 24. Qxj7 h5 {(11.01) +4.111}
25. Qxi7 Nf3+ {(12.01=) +4.154} 26. Kd1 Nxg1 {(11.58) +4.494} 27. Ac3 Axg3
{(12.19) +5.369} 28. Ncd3 h4 {(11.01) +5.805} 29. i4 Nh5 {(11.06) +7.131} 30.
Qh7 Nxf4 {(11.01=) +9.043} 31. Ag7+ Qxg7 {(13.01+) +21.25} 32. Qi8+ Kd7
{(12.01=) +M~008} 33. Qi6 Af1 {(10.01=) +M~007} 34. Nxf4 Ae3+ {(08.01=) +M~006}
35. Ke1 Axc2+ {(07.01=) +M~005} 36. Kd2 Qxb2 {(05.01=) +M~004} 37. Qg4+ Bxg4
{(03.01=) +M~003} 38. N2d3 Axd3+ {(02.01=) +M~003} 39. Kxd3 Ra3+ {(02.01=)
+M~002} 40. Kc4 b5# {(02.00?) +M~001} 0-1
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
User avatar
hgm
Posts: 27814
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Anything new about the ChessV Project?

Post by hgm »

One request for standardization:

If you let ChessGUI save the PGN of a variant game, can you make sure that there also is a [variant "..."] tag occurring before the FEN tag? WinBoard_x used this variant tag on saving, and in WinBoard 4.3.13 I now made it such that if you paste in a PGN of a game, it automatically switches to the variant mentioned in the tag, before parsing the game. This is very convenient in practice.

Unfortunately, it is not possible to do the same thing for pasting a FEN, as a FEN does not unambiguously specify which variant it belongs to. (e.g. Janus vs Capablanca positions).
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Anything new about the ChessV Project?

Post by Matthias Gemuh »

hgm wrote:One request for standardization:

If you let ChessGUI save the PGN of a variant game, can you make sure that there also is a [variant "..."] tag occurring before the FEN tag? WinBoard_x used this variant tag on saving, and in WinBoard 4.3.13 I now made it such that if you paste in a PGN of a game, it automatically switches to the variant mentioned in the tag, before parsing the game. This is very convenient in practice.

Unfortunately, it is not possible to do the same thing for pasting a FEN, as a FEN does not unambiguously specify which variant it belongs to. (e.g. Janus vs Capablanca positions).

ChessGUI always uses [variant "..."] to save to pgn.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
User avatar
hgm
Posts: 27814
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Anything new about the ChessV Project?

Post by hgm »

OK, great! Sorry I was confused by the fact that the PGN you showed above does not have it. :oops:
User avatar
hgm
Posts: 27814
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Anything new about the ChessV Project?

Post by hgm »

Another question:

I understand ChessGUI already suppots variant caparandom. I have a question about the shuffles, in particular the numbering of the shuffles. In FRC there is a convention for this (which I use in WinBoard 4.3.13). This is needed if one wants to be able to recreate the position by entering a number. Although this is hardly ever needed (PGNs usually contain a FEN), I still feel obliged to support it.

But for the next version of WinBoard I want to generalize shuffling to other variants, and there might be some merit in all GUIs using a universal numbering system for these variants as well.

The FRC system works by encoding the piece placement in the order (from least significant to most significant) Light Bishop, Dark Bishop, Queen, Knights (after which the rule that the King should be between Rooks leaves no freedom, and thus does not have to be encoded).

A straightforward generalization to variants that do not support castling (e.g. ICC nocastling) would be to encode the King placement after the Knights. In any case, you would end up with Rooks to fill any remaining spots. Shuffle variants that restrict K+R placement to allow quasi-normal castling (ICC wildcastling) would have to place King + Rooks first (and thus presumably encode them first).

Now I don't want to overdo it, and will not require that te numbering system for shuffles would be unique in sick cases with more than 2 pieces of the same type, multiple Kings, or too few Rooks in a variant with castling. It would be nice if the shuffling itself would work in such cases, though. This brought me to the following scheme:

1) conventional-castling variants only: place K+2R
2) place pairs of color-bound pieces. (I use the order Elephant, Ferz, Bishop, for no other reason than it is the high-to-low order of the piece encodings in WinBoard. If there remain color-bounds because their number was odd, leave them for later (so they can't accidentally land on a square you would have needed to place another color-bound pair). First place a piece on a light square, then on a dark square.
3) Place all remaining non-K non-R pieces, again high-to-low. In WinBoard this currently means that C,A,Q,(B),N come in that order. If they form a pair, encode their placement in a unique way, not counting permutations. (Like for the Knights in FRC.)
4a) in FRC-castling variants, place the King(s) such that half the number of Rooks (rounded down if necessary) is on their A-side.
4b) castling-less variants just put the King(s) anywhere.
5) Fill the remaining open squares (from left to right) with Rooks.

For caparandom, the only point of relevance is the order in which to handle C, A, Q, N. I know that Reinhard has designed a number scheme for CRC, but it is too restrictive to be acceptable for use in WinBoard. It is one thing wanting to exclude certain positions from playing, but quite another to exclude them from the numbering system. So I need a numbering system that would also include variants with unlike Q & A, undefended Pawns, etc.
User avatar
smrf
Posts: 484
Joined: Mon Mar 13, 2006 11:08 am
Location: Klein-Gerau, Germany

Re: Anything new about the ChessV Project?

Post by smrf »

hgm wrote:... For caparandom, the only point of relevance is the order in which to handle C, A, Q, N. I know that Reinhard has designed a number scheme for CRC, but it is too restrictive to be acceptable for use in WinBoard. It is one thing wanting to exclude certain positions from playing, but quite another to exclude them from the numbering system. So I need a numbering system that would also include variants with unlike Q & A, undefended Pawns, etc.
Harm, there might be a misunderstanding. The CRC numbering scheme includes probably just what you want. A CRC GUI filters then a fraction of them as valid starting arrays. But the filtering is not part of the numbering scheme.

Reinhard.

P.S.: in SMIRF playing CRC would present a randomized valid array number, filtered for CRC. But you could overwrite it manually by any possible number of the numbering scheme, just as you could edit a starting array manually.
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Anything new about the ChessV Project?

Post by Matthias Gemuh »

hgm wrote:Another question:

I understand ChessGUI already suppots variant caparandom. I have a question about the shuffles, in particular the numbering of the shuffles ...

I can recode my shuffling according to what your more complex shuffling demands, so just go ahead and fully define a standard.


Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
User avatar
hgm
Posts: 27814
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Anything new about the ChessV Project?

Post by hgm »

smrf wrote:The CRC numbering scheme includes probably just what you want.
OK, sorry I misjudged your system. I thought you somehow skipped positions that had A and Q on the same color. I am sure I saw your system desribed somewhere, but I can't find it now.

If I would strip off the piece-placement indicators one by one from the position number, like

Code: Select all

for(ALL_PIECE_TYPES) {
    placement = positionNumber % nrOfPlacements[pieceType];
    positionNumber /= nrOfPlacements[pieceType];
    putOnBoard(pieceType, placement);
}
(where the 'placement' sometimes codes for a pair of pieces according to a table, like for the Knights), in what order would I have to treat the piece types to get your numbering scheme? (FRC does light_B, dark_B, Q, N, (K, R).)

In the WinBord menu there is an item to set the FRC starting position to a given number, a random value (chosen from 0-959, but from then on sticks to that position), or set a dynamic random value (re-randomizing every time you start a new game). The best way to treat CRC seems to add two tick boxes there, "defend all pawns" and "pair A,Q", that would control the filter action.