2 ms·
This chess position ranking wouldn't be possible without making use of such combinatorics, as you can see with the use [1] [2] of the multinomial ranking [3].
by tromp 5y ago
This chess position ranking wouldn't be possible without making use of such combinatorics, as you can see with the use [1] [2] of the multinomial ranking [3].
You're right that counting is much easier than ranking. That's reflected in my Haskell counting program [4] being MUCH simpler and MUCH faster than the ranking program.
But counting is only good for upper bounding and doesn't let you draw a random sample to determine the fraction of legal ones, as needed for estimation.
[1]
https://github.com/tromp/ChessPositionRanking/blob/main/src/Chess/Position/Ranking.hs#L412 https://github.com/tromp/ChessPositionRanking/blob/main/src/...
[2] https://github.com/tromp/ChessPositionRanking/blob/main/src/Chess/Position/Ranking.hs#L424 https://github.com/tromp/ChessPositionRanking/blob/main/src/...
[3] https://github.com/tromp/ChessPositionRanking/blob/main/src/Data/Ranking.hs#L14-L37 https://github.com/tromp/ChessPositionRanking/blob/main/src/...
[4] https://github.com/tromp/ChessPositionRanking/blob/main/src/CountChess.hs https://github.com/tromp/ChessPositionRanking/blob/main/src/...
- civilized 5y agoSo at a high level, you need the ranking because you need to do computations on individual elements of the set (e.g. random samples) to refine the estimate. Which is not necessary in a lot of ordinary combinatorics problems, but is here because this one is so hard. Cool, thank you! I can imagine this project being of interest in the seminar of the right university department.