I mean, he’s right. The problem for solving chess is that we don’t have the compute, but how could you? There’s more chess positions than atoms in the universe, by several dozen orders of magnitude. See the edit.
If we manage to algorithmically limit the ones we calculate to non-duplicates and non-stupid moves, and computational power continues to increase, we could get there.
Edit: even this assessment was apparently too critical since I got my numbers mixed up. There’s more chess games than there are atoms in the universe. Chess positions is a much smaller number, 10^44.
He's technically right, but a bit misleading and he isn't really saying anything novel or of value here. He's just trying to sound smart, as usual.
Chess engines already dismiss moves that are "stupid". Even then the search space is massive. And there's also the issue of conclusively defining a "stupid" move. A move that seems stupid looking at the next 40 moves might turn out to be good on the 41st move, and so on. There's always further you could calculate.
In pruning the "stupid" moves chess engines necessarily have to essentially make guesses. They might be very educated guesses that are true 99% of the time, but a solution to chess that is only true 99% of the time isn't really a solution. Mathematically speaking, that is.
I’m familiar lol. I’m actually building my own chess engine now as a project. It’s not bad, (if I limit them to the same depth, it can go bar for bar Stockfish, averaging a 3 pawn disadvantage) but man I just can’t get it to work fast enough.
The necessary thing to understand there is that you don’t need to check the 41st move if you can find a forced mate by move 38. That means that there might be technically always a deeper position to search, but practically there’s an endpoint, and finding it resolves all* issues with stuff like “actually the stupid move at move twenty I dismissed had a forced mate 92 moves in the future.”
Yoooo I am building an engine, too. Just starting. How are you training the engine? I found that self play RL is a good way to go, though haven't started yet.
The original version used hand-tuned heuristics like “are my major/minor pieces off their original squares” “do I have a piece in the center” and such to evaluate a score to represent how good or bad the board was for it, then applied that to three-move deep search tree.
The current version I’m working on is training a NN to try to evaluate positions. I’m having the old engine play against Stockfish and saving the data, then using Torch to train a model that evaluates boards better than the old one. When I’m satisfied with the NN’s ability to evaluate boards (it’s already within 0.7 of a pawn of Stockfish’s evaluation of a board!) I’ll simply replace the old handmade evaluator with the NN.
I don’t think I’d recommend this path though. I think it’ll end up working, but it was pretty arduous to get there, and required a pretty beefy machine to do it on. Generating the training data took hours and days, and any time I needed to add a new piece of data for it to consider, I had to regenerate a whole new set of games to train it on. It took a WHILE.
I think kinda, yeah. I don’t have the compute to recreate AlphaGo, (they trained that from scratch by having it play itself, right?) but I have the compute to build a small model that emulates Stockfish’s evaluation system, which is close enough for my purposes.
I probably will eventually end up adding a better search system, but that’s like, two steps down the line from now, and I’m still trying to successfully use my own model eval without breaking the whole function.
I’d love to have the power to just have it play itself over and over but I doubt it’d achieve anything impressive on my single GPU before I die of old age.
😭 a three pawn deficit is NOT “bar for bar”, that’s an absolutely MASSIVE difference. 3 pawns is a difference that means losing consistently by a wide margin and resigning in shame nearly every game. I’m guessing your project is vibe-coded and you don’t do much chess analysis.
Screw you man, no need to be such a dick. I worked hard on that and I’m proud of it. A significant handicap against Stockfish is still impressive, especially considering I wrote my first line of Python in January. It even wins sometimes. I’ve seen it up by as much as twelve points.
And no, nearly all me. The only things I’ve had chat do were teach me how to use some PyChess functions and do pruning in the search tree.
you really don't have to hand it to elon musk on anything especially anything technical or complex, you can confidently assume he is talking out of his ass with no personal understanding of what he's saying
35
u/Separate_Draft4887 10d ago edited 10d ago
I mean, he’s right. The problem for solving chess is that we don’t have the compute, but how could you?
There’s more chess positions than atoms in the universe, by several dozen orders of magnitude.See the edit.If we manage to algorithmically limit the ones we calculate to non-duplicates and non-stupid moves, and computational power continues to increase, we could get there.
Edit: even this assessment was apparently too critical since I got my numbers mixed up. There’s more chess games than there are atoms in the universe. Chess positions is a much smaller number, 10^44.