Closed eje211 closed 1 year ago
Unfortunately randomness can not be supported either. I now made the wiki more explicit on that to cover both imperfect and incomplete information games.
I'm sorry, but I would like to have a better understanding. Again: I could not find where in the code the rules of chess were. So what is the reason why it is impossible? Is it:
Surely, it must be possible to allow some randomness to the way the engine plays chess. So what does not work must be the way the neural network deals with that information.
For an overview where the game rules are implemented, see e.g. https://github.com/fairy-stockfish/Fairy-Stockfish/wiki/Understanding-the-code#variant-rule-implementation.
Regarding the reason for the limitation, it has nothing to do with neural networks. The reason is that (Fairy-)Stockfish uses the alpha-beta search algorithm, and just like most minimax derived search algorithms it usually does not work well with things like incomplete information, randomness, multi-player, etc. Normally for such games some variant of a Monte Carlo tree search algorithm is used, since it is very well suited for dealing with probabilities.
Here is a description of Dice Chess from Wikipedia: https://en.wikipedia.org/wiki/Dice_chess
Can Fairy-Stockfish implement it? At any time, the engine will see the whole board, so the "incomplete information" limitation should not be an issue. If it is possible (or if it may be possible), where should I add the necessary rules? I can't find the location of the rules in the source code.
Thanks!