> “No, no,” said God, “it was really tough. More than 10^35 legal positions
God should know there are approximately 4.8*10^44 legal positions [1].
> Secondly Ken was predicting that the game of chess was a draw, i.e. that probably a majority of all legal positions, including the starting position, would lead to a draw with perfect play.
Only the latter is what the game being drawn means. The majority of legal positions is in fact overwhelmingly to one side's advantage, as is clear from sampling a few dozen random legal positions.
So God plays backwards, so to say. He does what’s called retrograde analysis, “a technique employed to determine which moves were played leading up to a given position” (cf. https://en.wikipedia.org/wiki/Retrograde_analysis)
I had a vague intuition of doing the same (going backwards) to generate the winnable Solitaire card deals, but I didn’t get far with it… Does anyone have experience/ideas on that? FTR: a similar discussion on X, started recently by Jonathan Blow: https://x.com/Jonathan_Blow/status/1865520149891346634
I ended up generating totally random deals, then filtering-out those unsolvable by an algorithm of mine (described at https://FreeSolitaire.win/strategy#remarks). It’s fast & good enough to run on-the-fly, when a player starts a new game. But this isn’t an intellectually satisfying solution.
Note that “The probability of being able to win a game of Klondike with best-possible play is not known, and the inability of theoreticians to precisely calculate these odds has been referred to by mathematician Persi Diaconis as "one of the embarrassments of applied probability"” dixit https://en.wikipedia.org/wiki/Klondike_(solitaire)#Probabili...
We need another genius like Ken Thompson for Solitaire!
It's prosocial to mention that the market rate for endgame tablebases is $0 [0][1][2]. (And also that this particular vendor are ethically challenged weasels who steal very labor-intensive GPL projects and try to pass them off as their own [3]).
The classic Nalimov bases don't, at all (pure DTM).
The Syzygy bases that are the most common now do, but in a kind of weird way (DTZ50); they try to get to the next zeroing move (pawn push or piece capture) as soon as possible, which means they play optimally from a win/draw/loss perspective no matter what the 50-move counter is but appear to play super-strangely (e.g. they may sacrifice a queen and go into a super-tricky won ending, instead of finding a mate in five).
Galen Huntington has made proper DTM50 bases (http://galen.metapath.org/egtb50/), which basically treats each position as different depending on the DTZ counter, i.e. “kings on a1 and a8 and a queen on c4” is really 100 different positions depending on who is to move and what the DTZ counter is, where some of them may have different mate distances and/or different results. That will give the shortest possible mate _and_ always take the 50-move rule into account. But they are not public, much larger than the Syzygy bases and generally more of a research project.
Any engine that uses tablebases in its search will generally end up playing pretty strangely on the “knowledge horizon”, even when using DTM50 bases, for the simple reason that they will be happy to reach anything the tablebase says is a win, by any means. (E.g., again, if you have 8 pieces and 7-man tablebases and you don't see any other way of mating, sacrificing your queen to get into a won 7-man ending will be your best move.)
The standard syzygy bases of course do, they are designed for practical play. Some table base developers in the past took pleasure announcing mate in several hundred moves in certain positions and this had made headlines in the past, hence the confusion maybe.
Does the 50 turn rule make the analysis harder or easier? My gut says easier because it creates some limit that should, I guess, let you prune some extra cases somehow… but it does add some extra state which is weird. Two otherwise identical board states become no longer identical depending on how you got there…
That's not really how it works, though, as the counter is reset back to 0 once a capture happens or a pawn is moved (as both of those are irreversible and thus represent some abstract proof of progress towards a resolution of the game).
I didn't know that anecdote. The point that a perfect chess engine would not necessarily be hard to play a draw against (until you accidentally play a losing move) is one that many people miss.
Although it could of course use some strong existing engine to pick a move in drawn tablebase positions. I assume Stockfish already does that.
> Although it could of course use some strong existing engine to pick a move in drawn tablebase positions. I assume Stockfish already does that.
This is commonly called “swindling” and Stockfish does not do it. There are other engines that do (you do a normal search where the losing moves are never considered, and then pick the best one from there).
Chessbase is one of those pieces of software that would be completely eaten by a cheaper alternative if the market was bigger. $400+ for a single download, selling mostly open source data, and it looks like it was made in 1998.
The thing is, there is money in chess but not that much money. There will never be a unicorn in chess software.
Open source may have eaten the other end of the market. Lichess is good: not as feature rich as Chessbase and a less complete database, last time I checked, but less buggy and faster for some purposes.
It's hard to imagine a competitor at say $50 that did say 80% of Chessbase's functionality would sell many copies. It needs to be 150% of Chessbase and cost $200.
Scid (and forks) also exists in the open source world. It works just fine but the UX is lacking; I've never met a serious player who relied on it. It's the GIMP to Chessbase's Photoshop. So the UI needs to be great or to be a clone of Chessbase's.
There's also Chessbase mobile which was an amazing product when it first came out. It has the three features people really want from Chessbase: search for a position, search for a player's games, run engine analysis. All in the cloud. For something like $6.99. Sadly Chessbase seem to underprovision servers for it and Android nerfed it by preventing you plugging in strong OS engines. But it's a sign they can give away the product if they need to get into a price war.
Scid exists of course, I've used it since forever and it works fine. But you have to find your own games to fill it with (probably from The Week In Chess) and it looks like Linux did in 1998.
Most of my opening stuff is just in a bunch of Lichess studies these days though.
Really appreciate the Leko story about the endgames. He's the top level commentator that I enjoy the most, but I don't always understand what he says in his analysis. Leno's Banter Blitz was also quite fun to watch - https://m.youtube.com/watch?v=5-eGwi2NSmY
But everything up to 6 pieces is on BitTorrent these days. The 7 piece tablebase is 20TB or so, so it’ll be a few years before you can fit that one your phone. Pretty sure Lichess has an API for that. Never tried to hook it up to Stockfish or Leela though.
You definitely do not want to generate your own 7-man tablebases. It took computers with hundreds of gigabytes of RAM over a year to construct. :-) Even 6-man takes quite a while. (345 you can do easily enough now.)
You don't need to muck around with BitTorrent to get them; several mirrors have them over HTTP.
On the off chance you’re _the_ Sesse, can I thank you personally for your analysis site. Pretty sure I saw it hit 5000 viewers during Ding’s magnificent win this week.
I am, and you're welcome :-) It very briefly passed 6k, AFAIK. (The interest during Carlsen–Caruana was much higher, but that's just a natural fact of who's playing.)
I have trouble believing in God, but when I play chess, I sometimes get the sense that it’s not me and the opponent playing against each other, but God playing against himself. I guess it’s something to do with the mystery of insights.
Maybe I'm missing the point, but this seems like a long-winded way to say "most positions are a draw, and theoretically losing material doesn't matter if you can still force a draw eventually"
God should know there are approximately 4.8*10^44 legal positions [1].
> Secondly Ken was predicting that the game of chess was a draw, i.e. that probably a majority of all legal positions, including the starting position, would lead to a draw with perfect play.
Only the latter is what the game being drawn means. The majority of legal positions is in fact overwhelmingly to one side's advantage, as is clear from sampling a few dozen random legal positions.
[1] https://github.com/tromp/ChessPositionRanking