Chess will never be solved, here's why

Sort:
Avatar of Elroch
MARattigan wrote:
Elroch wrote:
MARattigan wrote:
Elroch wrote:
MARattigan wrote:

Who already knows? Speak for yourself.

We know in fact that, with suitable definitions of "chess" and "solved", chess is

solvable and in fact is already solved.

Unless you are referring to very bad definitions - you probably are - this means you know the value of the initial position with certainty. But you don't!

I can solve chess by defining "solve" as being able to find the list of legal moves in any position. Not useful!

First of all you need a definition of "chess" that has only win draw and loss as results for either player where in all events a win for one player is a loss for the other and a draw for one player is a draw for the other, with the usual convention that for each player a win is preferable to a draw is preferable to a loss. Let us assume no resignation or agreed draw rules and also no iM or jR rules.

Let us take as a definition of "solve"

Provide one algorithm for each of the two players, such that the player using it can achieve at least the optimal outcome, regardless of the opponent's moves, from the start of the game.

posted recently on the thread.

Then the following algorithms for each player provide a solution.

For White on turn play move(D,'W','B',1+64!/(32!x2^6))[0] if it's non void

For Black on turn play move(D,'B','W',1+64!/(32!x2^6))[0] if it's non void

where D is the current diagram and move is the following function (vector entries starting at 0)

function move(d,f,s,n){

/* all variables local to the function */

..if n<=0 return [,0]

..if d is stalemate for f return [,0] 

..if d is checkmate return [,-1]

..r=[,-2]

..for legal moves m from d for side f {

....v->move(newd(d,m),s,f,n-1)

....If -v[1]>r[1] then r->[m,-v[1]]

....if -v[1]=1 then break

..}

..return r

}

function newd(d,m) return diagram after making move m in diagram d

Of course, if both players follow their algorithm the game could take some time and a lot of scrap paper, but there is no limit placed on either in the given definition.

Neither does the definition anywhere say you need to know the value of the initial position (though in terms of points it's (1+move(I,'W','B',1+64!/(32!x2^6))[1])/2 for White and 1+(1+move(I,'W,'B',1+64!/(32!x2^6))[1])/-2 for Black, where I is the initial diagram).

Neither does it say you need to prove that the algorithms work - it's sufficient if they actually do (though in this case you can prove it).

You may think that the quoted definition is a very bad definition.

The definition of ultra-weak solve requires a determination of the value of the game. Weak solving a game has always done so in practice, and the nomenclature would be horrible if it did not. So determining the value is a nice requirement for using the word "solve".

But the definition of "solve" I quoted doesn't require a determination of the value of the game.

Neither do the Wikipaedia definitions of weak and strong solutions (even with your quirky reading).

In fact the definition I quoted applies equally well to the game O I pasted some pages ago. The game doesn't have a value and not enough information to assign even an expectation. Nevertheless the algorithms, "carry on attempting to dispense a sheet of paper and staple it", for each player constitute a solution under the definition.

If you think that determining the value is a nice requirement for using the word "solve" that means it should appear in the appropriate definition. In fact there are a number of different possible meanings of the word "solve". If distinguishing between the different useful meanings results in horrible nomenclature then so be it. But my point above was referring to the content of the definition for a term already in use, not addition nomenclature to accommodate extra meanings.

For a weak solution this requirement is achueved by not only having an algorithm for each player that is provably correct (which at face does not necessarily tell you the result, even if in practice it is likely the writer of the algorithm knows if they are aiming for a draw or a win!), BUT also executing those two algorithms against each other in just one game!

Not a requirement in any extant definitions I've seen, but a previous Wikipedia definition gave the production of a provenly perfect game as an alternative definition of "weak solution". Doesn't appear to be any need for it. The algorithms need to work against any play by the opponent.

. the combination of:

  1. knowing the two algorithms are optimal
  2. knowing the result of one game between them

solves the game in the sense of determining the value.

2. is not called for in the definition I used above (but I did in fact quote the result).

This is appealing, as it removes the wooliness of "using reasonable computational resources". (Which happen to be my words ).

Unfortunately, "using reasonable computational resources", is a very large part of what this whole thread and pronouncements of games being solved in the public domain are about.

I did earlier in the thread give definitions which included the word timely, timely referring to the situation for which the solution is required. So for example the purported solution of checkers would not be a weak solution for a one minute blitz game. It should have referred to also storage and resources, so what should be defined is probably something like .

weak solution (t,s,r) for a player ... blaah blahh ... in time < t using storage < s with resources r.

weak solution for a player is weak solution (∞,∞,r) with some set of resources r

weak solution (t,s,r) of a two player WDL game is a weak solution (t,s,r) for both players.

weak solution of a two player WDL game is a weak solution for both players.

The "blaah blaah" should also mention proof. Very large numbers of @playerafar's wide swathe of substantially materially unbalanced positions could almost certainly be solved against any opposition by any one of the algorithms in the heads of chess players above a certain ability. But the proof is crucial.

Note that this still leaves a major distinction of ultraweak solving, as this does not have to provide any help for playing optimally. Interestingly, the common class of ultra-weak solutions called "strategy stealing" only provides a weak solution with certain extra conditions (eg a certain type of symmetry, and the axiom that playing a move is never a disadvantage).

[Wandering a little from the topic, it occurs to me that finding the value of a game/position by playing a single game between optimal algorithms resembles the approximate version of it that consists of an engine having at each stage in its analysis a mainline of best moves, with the evaluation of the final position reached being a possible choice for the evaluation of the initial position. Off the top of my head, I am not sure if top engines use this rule or whether they take into account uncertainty and use the evaluations of multiple leaf nodes to estimate the value of a position].

It is not that the definitions involve playing one game, it is that it is very easy to do so. Thus the value of a game is a trivial corollary of solving it, involving a minute amount of effort by contrast. Of course, in practice the value is always published when a solution of any type is found.

Avatar of MARattigan

Well it's a trivial exercise for me to amend the algorithm I have to produce a game. Will that do or do I have to get the chess pieces out? It might never terminate of course.

Avatar of Elroch
MARattigan wrote:

Well it's a trivial exercise for me to amend the algorithm I gave to produce a game. Will that do or do I have to get the chess pieces out?

It is the ease of producing a game that matters, not the ease of producing the algorithm.

Avatar of MARattigan

I said

We know in fact that, with suitable definitions of "chess" and "solved", chess is

solvable and in fact is already solved.

You said

Unless you are referring to very bad definitions - you probably are - this means you know the value of the initial position with certainty. But you don't!

Why is not my solution valid with the definition of solved I gave? Viz:

Provide one algorithm for each of the two players, such that the player using it can achieve at least the optimal outcome, regardless of the opponent's moves, from the start of the game.

The definition does not require you to know the value of the starting position.

Nor does it require that the algorithm can be calculated in any particular time.

Nor does it require you to produce a perfect game (which could be infinite given that I chose a version of chess with no agreed draw rule).

Avatar of Elroch

I already pointed out that with definitions that are not useful, your statement would be true. But that's not very interesting, is it?

Avatar of EEEeeEe-e-eeEEE-e

I have 100 elo hi

16657 texts and still talking about chess

Avatar of MARattigan
Elroch wrote:

I already pointed out that with definitions that are not useful, your statement would be true. But that's not very interesting, is it?

My post was in answer to @Zaruss123's statement

We already know it's not possible to solve this game, not worth trying!

I simply pointed out that with existing definitions of "this game" and "solving" we don't know any such thing.

How interesting you find it is up to you, but the definition of "solve" I chose was in fact your own. If you think it's not useful, why did you post it? 

Avatar of playerafar
Elroch wrote:
playerafar wrote:

If one player can force a draw that doesn't mean the other player can.
An idea - not a claim.
---------------
Regarding 28 pieces on board having the most potential non-pawns and therefore the most positions of the 31-term series that defines all possible chess positions -
What would be the material allocation within that that has the most positions?
I think it would be under the heading of 12 pawns promoted and the other four captured.
Six pawns each promoted in other words.
But within that - for most positions:
four rooks each
four knights each
three queens each
two bishops each - the original two - in other words each moving on different colors
one king each. Of course.
----------------
Can an upper bound then be worked out as to the number of positions that that allocation generates?
Yes.
3612 x (32 x 32 x 31 x 31 'for 4 bishops') x C(58, 3) x C(55, 3) x C(52,4) x C(48,4) x C(44, 4) x C(40, 4)
with the first two C (combinations) terms referring to the six queens
the next two C's referring to the eight rooks and the last two C's referring to the 8 knights.
Yes its going to be a gigantic number of positions just for that one allocation of material alone.
----------------------
I asked chatgpt to multiply out the expression and it pathetically kept blowing it.
So I then went to Gemini instead.
And it came up with a number of 187 octillion and change.
Which still looks high.
But there was also something 'suspicious' in the Gemini reply ....
187,998,376,838,888,888,888,800,000. 187 octillion. And change.
Uh oh.
Ten 'eights' in a row ???
Maybe it didn't row the boat right.

Python did a more reliable job. Taking your formula as correct:

It has 40 digits compared to your 27.

It can't be forty digits.
And its not my 27. Its what Gemini came up with. (and Marattigan's reply was to fret about the 50 move rule again and the Shannon number of 10^120.)
Gemini showed its steps.
Copilot might come up with a different answer.
----------------------
Anyway: Issue. What material allocation on board has the most post possible positions?
And: how many possible allocations are there?
I was thinking it would be the square of the possible number for either side.
But that doesn't quite work because of promotion issues.
----------------------
Consider the tablebase project going on right now.
8 pieces on board.
How many ways for each side to have material?
How many combinations of ways?
King plus seven pieces.
It starts easily enough. Considering only one side to begin.
That side could have seven of one piece type. There's five piece types besides the King?
So that's five so far? More like six. Because of the peculiar nature of bishops.
Pawns seem most natural to start. But I'd start with rooks.
7 rooks. 6 rooks plus either a knight or queen or bishop-light or bishop-dark or pawn. That's 1 + 5
5 rooks plus 2 of one type. that's 5 again.
4 rooks plus 3 of one. Again 5.
3 rooks plus 4 of one. 5 groups again because of five types.
2 rooks plus 5 of one. 5 groups.
1 rook plus 6 of one. But five groups.
-------------------
So - with 8 men on board and considering just one side's possible allocations with at least one rook - and only one other type of piece for now ....
That's 31 groups of allocations so far.
That's not too bad.
Next would be rooks plus two other piece types. That's going to be a lot bigger.
The structure of the array might end up looking a bit like a Pascal triangle.
The numbers will get bigger fast.
But at the end - the next array will be smaller. And the next smaller still and so on.
Why? Because rooks will be excluded in the next.

Avatar of EndgameEnthusiast2357

Just another totally random lunacy chess game to give an idea of just how many there are.

Avatar of playerafar
EndgameEnthusiast2357 wrote:

Just another totally random lunacy chess game to give an idea of just how many there are.

That diagram has 28 non-pawns on board.
Could be the most that are possible.

Avatar of playerafar

What are the true categories of positions?
1) illegal positions.
2) checkmate already on board.
3) stalemate already happened.
4) less than mating material on board.
5) checkmate in one.
6) draw in one. (example - K+Q v K and the lone king takes the Q)
7) positions so lopsided in material with no counterplay for the other side - in other words no play left in the position. (very gigantic category)
8) positions that are too drawish.
9) The remainder. The others. Needing deeper analysis of 5 ply or higher.
That #9 is the real task.

Avatar of EndgameEnthusiast2357
playerafar wrote:
EndgameEnthusiast2357 wrote:

Just another totally random lunacy chess game to give an idea of just how many there are.

That diagram has 28 non-pawns on board.
Could be the most that are possible.

Yes 6 pawns on each side is the max that can get through without other captures. You can also preserve all 8 pawns on each side by capturing some of the original pieces:

But the total number of pieces is fewer. Max is achieved with 6-6.

Avatar of Elroch
playerafar wrote:

What are the true categories of positions?
1) illegal positions.
2) mate in N for the side to play with best play (for some N >=1)

3) mated in N for the side to play with best play (for some N>=0)

4) drawing positions (also characterisable as "none of the above").

Avatar of playerafar
Elroch wrote:
playerafar wrote:

What are the true categories of positions?
1) illegal positions.
2) mate in N for the side to play with best play (for some N >=1)

3) mated in N for the side to play with best play (for some N>=0)

4) drawing positions (also characterisable as "none of the above").

I say there are nine categories (at least) - not four. Like I said in my post two posts ago.
And I have edited my #7 category there adding: 'very gigantic category'.
--------------
regarding 'mate in n' as opposed to 'mate in one' - the categorization should depend on precisely how much faster computers find mate in one.
The difference in speed might not be immediately discernible to humans.
Like for example between a billionth of a second and a whole second.
But multiplied over gazillions of positions it adds up.
Say - the difference between finding a 4-ply mate and a 14-ply mate.
--------------
Many might say 'But the computer would have to look to find out!'
Of course it would - but that misses the point.
Different degree of processing required.
For example - if a checkmate in one (for the side to move) is there - then that's 'filed'.
Otherwise - the position continues along whatever parallel processing route.
There's also that idea of adding to positions that are checkmate in Zero.
Already there.
Point: the compouter 'Generates' the mate in ones instead of finding them randomly.
As to whether that's better than 'discovering them' - idea - both are done separately.
And those two processes link up.
Processes to 'create' checkmate positions are going to be easier with fewer pieces on board.
With a lot of pieces - then 'searching' for mates doesn't look as good as happening on them.
What do they do in the tablebase projects?
I don't know but I imagine that running experiments is part of the projects.

Avatar of Elroch
playerafar wrote:
Elroch wrote:
playerafar wrote:

What are the true categories of positions?
1) illegal positions.
2) mate in N for the side to play with best play (for some N >=1)

3) mated in N for the side to play with best play (for some N>=0)

4) drawing positions (also characterisable as "none of the above").

I say there are nine categories (at least) - not four. Like I said in my post two posts ago.
And I have edited my #7 category there adding: 'very gigantic category'.
--------------
regarding 'mate in n' as opposed to 'mate in one' - the categorization should depend on precisely how much faster computers find mate in one.

the second and third categories are really each a SEQUENCE of categories, one for each N. They are inspired by the way tablebases are generated.

The categories are complete and precise unlike your 7 and 8. It is true that you can break down the draw one further.

Avatar of MARattigan
playerafar wrote:
...

If one player can force a draw that doesn't mean the other player can.
An idea - not a claim.
...

Full of ideas and completely devoid of anything to back them up. Could you not have thought of this yourself (or at least copied it from last time I posted it)?

 
White to move
Avatar of Elroch
playerafar wrote:
Elroch wrote:
playerafar wrote:

3612 x (32 x 32 x 31 x 31 'for 4 bishops') x C(58, 3) x C(55, 3) x C(52,4) x C(48,4) x C(44, 4) x C(40, 4)

It can't be forty digits.

If it shouldn't have 40 digits, your formula was wrong. CHECK THE ABOVE AGAINST YOUR FORMULA. That is what I implemented, with precise integer arithmetic.

And its not my 27. Its what Gemini came up with.

It makes mistakes. You were even aware its number was a mistake.

Gemini showed its steps.

Well, find where its error is then.Copilot might come up with a different answer.

Neither comes close to as reliable as hard logic. Python does integer arithmetic 100% right, all the time.

Avatar of MARattigan

The formula obviously is wrong. It takes no account of the player to move.

Avatar of Elroch

That is only a factor of 2, so a small adjustment to the bound.

Avatar of MARattigan

Yes, but that means no upper bound proved, because it's a reduction.

An upper bound of 3.7608849864794537138492436584744e+39 (40 digits) would be provenly correct (under basic rules - no resignation or draw rules or 50/75M or 3/5R rules).

You can't actually say an upper bound shouldn't have 40 digits unless the actual value has more than 40 digits.