Chess will never be solved, here's why

Sort:
tygxc

@7026

"what that means in ever solving the game of chess with Stockfish"
++ Just give enough time to reach enough depth to hit the 7-men endgame table base.

Elroch

Stockfish set to 10000 ply would not only be geologically slow, it would also be unreliable. It is obvious it can only get to any large depth by ignoring lines that a cursory evaluation concludes are "not promising". Such evaluations are wrong at a rate that is not only non-zero but significant to getting the right answer (hence Stockfish' unquestionable imperfection).

Note that an engine losing a game means it got the choice of a move dead wrong at some point. What it thought was a move that was the very best was actually a blunder that gave away the game. That sentence shows the degree to which engines are unreliable. This doesn't stop being true with more time per move, it just becomes rarer (at very high computational cost).

tygxc

@7028

"Stockfish set to 10000 ply"
++ There is no need for 10,000 ply. 238 ply is more than enough.
Perfect games from the ICCF WC finals lasted between 13 and 119 moves, 42 moves average, with standard deviation 16.

BrandonMcNugget

At least not in the near future

tygxc

@7030

"At least not in the near future"
++ Depending on somebody willing to fund a 5 year project of 3 million $ with 3 cloud engines and 3 grandmasters.

tygxc

@7034

"Why does stockfish need to reach the table base." ++ Because the evaluation of the 7-men endgame table base is exact draw/win/loss and the evaluation of Stockfish is only approximate.

"You have already claimed Stockfish plays perfect chess."
++ Not my claim. My claim is that at 17 s/move on a billion nodes per second engine the optimal move is always among the top 4 engine moves with 1 error in 10^20 positions.

"Can anyone tell me why Stockfish can not solve this position"
++ Stockfish can solve this position if you give it enough time to reach sufficient depth.

"And when you run Stockfish you will see Stockfish is hitting the table bases"
++ Once the 7-men endgame table base is hit play is perfect. 

tygxc

@7039

This position is not relevant and cannot result from the initial position by best play from both sides.

Botlosenik
Elroch wrote:

Stockfish set to 10000 ply would not only be geologically slow, it would also be unreliable. It is obvious it can only get to any large depth by ignoring lines that a cursory evaluation concludes are "not promising". Such evaluations are wrong at a rate that is not only non-zero but significant to getting the right answer (hence Stockfish' unquestionable imperfection).

Note that an engine losing a game means it got the choice of a move dead wrong at some point. What it thought was a move that was the very best was actually a blunder that gave away the game. That sentence shows the degree to which engines are unreliable. This doesn't stop being true with more time per move, it just becomes rarer (at very high computational cost).

For "geologically slow", you seem to not have gotten the context, someone suggested infinite speed, which obviously means nothing will be slow.

As for your bold text, it also misses the mark. The idea is, suppose you got a mate in 5 (M5) position, all opponent moves will lead to lines that are mate in five. Maybe it is easier to assume that the winning side is also forced to mate in 5 moves first, to get the point across. SF will easily find this in almost no time, and it does so by brute force testing all lines. Normally when SF does a tree search, it does not get to a mate in most leaf nodes of the search tree, and it has to use its strategy function to estimate the value of a position. But this is not the case when there is a mate or a direct draw (like stalemate) on the board. For this case, it does not have to make this estimate/guess, it will just slab on its score for win/draw/loss. If all leafnodes in its search tree are either mate or direct draw, there is zero guessing, all it has done is brute force checked every line to mate/draw. Now, you can do the same with M6, same result. But if you try something like M30, it at best will take quite some time to find this forced mate. All I am suggesting is that no matter how high you set the value n for mate in n, it will do the same thing, and find a perfect answer with no guessing. And since the maximum number of moves in a legal game is about 5000 moves, (a quick google suggested 5899, I think this is inaccurate, but it is something like that), by setting your search depth at that number, you should be able to force the engine to go this deep in every line, again giving zero guessing, only a brute force search.

Someone suggested that SF does not work exactly like that, I have not bothered to look into that. I do know that simple Alpha Beta searches work the way I described, I have not studied the latest tree search tricks, but it would surprise me quite a bit if you cannot make the engine brute force to a certain search depth quite trivially.

 

Edit: For last paragraph, after a quick google:

https://www.chessjournal.com/stockfish/#Does_Stockfish_use_Minimax_algorithm

In other words, it appears that Stockfish does not use the Shannon Type B search algorithm, but rather a variant of Minimax, meaning that my first paragraphs are correct, and the someone who suggested SF does not work like that, is mistaken.

tygxc

@7042

"the maximum number of moves in a legal game is about 5000 moves, (a quick google suggested 5899" ++ 5898.5 due to the 50-moves rule. https://wismuth.com/chess/longest-game.html However, from the initial position a 7-men endgame table base draw or a prior 3-fold repetition is reached long before 300 moves.

MARattigan
tygxc wrote:

@7039

This position is not relevant and cannot result from the initial position by best play from both sides.

Just out of interest - can the initial position be reached from the initial position by best play from both sides? 

If not, are there any positions that can be reached from the initial position by best play from both sides?

Do tell us!

tygxc

@7045

"can the initial position be reached from the initial position by best play from both sides?"
++ The initial position is the initial position.

"are there any positions that can be reached from the initial position by best play from both sides?" ++ Yes, more than 10^17 and less than 10^44.
Example
https://www.iccf.com/game?id=1164344

In 57 moves from the initial position to a 7-men endgame table base draw, from one drawn position to the other.

MARattigan

Oh thanks! Now we know.

MARattigan
btickler wrote:
...

P.P.S. "Candor"

P.P.P.S. "Candour"

Botlosenik
Optimissed wrote:
Botlosenik wrote:
Elroch wrote:

Stockfish set to 10000 ply would not only be geologically slow, it would also be unreliable. It is obvious it can only get to any large depth by ignoring lines that a cursory evaluation concludes are "not promising". Such evaluations are wrong at a rate that is not only non-zero but significant to getting the right answer (hence Stockfish' unquestionable imperfection).

Note that an engine losing a game means it got the choice of a move dead wrong at some point. What it thought was a move that was the very best was actually a blunder that gave away the game. That sentence shows the degree to which engines are unreliable. This doesn't stop being true with more time per move, it just becomes rarer (at very high computational cost).

For "geologically slow", you seem to not have gotten the context, someone suggested infinite speed, which obviously means nothing will be slow.

Sorry, not quite with you. How can you get infinite speed?

A bit back, DesperateKingWalk said this:

"Type B Shannon chess engines like Stockfish. Were not designed to solve chess. And could not solve chess even on a computer with infinite speed, and time. Because it was not designed to do such a task."
 

What I have said, that you reply to now, is me replying to that thought experiment.
  

Previously, there has been quite a discussion, on this kind of subject. Perhaps you haven't read it? And don't realise just how long such extended, brute force searches would take? We are talking about millions of years and at the end of it there would be no way to store the information or to sort and compare it, so it would be meaningless.

Have you already forgotten that I said infinite speed, and you even asked about it above? As for "no way to store the information", I also addressed that in the original post, I added to the thought experiment that you also have infinite memory, and then I suggested that SF could in theory definitely "solve chess". Since we now go into a "verbal battle", I should point out that it wouldn't actually be able to do this if you magically gave it infinite speed/memory of course, because SF code is written to be efficient, and is not designed to address an infinite size memory, but the algorithm involved (my understanding is SF uses Minimax, not Type B Shannon algorithm) allows for it.


Do you realise how long it would take to do a complete solution of all possible chess games, even with no evaluation at all? At present computing speeds longer than the life of the universe.

Here you seem to repeat yourself. I therefore will not try to address this separately

 

teju17

Maybe using chess engines is unreliable, a programme that stores every possible move in a huge database and detects which sequence of moves leads to a checkmate might answer our question. But then, we don't know which is a forced win...

MARattigan

@DesperateKingWalk

That's just @tygxc's version of alphabetical order.

willithius

i agree 

MARattigan

I don't agree.

Try playing the Nalimov or Syzygy top move as White against the chess.com computer from the position shown below.

White to play and mate in 16

 

(You can find the Syzygy moves here - they're exactly the same as Nalimov's for this endgame, I believe.)

 

 

Elias_nizko

how do you set up a custom chess board, like with 20 queens vs just 2 pawns?

Mohamed_abdulrazek

Chess is one of the best games for training the mind