Well it could only be proven by brute forcing all continuations to see if the opening is solid against all possibilities ... so I don't understand your point.
That's my point.
Well it could only be proven by brute forcing all continuations to see if the opening is solid against all possibilities ... so I don't understand your point.
That's my point.
We are talking about solving chess here rather than creating a reasonable chess engine.
Solving involves proof, not just solutions that are good FAPP ( for all practical purposes ).
It has been said several times that the hard obstacle to the solution by brute force is not the number of possible games, rather the number of possible positions, because you can always build a transposition table from positions that you have already seen during the tree search.
32 man tablebase , brute force , not the way to solve chess . Its like a Physics equation being solve by means of algebra . To solve complicated physics problems, man invented Calculus . in the same manner that we need a new method to solve chess . The starting position is equal , how can white or Black get an advantage from nothing ? It might be a draw . A chess law , conservation of position and material advantage -
"After sifting through 500,000,000,000,000,000,000 (500 billion billion) checkers positions"
Yes. By shifting through. Not by deeming anything.
I think it is worth summarizing the assumptions that we make about solving chess:
1) We demand a strong solution
2) In order to have a strong solution you need a memory capable of storing the outcome of all legal positions ( save simple symmetries )
3) The number of legal positions in chess is not significantly lower than the proven upper bound of 10^46
4) Chess is computationally irreducible ( that is only exhaustive brute force tree search works )
Assumption four is wron.g There is structure to exploit, the question is just how much. Also solving chess does not necessarily mean looking at all legal positions, so I doubt number three. Only positions that can be forced from the starting position against an optimal player needs to be considered.
Assumption four is wron.g There is structure to exploit, the question is just how much. Also solving chess does not necessarily mean looking at all legal positions, so I doubt number three. Only positions that can be forced from the starting position against an optimal player needs to be considered.
You are making two points.
Point blue: so far there is no evidence for this. There are always loopholes in heuristic ( computationally reducible ) evaluations. Any solution should involve proof and I have not seen a method that can prove anything apart from exhaustive tree search.
Point red: if you require a strategy against an optimal player from the starting position, you are talking about a weak solution ( dropping assumption 1 ). While this is possible, this is not the 'real thing' everyone is waiting for. I want to know whether the king's gambit is a draw or win for one side, not that the starting position is a draw ( which everyone 'knows' already ).
The problem with that assumption is that it's only equal to whatever search depth you look to, one side might have a very deep advantage.
You've never seen an engine change its evaluation of a position?
I think maybe you don't understand how they work.
Just because a position is given as equal, doesn't mean that you can play the best moves and it will stay equal.
Assumption four is wron.g There is structure to exploit, the question is just how much. Also solving chess does not necessarily mean looking at all legal positions, so I doubt number three. Only positions that can be forced from the starting position against an optimal player needs to be considered.
Point blue: so far there is no evidence for this. There are always loopholes in heuristic ( computationally reducible ) evaluations. Any solution should involve proof and I have not seen a method that can prove anything apart from exhaustive tree search.
Trivial example: transpositions. That is structure that reduces the search from a tree to a dag.
Do computers even know if 1.d4 is better than 1.e4 ?
No. Nowhere close. This is a theoretical discussion. :)
Just because a position is given as equal, doesn't mean that you can play the best moves and it will stay equal.
WHAT!?!
You have got to be joking!
Watch an engine play itself, it will play the best moves to avoid it's own plans therefore drawing the game... The reason people lose a game of chess is by not making the best moves in a position and giving the other person an advantage!
I don't understand what you don't understand!
EDIT: AH! is it in the wording of "given"? I'm speaking about an objectively equal position not one that after hours of calculations a computer finds a forcing line that forces an advantage.
You really think an engine always draws against itself?
Trivial example: transpositions. That is structure that reduces the search from a tree to a dag.
I have to admit that this is a tricky argument.
However it does not affect the essence of my assumptions.
Transpositions are already accounted for in my assumptions, when I'm speaking about the number of legal positions as a limiting factor. Nowhere in my assumptions does the number of legal games appear.
Transposition tables are a clever way to speed up exhaustive tree search, but they don't represent an alternative to exhaustive tree search. More importantly they have nothing to do with the structure of chess, since they can be used in the case of any board game, just as alphabeta can speed up minimax in the case of any board game ( so you can't claim that alphabeta is part of the structure of chess ).
There is no general method in complex positions that can prove anything apart from exhaustive tree search ( whether it is optimized by transposition tables or not ). For example you can 'prove' for certain selected positions that they are a fortress by reasoning that is not reliant on exhaustive tree search. But the point is that given an arbitrary position, you don't have a general algorythm which can tell whether it is a fortress or not, apart from exhaustive tree search.
This example just occured to me:
The halting problem of computers is unsolvable.
But wait, here is a program:
1. HALT
This will halt. I guarantee you. Have I solved the halting problem?
No. Unfortunately not.
Because I have proof for one specific simple program rather than a general algorythm which can tell for an arbitrary program whether it will halt or not.
Similarly, the fact that I can prove that you can win with a rook and king against a bare king, does not mean that I can 'solve' chess endgames in general.
The problem with proofs in chess that do not refer to exhaustive tree search is that there is a tradeoff between the complexity and generality of the positions in question. You can prove in general the outcome of certain endgames but those positions are trivial ( like a rook and a king against a king ). On the other hand there are complex positions for which you can prove that they are a fortress, but those positions are very specific. For positions that are both complex and general no such proofs exist.
This is a simple position:
Would you believe that not only it is a mate in 261, but there is only one winning move and all other moves draw.
These kind of secrets are unreachable through usual human reasoning ( and even engines fail to find the winning move ). Only exhaustive tree search can bring such hidden secrets to the surface.
To 'deem' a thing and to 'prove' a thing are two different things.