Comments/Ratings for a Single Item
ChessV plays many Capablanca variants but technically not Capablanca Random :(!
May I ask why?
I would like to eventually include Capablanca Random Chess in my PR_Chess engine. I am looking for some
software that determines the starting positions.
If the trouble is just writting initial position code I can guide you through it. You have examples on this wesite with the chess960 preset :)!
*** The comment-entry script again deletes your message when you are not (or no longer) logged in. This website is total crap! ***
I am not sure what exactly you are looking for. An example of source code? If so, in which programming language?
The WinBoard/XBoard GUI supports CRC, and shuffles a start position for it. (It can in fact do that for any chess variant it supports.) But it is not an engine.
Please contain your emotional outbursts. While I normally enjoy fixing bugs, I'm less inclined to do so when someone makes a huge stink about one. So, for now, I'll just tell you how to work around it. Open another tab, log in to the site, then go back to the tab where your comment was seemingly lost and reload it.
Why does ChessV not support CRC? Simply because it hasn't been a priority. Nor, as far as I know, has anyone previously asked for it. But I will add it since it shouldn't be too difficult. One thing I will need to do it find a range of position numbers with a unique mapping of position numbers to actual positions. FRC has this but CRC does not and the rule that all pawns must be protected makes this difficult. I could just have a database of positions I suppose.
I would recommend to forget about the protected-Pawn restrictions in the numbering system. The inconvenience of not having direct mapping formulas between numbers and positions seems much worse than having some numbers that correspond to invalid positions.
Note that WinBoard already allows positions to be entered by number, and that the World probably would not become a better place by having ChessV and WinBoard use incompatible numbering systems.
The WinBoard system is a generalization of the traditional Chess960 numbering, to make that applicable to almost any variant. For each piece type you divide the total number by the number of placements for that type (for determining placement of subsequent pieces), and use the remainder as placement code for the current piece type. If the variant has normal castling rather than Fischer castling, you first place the King and Rooks (or whatever serves as castling partner) in their normal positions. If the board width is even you then place all pairs of color-bound pieces such that they are on different shade. Then you place all remaining pieces on the still open squares, ignoring square shade. In games with Fischer castling you are then left with 3 opens squares, and occupy them by the King between the castling partners.
Currently the WinBoard implementation has some limitations: numbering is not unique if a certain color-bound type occurs in more than two copies. (As this never happened in any of the supported variants, I did not bother with that case.) Also, the order in which pieces are placed depends on the piece encoding WinBoard happens to use, traversed high to low in order to make sure Q is placed before N. And it only recognizes Bishop, Ferz and Alfil as color bound, placing them in the order A, F, B. (Relevant for 'Courier960'!)
Especially the piece order seems hard to objectively define so it would cover every conceivable variant. I want to propose to derive it from a 'mother position', which for Chess960 obviously would be the FIDE array. The pieces can then be ordered according to where they stand on the baseline in this reference position, e.g. for white from left to right this would lead to the order R, N, B, Q, K. They would then be placed in top-down order: K, Q, B, N, R. But B is color bound and present in multiple copies, so it gets precedence: B, K, Q, N, R. Now in variants with castling K and R drop out (either done first or last, but always in a predetermined way), so the final order is B, Q, N, as in Chess960. For CRC it seems logical to use the Capablanca position as reference (as the name suggests that).
It should be easy to write a universal shuffling routine that takes a given position and a random number, and then shuffles that position according to the number. Unfortunately WinBoard now places the super-pieces in the order C, A, Q, which is not what the Capablanca start position would suggest when traversed from left to right.
I would not consider that sufficiently different from CRC to justify a new name. In general I do not consider something a new chess variant just because it starts from a different position. Chess960 itself is already a boundary case, but there it could be argued it is different from FIDE because of the extended castling rule. If this argument is accepted, I would consider Chess960 a single chess variant, differing from FIDE by its castling rule, and not 960 different Chess variants differing from each other only by their opening position. So IMO CRC is just Capablanca Chess with Fischer castling rules. That you can play it as a number of sub-variants by picking from different sets of initial positions does not make it different variants.
This is an issue that is completely independent of how to map shuffled opening positions on numbers, though. There is no logical need for the positions to be contiguously numbered. It is much more important that there exist a direct method for converting a given number N to a position, and a given position to a number N (i.e. without first having to do that conversion for all numbers < N to determine how many of those violated the setup restrictions and thus should be skipped).
If the fraction of valid positions in the numbered range is not a small minority, simply retrying generation of a start position from a new random number if the original try produced an invalid one is a perfectly acceptable solution. It seems in any case much better than that different restrictions on the initial position would lead to different numbering schemes.
13 comments displayed
Permalink to the exact comments currently displayed.
Is there a chess engine that plays Capablanca Random Chess? (SMIRF link is broken).