Just confirming here, as a mod, that we humans don’t care about that, and of course a professional chess teacher is going to have a significant presence in a thread about chess.
At the amateur level, it’s almost entirely about study. The person who has studied more chess, and played more games, usually wins.
It’s only at the professional level of the game, where top-level chess study is a prerequisite, that other factors start to become critical.
IME the people who think of it more as an aptitude thing, often struggle to improve their game, because for one thing they often have trouble accepting losses.
Sadly, this is the impression many people have from film and TV, where the “smarter” character always wins, even though we never see him or her having any interest in chess study or analysis.
(I’ve only just started watching The Queen’s Gambit, so I can’t say yet if it includes this kind of misrepresentation, so far it appears more nuanced, even if it has a chess prodigy as the protagonist.)
So I’d say Dr_Paprika’s list probably captures best the main factors:
I wish I didn’t understand chess as well as you
Nice bit of humble-bragging there.
Yes, true. To clarify for everyone, my use of the “three square rule” is fatally flawed. It is incorrect and doesn’t apply to this situation because the black pawn is offset by one file from my pawn, which means I cannot use my pawn in the correct way to shoulder the black king away.
I presented it in this way because I wanted to show how a real human being, not a silicon chip, might approach solving it, and that I made a mistake in drawing on previous knowledge that is close to, but not the same as, this position. This is what I first actually tried in real life (in my head), and I didn’t want to lie and say I didn’t.
It took me maybe 5 minutes to write it up, but in real brain-time, it took about 60 seconds or so to try it and see that it didn’t work.
But I didn’t want to cheat and act like I just jumped to the right answer straight away. I was fooled for a minute, thinking I could win another way. But that’s kind of the point…I pursued a line of thought that didn’t work, so I tried to fix it a little, and it still didn’t work, so I abandoned it for a new plan. That’s the way real chess thought works. It’s not in moves, it’s not in “seeing farther” or any such thing that Hollywood portrays it as. It’s about being inspired to engineer a series of moves that force responses (unless your opponent wants to lose faster!) that result in a goal.
I didn’t solve Glee’s puzzle because I could see really far ahead. I solved it because I had the wrong plan (Kf4, opposition, win), then another wrong plan (Ke5! zugzwang, win), then the right plan (Kb7, push 'em), then thought that right plan was wrong (crud, Kg2! defends), then saw that it was right again (Nope! Series of checks on the 1st and 2nd rank beats Kg2 eventually). It felt an airplane held together with duct tape and safety pins, but boy oh boy, that baby flew!
And that’s what makes chess fun.
If I figure out how to make an Apronos link, I’ll show you my game I threw away against a 2100 because it was 1:30 in the morning and we were on our 5th hour of play, playing on increment. People underestimate how exhausting it is to play a serious game. Physically exhausting.
Conversely, does a computer with a rating well over 2400 “understand” chess? Not a facetious question at all, but an interesting philosophical one.
For those who may be interested, here are five of the best chess engines for the PC, most of which have at least some version that is free. All are rated well over 3000. I’ll probably download Stockfish, which is free and open source, as soon as I figure out the optimal version for my current processor.
I’ve posted this to the board before, but I’m going to do so again because it remains one of my favourite articles on my favourite chess site - sadly not updated for a few years now. The article is a little dated but still, it was written at a time when the best chess computers were already capable of regularly beating the best human players, so I think it’s relevant to your question of whether computers “understand” chess:
https://timkr.home.xs4all.nl/chess2/honor.htm
Of course, I suspect the latest versions of commercial chess programs have moved beyond the errors they made in games in that article, but I still think it’s interesting.
Yes very much so.
Firstly, chess programs like Alpha zero and lc0 don’t even have inputs like an opening book or pre-baked heuristics, so that wipes out several of the examples immediately. Secondly, the latest versions are very happy in closed positions, oftentimes even pushing the game towards a closed position (where the opponent has less space, naturally). I doubt that 2100 player would have much luck now.
In terms of “chess computers do the funniest things”, the closest you get nowadays is:
-
In a hopeless position, sometimes programs like Stockfish play a useless move like just throwing away a pawn in a way that provides apparent benefit. This could be considered a blunder I suppose, but usually it’s at a point where the engine is about to resign anyway.
Also of course, there might be some advantage to the seemingly pointless move: throwing the pawn may open up the minute chance of a stalemate in some line, and the engine might consider that its best bet. -
In a completely won position, sometimes programs like lc0, toy with their opponent a little, and play a move that is still winning, but not the quickest. We’re not exactly sure why; it’s hard to reverse-engineer deep learning algorithms.
So basically you only see apparently odd moves when the game is settled anyway.
The rest of the time, apparently weird moves to us actually turn out to be really good when we do further analysis.
We don’t really fully know how humans understand chess, and we don’t really know how deep-learning systems like AlphaChess understand it (though Alpha is probably a lot like us, just much more so). But we do understand how more primitive chess programs (a category that includes the likes of Deep Blue and Stockfish) work, because we’re the ones who designed them to work that way.
A chess algorithm has two basic parts: Look-ahead and board evaluation. For any given move, you look some number of moves into the future, and then at that point you look to see how good that board looks to you, and then you pick the move that leads to the best board.
One point that I find fascinating is that, if you were to achieve perfection in either of those tasks, the other one would become trivial. Consider, for instance, a chess program with the most primitive board-evaluation algorithm possible: It looks at a board position, and puts it into one of four categories, either black checkmate, white checkmate, draw, or not yet decided. But if that computer had the power to look ahead far enough, it would always eventually reach a decided state on all of the lines, and so be able to play perfect chess. And in fact, it’s not even difficult to write a program that would do exactly that (the catch, of course, being that once written, such a program would take a ludicrously long time to run).
Likewise, one could also imagine a program that only ever looks one move into the future, but its board evaluation routine is so clever and sophisticated that it always ranks the best move highest. And that computer would also play a perfect game. We have no clue how to write that program, but if we did, it would probably run very quickly.
Some good insights here into the concepts of machine “understanding” (thanks also to @Dead_Cat and @Mijin). I will, however, take a bit of an issue with the above statement. In one sense, of course, it’s true that those who built a system understand how it was built, since they built it – that’s just a tautology. But the important thing is that they could not in any practical sense predict how well it would work, nor necessarily be able to explain why one implementation is so much better than another. I very much doubt that the developers of Stockfish could explain why it rates better than Komodo, nor the developers of Komodo explain why it rates better than Houdini.
The AI pioneer Marvin Minsky used to say, back in the days when computers first started doing apparently wondrous intellectual feats, that “when you explain, you explain away”; when you understand in a general way how some AI feat was accomplished, you tend to say “aha, that wasn’t ‘real’ understanding, it was a programming ‘trick’”. That kind of thinking, taken to an extreme, is why the phillosopher and AI skeptic Hubert Dreyfus declared back in the 60s that no computer would ever be able to play a really good game of chess. Even back then, he was rather humiliated when he himself was beaten by the venerable MacHack that I never seem to be able to cease talking about, and of course today that statement seems rather silly.
To get away from chess just for a moment, one can look at developments like the DeepQA engine that underpins Watson, the program that won the Jeopardy challenge against the best Jeopardy competitors. Watson was the synergy of many different technologies developed by different groups, so in that sense alone one could say that no single person fully :“understands” how it works. But beyond that, Watson was about as useless as a bright but totally inexperienced young child until undergoing problem-specific training, a form of directed learning. Today the various commercial incarnations of Watson are all specially trained in specific problem domains.
Despite Watson’s stellar performance in Jeopardy, AI skeptics have brushed it aside and seized on its apparently humorous response to the Jeopardy clue, in the category “US cities”, "Its largest airport is named for a World War II hero; its second largest, for a World War II battle.” The correct answer is “Chicago”, and much merriment ensued when Watson answered “Toronto”, thus apparently “proving” that computers don’t “understand” anything, since even a child knows that Toronto isn’t a US city.
But this overlooks a great deal of important information that underlies that answer. Watson provides an analytical tool called an evidence profile that lets us see how it reached that conclusion. One important factor is that in this case it simply didn’t know the answer, but in Final Jeopardy you can’t pass, you have to take a guess. It had picked Toronto and Chicago as the top two answers, with Toronto slightly ahead, but with a very low confidence ranking for both. There were a lot of reasons for this that made perfect sense in retrospect. Among many other things, Watson correctly places much more emphasis on the type identifier (“cities”) than on its modifier (“US”). For another, it found many clues that justified the “American” modifier for Toronto, which it considered synonymous with “US”, such as the reference to Toronto being in the American League in baseball. There were also a large number of references found to Toronto place names related to World War II battles which tended to reinforce the choice.
Sadly, it lacked the geopolitical knowledge to definitively exclude Toronto based on the title of the category. But the heuristics and knowledge base that it had developed through learning basically served it very well through most of the game, such that it exceeded the capability of the best human players overall, but with occasional odd weaknesses to go along with some of its awesome strengths. Does that mean it didn’t really “understand” what it was doing? I don’t think so, and a fascinating example is the Alpha Go program, which learned to play an expert game of Go completely from scratch, with no human-introduced algorithms or heuristics. It was fascinating that top Go players (who lost to it) described some of its strategies as “alien”; that is, very effective yet distinctly non-human. I think that comment is extremely illuminating about the nature of machine intelligence. Don’t expect it to necessarily be like human intelligence, but expect it to increasingly be a lot better! This is a lesson we should have learned from the evolution of chess programs ever since the Dreyfus days when it was arrogantly presumed that even a precocious child would always be able to win against a computer.
Thanks for that post. Interesting, and I appreciate your detailed response.
Indeed, “Does a computer understand chess?” is a difficult question to answer, but it’s not difficult because we don’t know what a computer does. It’s difficult because we don’t know what “understand” actually means.
Feynman had a lot to say about that question, what “understanding” means. He pointed out that a lot of people use springs as an analogy to describe magnetism, and think that by making that analogy, they “understand” magnets. But that’s exactly backwards, since the way springs work in the first place is though electromagnetic forces, and they’re more difficult to understand than bar magnets.
Nitpick: the latest stockfish includes both a brute-force, knowledge-based engine, and a deep learning engine (NNUE: Efficiently Updatable Neural Network), so doesn’t belong in this category any more.
A good post, but you could have just stayed in chess for this part.
Alpha Zero taught itself chess in 4 hours, and did not only crush the current best chess engine of the time, but actually advanced our understanding of chess. It played moves that were both strategic (i.e. there was no calculable material advantage to the move) and that looked bad to us at first blush.
For example, Alpha Zero sacrifices pieces sometimes in ways that neither deliver mate, nor can win back the material anytime soon. But, it puts a high value on choking its opponent’s position, and it’s proven right to do so.
I think Danny Rensch’s videos best highlight how surprising some of its moves were.
Maybe this link is better for an example of the kind of new strategic play I mean.
When I play or analyse with ‘brute force’ programs, I soon understand what they are doing.
I can’t see as far ahead as them (obviously), but within a few moves I see what they have seen.
It will be interesting to play through AlphaZero’s games and tell you what impression they make on me … watch this space.
OK, I recommend the game 9 that I linked above (the second link).
That game featured AlphaZero bringing out the king in the middle game, which breaks the chess principles a little. Then later it sacks a bishop. The sac doesn’t win anything immediately but I think even a brute force engine will see that black’s position is choked at that point.
Meanwhile game 3 and game 5 (link) don’t have sacks (IIRC), but both result in black essentially running out of moves. Obviously the old-school stockfish didn’t fully appreciate the danger. It would be interesting to know what Stockfish NNUE would make of this.