Is chess a “solved” game now? All moves are in a database and a computer can always determine the best move merely by looking it up?
Chess is not solved. We don’t even know if it’s a first-player win, second-player win, or draw. Too many combinations. Quite a few end-games are solved, though (some with surprising results).
Checkers is solved (it’s a draw).
One important point: A game being solved is not the same thing as a player (human or otherwise) playing it perfectly. One could have a situation where a given player always plays perfectly, but that it’s not yet proven that that player always plays perfectly.
Though chess is (presumably) not yet at that point, either, given that there are still improvements being made to chess computers. But perfect play is something that exists, and we don’t know how close we are to it.
For the practical problem at hand (genius vs. grandmaster), that theoretical line of thinking about the problem is as good as useless, though. Material count alone will be a badly losing (and, importantly, highly degenerate) evaluation function at any depth achievable by our genius just based on biological limitations and required tree size.
Yep, still a very active area. Not enough happening to make the 6 o’clock news, but still progress. The top teams are regularly facing off against each other. The strongest engine (Stockfish) only last year moved to a purely neural network evaluation function (previously a hybrid function and prior to 2020 a completely manually implemented function).
Somehow back in the day (1970s? 1960s?) we (society) started referring to “chess computers” rather than “chess computer programs”. And certainly some early efforts were programs running on purpose-built bleeding edge hardware. Which hardware, a bit like F1 racecars, was often a manufacturer’s proof of concept for later hardware innovations that would appear in prosaic mainstream products.
At this point in 2024, how appropriate is it for us to refer to “chess computers” vice “chess computer programs”? Certainly these latest programs are resource hogs and are run on large and fast processor arrays of a scale that would have been impossible a decade ago. But are they running on actually special purpose hardware, or just a really nicely equipped high end cluster?
IOW, are we running these apps on one-off F1 racecars, or production McClaren or Ferrari supercars?
It’s all just software these days. Runs on any old laptop. It’ll get stronger the more horsepower you throw at it, but you don’t need a supercomputer to beat (or at least draw) a grandmaster 100% of the time.
Deep Blue was the first computer to handily beat a grandmaster (Kasparov), and it did have custom chess chips. It’s obsolete, though. Maybe some newer engines will depend on neural net chips (GPUs, etc.), but those are still relatively general-purpose.
I think it is all software these days. Building a computer dedicated to chess would be too expensive (Deep Blue was a special case).
And, at the end, the dedicated chess computer is still running some algorithm. Being hardware based it will be faster than a software based computer but it is also inflexible. The software can be iterated easily to new and better algorithms. The hardware based one is stuck and cannot improve.
In short, the software based programs will be better in the long run. The hardware one might win today though.
Nowadays I mostly hear ‘chess engines’.
- AlphaZero is ‘custom’ hardware using Google TPUs.
- Stockfish runs on normal hardware including PCs and phones. Obviously it can do a better search on better machines.
- Top Chess Engine Championship (TCEC) is a chess engine competition that uses identical hardware among participants (link). The Season 13 HW was a big server with 2 GPUs:
Edit: The fact that Stockfish can run well on phones has had a significant impact on cheating in everyday competitions.
Regarding the OP:
Can a top-tier chess engine even defeat a Grandmaster in one match?
It took AlphaZero 4 hours to train up to the point that it was playing at a higher ELO than Stockfish (which is itself higher than a human Grandmaster). This article estimates 2 hours to reach a level higher than Magnus Carlsen. The match’s time control would have to be pretty generous for it to work.
Furthermore a fair amount of development work was needed to be prepared in order to run the AlphaZero training. Presumably the new player would have to duplicate an equivalent framework. Even if the new player had the capabilities of AlphaZero, it wouldn’t be enough time.
I’m not sure what capability a human with a 300 IQ has, but I suspect it is a lot less than AlphaZero. I also wonder if this human would have enough neuroplasticity to simply ‘train’ their brain on the problem. I think the 300 IQ human would have more luck titling the Grandmaster psychologically than by playing a complete match.
I would modify that to looking ahead a few moves accurately.
I regularly scored over 50% in the British Chess Championship but seldom looked further ahead than 2-3 moves by each side.
Absolutely!
For example, the basis for all gambits is to get compensation for the material sacrificed (usually lead in development; exposed enemy King etc.)
I’m sorry, but there is no evidence to suggest this is correct!
Becoming a Grandmaster takes a lot of studying, practice and analysing.
(I first played competitive chess when I was 13. Within 6 years I was rated in the English top 100.players. 3 years later I qualified for the British Championship. In a 45 year career I have never beaten a Grandmaster. )
It is extremely rare for even a World Champion to win every game.
Bear in mind that millions of games are available for study on the Internet and top players prepare throughly for their opponents.
As I posted above, we have perfect tablebases that cover all endings with 7 pieces or less in total.
KQvKQP – Syzygy endgame tablebases (syzygy-tables.info)
However despite the speed of modern computers, it takes a long time to achieve full analysis of an extra piece (i.e. 8 in total.).
Of course, once they reach 32 pieces, chess is solved. (However I’m not sure it’s possible to ever build a computer with that amount of storage!)
And I am sure that it’s not possible. At least, not without an extremely clever and purpose-built data compression algorithm. Which would just be a chess algorithm by another name.
Meanwhile, on the topic of board-evaluation algorithms, I’ve pondered for a while the possibility of using the number of possible moves available to each side as a metric for positional strength. After all, the pieces with high value have that high value largely as a result of being able to make many moves, but a valuable piece that’s currently blocked in or pinned or the like isn’t actually valuable in the moment. You’d probably still want to put some amount of weight on material, of course, because a piece that’s currently immobilized might eventually become freed.
It’s an interesting idea (and one I’ve not heard before. )
It would only be a very rough guide though.
For example, a side with more pieces would probably show up with a higher number.
However if your King is in danger of being mated, it doesn’t matter how many moves your pieces elsewhere can make…
Number of legal moves would be a very poor measure. Not all legal moves should be counted equally. Most are obviously dumb moves and shouldn’t be counted. But as soon as you try to rate the “dumbness” of moves, your algorithm is no longer staying simple. Also, choosing a move based on what gives the maximum number of next moves would prioritize sticking your queen out in the open as quickly as possible (for instance). Like, it would just be lost immediately.
Well number of moves is certainly a useful metric, but it’s one of many.
The deep learning chess engines really like constricting their opponents, and will sac material to put their opponent in a vice, even when it’s not clear how that vice will win the game, or even get the material back.
But as @pasta says, there are lots of things that would make a naive count misleading. You’d at the least need to count the moves that make progress, but already that means employing chess knowledge.
Here’s a short game I played as White.
- e4 d5 2. exd5 Qxd5 3. Nc3 Qa5 4. d4 Nc6 5. d5 Nb4 6. a3 Bf5 7. Bb5+ c6 8. axb4 Qxa1 9. dxc6 a6 10. cxb7+ axb5 11. Nb5 1-0
You can follow it here:
Chess Board Editor - Apronus.com
(It’s mildly amusing that I play 8 pawn moves out of 11, whereas my opponent plays only 4 out of 10.
I teach beginners not to make too many pawn moves in the opening!)
Here’s the count of possible moves before each turn (N.B. I’ve ignored getting out of check, since that would undoubtedly drop the number dramatically.)
-
20 / 20
-
31 / 28
-
29 / 47
-
32 / 39
-
38 / 37
-
38 / 36
-
37 / 39
At this point, computers say 1’m up by 7+ pawns, so the game is effectively over.
So although it was an interesting suggestion, the fact that Black was slightly ahead on possible moves didn’t reflect the position.
To be fair this was a tactical game. I’m sure in a positional game, the idea would work much better.
My thinking is that, even if a move is dumb right now, given this exact board state, the board state will change, and the move that’s dumb right now might become good with only small changes in the board state. For instance, moving the queen to a particular square is probably dumb, if that square is currently covered by an enemy knight, but if that knight ever moves, then that queen move ceases to be dumb (or at least, ceases to be as dumb). And if you have a large number of moves available, total, then your opponent can’t move anything without improving at least some of your options.
As for things like moving your queen out into the open immediately and then losing her, you’d still need to put your decision algorithm at the end of a tree of some depth, of course. If you move your queen out and that results in a capture a few moves later, then your number of available moves plummets as a result of that.
I wouldn’t ignore that. When you’re in check, any move that doesn’t get you out of check is not a possible move. And even when you’re not in check, any move that would put you in check is likewise not a possible move. And checking your opponent while also making progress towards some other goal is pretty basic strategy, since it forces your opponent to respond to the check rather than the other progress, giving you a tempo advantage.
Restricting an opponent is usually not about restricting numbers of moves but restricting numbers of good moves. It also isn’t clear whether the idea is to maximize moves or maximize difference in numbers of moves available between sides. (We have to consider their moves at some point.) If the latter, the best positions would be those where the opponent is in check, but that would point to lines that just sac all your pieces into their king for no reason, since at least the opponent has so few moves each time!
In any case, whether you look 1 ply or N ply deep, number of moves will lead to silly choices. I have to imagine that you are subconsciously thinking about number of controlled squares or something and not actually raw number of moves. You also have to be implicitly folding in material considerations in your move-count-based metric, which makes it a material metric first. Otherwise, I would have to happily give up a restricted queen in favor of a free-to-roam knight, say, and whether that choice is happening now or at N-ply in my tree doesn’t make it any better. I would also have to happily blockade their pieces with mine regardless of whether they could just capture them freely. (E.g.: If they move a pawn to free up a bishop, I should plop a knight right in front of the freed bishop so that their bishop is stuck again with only one move now – taking my knight – instead of many moves.)