Chess will never be solved, here's why

Sort:
llama36
BoardMonkey wrote:

I googled 10^44. It's One-hundred tredecillion written out.

Weird naming conventions.

So they name it for how many groups of 3 zeros occur after the initial 3.

Tredecillion is 13 groups of 3 zeros, plus the initial 3, so 10^42, and of course 100 tredecillion makes it 10^44.

https://merriam-webster.com/assets/mw/static/table/collegiate/number.jpg

tygxc

@6961

"When you list piece-up winning positions as having no compensation by definition, then the label is meaningless in the context of solving chess."
++ No, it is meaningful. We can identify positions where there is no compensation of any kind, like 1 e4 e5 2 Ba6?, or 1 e4 e5 2 Nf3 Nc6 3 Nd4? which are sure losses and do not need any further calculation. It does not even need to be a full piece. A pawn up with no compensation of any kind is a win too, like 1 e4 b5?, 1 e4 f5?, 1 d4 g5?, 1 d4 e5?.

"there's no way of determining static-ly, from the position itself which bishop up positions have no compensation." ++ Not for all, but for many. E.g. I can tell 1235172064527 is no prime, but I cannot tell for any random integer if it is a prime or not.
If no doubt, then dismiss. If any doubt, then calculate. 1 e4 e5 2 Ba6? leaves no doubt.

"you have to calculate to find out whether it's winning"
++ No, I do not have to calculate, I use game knowledge to tell right away that 1 e4 e5 2 Ba6? is a certain loss for white.

llama36
tygxc wrote:

"you have to calculate to find out whether it's winning"
++ No, I do not have to calculate, I use game knowledge to tell right away that 1 e4 e5 2 Ba6? is a certain loss for white.

In many positions you can do that, yes, but it will take considerably longer than a few years to solve chess if the process involves showing you each indeterminant position.

tygxc

@6964

"In many positions you can do that, yes"
++ It is a considerable simplification. E.g. just the rule to 'always promote to a either queen, or to a piece already captured' reduces the number of legal positions from 10^44 to 10^38.
Thus weakly solving with only that rule reduces the time from 100,000 years for 10^22 positions to 100 years for 10^19 positions.

Just a few more rules like 'hang no pieces, hang no pawns without compensation of any kind' Reduces the positions to 10^34 thus weakly solving to 10^17 relevant positions and that can be done in 5 years, like Sveshnikov said.
1 e4 e5 2 Ba6?, 1 e4 e5 2 Nf3 Nc6 3 Nd4?, 3 Nxe5?, 3 Ng5?, 3 Nh4? need no calculation.
Also 1 Nh3, 1 Na3, 1 e4 e5 2 Nf3 Nc6 3 Ng1 need no calculation though they may well draw too.
That is just incorporating game knowledge, which per Prof. van den Herik is beneficial.

llama36
tygxc wrote:

Just a few more rules like 'hang no pieces, hang no pawns without compensation of any kind' Reduces the positions 

Sure, a rule like "make no mistakes" greatly simplifies the process.

tygxc

@6966

"a rule like "make no mistakes" greatly simplifies the process"
++ The rule is:
'Other things being equal, any material gain, no matter how small, means success' - Capablanca

llama36
tygxc wrote:

@6966

"a rule like "make no mistakes" greatly simplifies the process"
++ The rule is:
'Other things being equal, any material gain, no matter how small, means success' - Capablanca

Yeah, of course.

But understanding something on a conceptual level is completely different from making use of that concept in a programming language and even more so in a rigorous context such as solving chess.

Saying "we'll just program it to ignore bad moves" is intensely naive.

tygxc

@6968

"understanding something on a conceptual level is completely different from making use of that concept in a programming language and even more so in a rigorous context such as solving chess."
++ That is where the good assistants come in. They launch the calculations. They occasionally terminate the calculations. The rule is not incorporated in Stockfish, the good assistants judiciously apply it to decide if Stockfish calculation is to be launched or not.
Let us see a few examples
1 e4 e5 2 Ba6?
1 e4 e5 2 Nf3 Nc6 3 Nxe5?
Is there material gain? Yes.
Is everything else the same? Yes, per judgement of the good assistants.
Conclusion: these are certain losses for white and do not need any calculation.

1 e4 e5 2 Nf3 Nc6 3 Bc4 Nf6 4 Ng5 d5 5 exd5 Na5
1 e4 e5 2 Nf3 Nc6 3 Bc4 Bc5 4 b4
Is there material gain? Yes.
Is everything else the same? No, there is some compensation that may or may not be sufficient.
Conclusion: calculate.

"Saying "we'll just program it to ignore bad moves" is intensely naive."
++ We do not change Stockfish, we use Stockfish like Schaeffer used Chinook for Checkers,
but the good assistants decide what to calculate and what not to calculate.

llama36
tygxc wrote:

That is where the good assistants come in. They launch the calculations. They occasionally terminate the calculations.

What you're talking about is not solving chess, not when "solve" is used in a technical sense. Not weakly solved or partially solved or softly... whatever adjective you want, it's not solving.

tygxc

@6970

I am talking about weakly solving Chess, just like Schaeffer did for Checkers, or Allis did for Connect Four.
Prof. van den Herik wrote incorporating game knowledge is beneficial in game solving.
It is pointless to burn computer time on 1 e4 e5 2 Ba6? or 1 Nh3.
It is pointless to burn computer time on a known drawn opposite bishop endgame until a 3-fold repetition.
That is the difference between 5 years doing it the smart way as opposed to 500 years doing it the stupid way.

llama36
tygxc wrote:

@6970

I am talking about weakly solving Chess, just like Schaeffer did for Checkers, or Allis did for Connect Four.
Prof. van den Herik wrote incorporating game knowledge is beneficial in game solving.
It is pointless to burn computer time on 1 e4 e5 2 Ba6? or 1 Nh3.
It is pointless to burn computer time on a known drawn opposite bishop endgame until a 3-fold repetition.
That is the difference between 5 years doing it the smart way as opposed to 500 years doing it the stupid way.

Ok, but you need a way to sort which positions are necessary to look at.

tygxc

@6973

"Ok, but you need a way to sort which positions are necessary to look at."
++ That is why the good assistants i.e. grandmasters are needed.
They decide what starting positions to submit to Stockfish for calculation.
They occasionally terminate a calculation like with known drawn opposite colored bishops.

llama36
tygxc wrote:

@6973

"Ok, but you need a way to sort which positions are necessary to look at."
++ That is why the good assistants i.e. grandmasters are needed.
They decide what starting positions to submit to Stockfish for calculation.
They occasionally terminate a calculation like with known drawn opposite colored bishops.

I'm asking how to determine which of the 10^44 positions are necessary to explore. It sounds like you're saying engines will start out by attempting to evaluate all of those positions, and will only stop when a human stops them.

That isn't a solution. That's just some GMs with an engine who are storing a lot of analysis.

tygxc

@6975

"how to determine which of the 10^44 positions are necessary to explore"
++ That is the wrong question. Schaeffer did not ask how to determine which of the 10^20 positions were necessary to explore. After just 10^14 Checkers was weakly solved. The purpose is to explore the tree starting from the initial position through drawn positions to end in 7-men endgame table base drawn positions.

"It sounds like you're saying engines will start out by attempting to evaluate all of those positions" ++ No, humans decide from which positions to start calculating. Humans decide not to submit 1 e4 e5 2 Ba6? for calculation.

"will only stop when a human stops them" ++ No, the calculation stops when a 7-men endgame table base position or a prior 3-fold repetition is reached. Humans occasionally halt a calculation e.g. when a known drawn opposite colored bishop endgame is reached, that would be pointless to calculate until a 3-fold repetition. Such human terminations are the exception. 

"That isn't a solution. That's just some GMs with an engine who are storing a lot of analysis."
++ It is a solution. If every relevant opening is calculated until a 7-men endgame table base draw or a prior 3-fold repetition, then Chess is weakly solved.

An analysis ends in some evaluation.
A solution ends in a 7-men endgame table base draw.

llama36
tygxc wrote:

If every relevant opening is calculated until a 7-men endgame table base draw or a prior 3-fold repetition, then Chess is weakly solved.

Yes, but you need a way to determine which positions are relevant. Humans are slow and fallible.

You keep giving the example of losing a piece on move 2 as if all irrelevant positions are easy to determine.

tygxc

@6977

"You keep giving the example of losing a piece on move 2 as if all irrelevant positions are easy to determine." ++ I give that example as some here still do not understand why 1 e4 e5 2 Ba6? needs no further calculation. The good assistants need to be (ICCF) (grand)masters so they only make 100% sure decisions on what position to submit for calcuulation and what not.

coolsim12
Hi
RemovedUsername333

@6960

There are several logical and mathematical errors in the provided statement. Firstly, the claim that "a full bishop up, no compensation of any kind is a win" is incorrect. While having a bishop advantage can often be a significant advantage in chess, it is not a guarantee of victory. It is possible for a player with a bishop advantage to lose the game, especially if their opponent has other compensating factors such as a material advantage or a superior position.

Additionally, the claim that "a tempo up is enough to win" is also incorrect. A tempo is simply the time it takes a player to make a move, and while having an extra tempo can be advantageous, it is not a guarantee of victory.

The statement that "1 e4 e5 2 Ba6? is a forced checkmate for black" is also incorrect. While the move 2...Ba6 may be a strong move for black, it is not a forced checkmate. It is possible for white to defend against this attack and potentially even gain an advantage.

Furthermore, the calculation of the Shannon number as 10^120 is incorrect. The Shannon number represents the total number of possible chess games, not the number of possible positions. The correct calculation of the Shannon number is significantly larger than 10^120.

The assertion that weakly solving chess without any game knowledge would take 100,000 years is also flawed. This calculation is based on incorrect assumptions about the number of legal positions and the number of possible moves per ply, and does not take into account the fact that many positions can be evaluated much more quickly using chess engines and databases.

It is important to carefully consider the evidence and reasoning behind any claims, particularly when it comes to complex topics such as chess.

Botlosenik
TsetseRoar wrote:

Strange thread...most people seem to have no idea what "solving" a game means.

Solving a game does not mean being dominant over all other humans...otherwise chess was "solved" by Morphy, even though we can find many suboptimal moves in his play now.

Solving also doesn't mean calculating every permutation. 

What it means is a mathematically best strategy has been shown -- either an unstoppable strategy that always wins for one player, or a strategy that forces a draw (where an unstoppable can be proved to not exist).

At this time, the game of chess has not been solved, but there is no reason why it is impossible, or intractable.

I think Go will be solved before chess, and when that happens we can suspect chess is coming soon. Go has many more permutations than chess, so is sometimes described as a more complex game, but I think, given only one kind of "piece" and "move" it looks a better candidate for finding an unbeatable strategy.

 

Strange thread indeed. Your definition of "solved" is far better than other posts I have seen here. I suppose I will only be elaborating on what you have said.

It is quite straight forward to solve TicTacToe for example (if it hadn't been already solved) by simply testing every single move for each player in each possible position, and find which lines give what result. It is note quite clear to me whether you meant to rule that out. Anyway, while this method seems like a silly (as in inefficient) way to do it, it leads to simpler code logic which may have advantages. For example, solving a really difficult game like chess or Go may require specialized hardware, and depending on what this hardware is based on, "simple logic" may be the biggest factor for being able to make it efficient.

As far as I know there are only two ways to improve on the oversimplified method mentioned above (they probably can and will be combined). Advances in hardware and advances in method of exploring the searchspace.

Advances hardware would include both efficiency and memory size. To make this the deciding factor would require improvements of a magnitude that are not likely for many decades to come. With current speed of hardware improvement, I would guess at least several hundred years.

I can see only two types of possible efficiency improvement techniques for exploring the searchspace.

One speedup technique is in improving the method of going through a searchspace regardless of game. For example a method to avoid calculating the score (won/drawn/lost) for the same position (including 90 degree rotations and so on) many times, similar to the use of hashtables in chess engines (this is just an example, many others exist, like starting from end positions and calculating backwards). This speedup technique has been studied quite a bit, and it is unlikely that huge new advances will come of it, and even if they do, the searchspace will necessarily still simply be way too big for it to be a deciding factor alone. Our current chess endgame databases ( https://en.wikipedia.org/wiki/Endgame_tablebase ) are still not able to handle 8 pieces, and the database size increases exponentially for each added piece.

The second speedup technique is "game strategy based speedup methods", like if a king is too far behind a pawn, it cannot ever stop it from becoming a queen by simply running after it, no matter which path it chooses. Such a breakthrough could also be that you find some kind of connection between positions (like "if pos X is won, then pos Y is too"), or maybe a kind of rule of how to play ("always play Qc4 if the following conditions are met : ....") or maybe something else. However, there is no reason to feel confident that it will be possible to find such game strategy based speedup methods that are general enough to cut the search tree enough to sufficiently simplify the job of searching through the whole search-tree, either for chess or go. It seems to me nearly impossible to rule it out as a theoretical possibility, while it still seems very unlikely.

To sum up, I don't think even deciding if starting pos is won for white or a draw is within our grasp for many decades. I don't even know if we can soon prove that it is not won for black (harder than you might think: https://www.reddit.com/r/chess/comments/7opnjn/is_it_provable_that_black_could_never_force_a_win/ ).

As for "go vs chess", which is solved first, I disagree. Simpler rules for Go may make it more probable to find a "game strategy based speedup method", but only "more probable", not "probable". I still think it is quite unlikely. The other possibility would be that it is easier to make some specialized hardware rig that handles Go in a novel way which gives insane speedup, than for chess, as chess has more complicated rules, but I see no reason to believe that this is more of a deciding factor than the smaller board and so on for chess. My guess would be that if they ever get solved, chess is solved before Go, and that there would be quite a gap in time between them.

Botlosenik
tygxc wrote:

@6968

Is there material gain? Yes.
Is everything else the same? Yes, per judgement of the good assistants.

I may not have interpreted "weakly solve" correctly, but "is everything else the same?", how much "the same" must they be, and what to do when the "good assistants" disagree, or agree but are wrong? There are certainly positions where the absolute world elite players disagree on this issue, which proves at least one of them must be wrong in each case. And you can find positions with stuff that probably no human will judge correctly in a consistent manner (unless given stupendous amounts of time), positions where you have "computer moves" that you can, after being told there is something there, perhaps work it out, but you would never have guessed beforehand. Do you suggest we just ignore all such issues?