Remix.run Logo
tsimionescu 7 days ago

> We should be aiming to solve chess, but we are not even trying.

We know exactly how to solve chess, we have known for decades. The function f is called min-max, and can be optimized with things like alpha pruning. Given that chess is a bounded game, this is a bounded time and bounded space algorithm. The definition of `f` that you gave can actually be quite directly encoded in Haskell and executed (though it will miss some obvious optimizations).

The problem is that this algorithm seems to be close to optimal and it would still take some few thousand years of computation time to actually run it to solve chess (or was it decades, or millions of years? not really that relevant).

Now, of course, no one has actually proved that this is the optimal algorithm, so for all we know, there exists a much simpler `f` that could take milliseconds on a pocket calculator. But this seems unlikely given the nature of the problem, and either way, it's just not that interesting for most people to put the kind of deep mathematical research into it that it would take.

Solving chess is not really a very interesting problem as pure mathematics. The whole interest was in beating human players with human-like strategies, which has thoroughly been achieved. The most interesting thing that remains is challenging humans that like chess at their own level of gameplay - since ultimately the only true purpose of chess is to entertain humans, and a machine that plays perfectly is actually completely unfun to play.

tucnak 7 days ago | parent [-]

To be fair, if you take your agument from the last paragraph, i.e. that the function of chess as the game is to entertain, your earlier argument re: min-max doesn't really stand, does it? I think, you're right that chess probably quite interesting in terms of abstract maths, like surely there are ways to represent the pawns (pawn structures?) as well as the pieces (knights, bishops, etc.) in terms of some supersymmetry. However, it doesn't seem like much progress has been made in this area academically since the 20th century. It may be helpful to tap into AlphaFold and related results for interpretability! Stockfish has incorporated some probabilistic programming (neural network-based) but it's comparatively small-scaled, and behind SOTA of the bleeding-edge Transformer architectures (in terms of interpretability, nonetheless!) Surely, if we can't get supersymmetries in some complex forms, we could get ahead with the modern interpretability and RL techniques. Given the appropriate knowledge representation, by combining self-play with known playing sequences and behaviours by forcing the model into known lines, & perhaps partitioning by player styles so there's incentives for the model to learn some style feature, it should be possible for it to learn what we refer to as the essence of the game, i.e. archetypal human playing styles comfortably. Using insights learned from interpretability, it should be possible to further influence the model during inference.

If they were to get to that point, we could say that chess would be solved...

jibal 7 days ago | parent [-]

> I think, you're right that chess probably quite interesting in terms of abstract maths

They said it's not interesting.

> like surely there are ways to represent the pawns (pawn structures?) as well as the pieces (knights, bishops, etc.) in terms of some supersymmetry.

No, absolutely not. The confusion between pawns and pawn structures highlights how completely off base this is. The attack vectors of the various pieces are easily represented, but there's no generalization to "knight structures" or "bishop structures", and "supersymmetry" is completely irrelevant to chess.

> If they were to get to that point, we could say that chess would be solved...

No, solving a game has a specific meaning and that's not it.

tucnak 7 days ago | parent [-]

I wouldn't discount symmetries in chess on the account of algebraic topology existing.

Once in a while, new maths is produced in one area, and somebody else would pick it up to apply in a completely different domain. I'm a bit familiar with chess engines, & their source code. The board representation is just cache-friendly data structures of a 8x8 board, and heuristics on top. This is only a statement on our understanding: heuristic, or probabilistic (see AlphaZero), but it doesn't mean a more fundamental, symmetrical structure doesn't exist. Rubik's cube was famously solved by fundamental insights from group theory. Now, chess is probably, but not definitely, radically harder problem in terms of computational complexity, let alone because there's an adversary and all of game logic applies. However, we see it all the time in cryptanalysis where new insights from maths people broke some very cool constructions out-of not much but some bad priors.

Pure min-max search is inherently suboptimal, if your goal is understanding the game. AlphaZero, and to a lesser extent Leela et al. has shown this, and indeed the players incorporated all these ideas shortly thereafter. Of course, old tricks no longer provide advantage now that they're known, but then again—it doesn't mean better interpretations in commentary, player training, etc. are not possible. None of the existing engines, heuristic, probabilistic, heuristic and probabilistic, are so far (a) bringing new maths to help apply new maths to chess positions, (b) bringing new game-representations that would lend better to interpretability during inference.

To truly solve chess, in a given engine both (a) and (b) must suffice.

To get +EV from some intricate line analysed as deep as reasonable in the allotted time is not to bring you any closer in understanding the game. You could tell that the line works, of course, but that would only be possible on account of you already having found the line in the first place! However, for the line to be possible, and profitable, something in the structure of your prior position has to allow it. Or otherwise predict it.

jibal 7 days ago | parent [-]

> I wouldn't discount symmetries in chess

I didn't ... the word used was "supersymmetry". And likening chess to a Rubik's cube or cryptanalysis is just silly ... silly enough that I'm going to stop commenting. But:

> None of the existing engines, heuristic, probabilistic, heuristic and probabilistic, are so far (a) bringing new maths to help apply new maths to chess positions, (b) bringing new game-representations that would lend better to interpretability during inference.

Sigh. The people developing chess engines are not idiots, and are strongly motivated to find the most effective algorithms.