DustinYoder wrote:Well indexing will not work to solve chess as there would be required far to many unique indexes. My solution requires no index and would only need room for winning moves, others would be deleted as they found to be moves not leading to a win. This is the first important method in my theory.
The number of winning moves ("position+move" pairs, which is what you meant, I guess) is far larger than just the number of positions. I don't see how storing moves can be more productive than storing positions.
DustinYoder wrote:So maybe from your tests you could estimate how many of your board positions could safely be removed as positions without forced wins? Half? Quarter?
Although I'm not sure what you mean by "removing" positions. Throwing away positions will break the indexing.
I think you need to test your idea on some simple game. If you prefer someone else to test it for you, then it will need far more detailed description than "removing positions safely".
When you say 'won positions', what exatly do you mean? Is that everything that is not drawn? Or is it just won by one side, and is there a similar number of positions won by the other side?
And is this for the side to move, the side not to move, or averaged?
hgm wrote:When you say 'won positions', what exatly do you mean? Is that everything that is not drawn? Or is it just won by one side, and is there a similar number of positions won by the other side?
And is this for the side to move, the side not to move, or averaged?
Sorry. By "won positions" I mean "positions won for the side to move, assuming the best play from both sides". So all positions are classified into "won", "drawn" and "lost".
I am surprised that this is so low. I would have expected it to be far above 50%. Even in a generally lost end-game on 8x8 the number of stm wins is usually 60% or so. One would assume that the number of won positions is (much) larger than the number of lost positions.
This statistic excludes all illegal positions (i.e. with side not-to-move in check)?
hgm wrote:I am surprised that this is so low. I would have expected it to be far above 50%. Even in a generally lost end-game on 8x8 the number of stm wins is usually 60% or so. One would assume that the number of won positions is (much) larger than the number of lost positions.
The reason for the seemingly strange numbers is that small board chess has insane proportion of checkmates. Roughly speaking about 1/3 of all legal positions are checkmates. The number of won positions is larger than the number of non-checkmate lost positions, as expected.
hgm wrote:This statistic excludes all illegal positions (i.e. with side not-to-move in check)?
The problem is that you don't know what positions are "won" until you've found the solution.
A few years back I theorized about storing positions only after a high-ply search yielded equal material. The assumption would be that the solution tree would be mostly comprised of materially-even positions. I figured that a subsequent search could eventually fill in any gaps in the database caused by sacrifices, etc. Of course you could add in lots of criteria for what gets stored and what gets tossed, but every assumption has the potential to backfire. Perhaps the solution is for white to sacrifice a pawn very early and not reclaim material balance until dozens of moves have gone by. If this were true, then it probably doesn't matter how many materially-even positions I store - I won't find the solution.
I hope you don't succeed in solving chess for at least the next 60 years or so. Algorithms to search for a best move are much more interesting than database lookups.
Already the existing endgame table bases removed engine diversity and with each additional combination solved it gets worse.
Cloned chess engines are boring, but even more boring is the play of different compilations of egtb.cpp against each other.
James, I find your idea about trimming down the moves very interesting as that is really the only part that I think I'm lacking in my theory.
I'm wondering if one could make the following assumptions about chess :
1. Every legal chess position where it is white's move would have only 1 best move or possibly 1 best plus a number of equally best moves which would still only require storing the 1 best move.
2. We could potentially find that move without evaluating all other possible moves if we used some 'intelligent' evaluation of the position to help our algorithm start with the most probable moves. We could stop looking through moves once we found one that is verified to be a winning move.
3. A winning move is defined as a move which leads to a white win no matter how the opponent responds.
DustinYoder wrote:James, I find your idea about trimming down the moves very interesting as that is really the only part that I think I'm lacking in my theory.
I'm wondering if one could make the following assumptions about chess :
1. Every legal chess position where it is white's move would have only 1 best move or possibly 1 best plus a number of equally best moves which would still only require storing the 1 best move.
2. We could potentially find that move without evaluating all other possible moves if we used some 'intelligent' evaluation of the position to help our algorithm start with the most probable moves. We could stop looking through moves once we found one that is verified to be a winning move.
3. A winning move is defined as a move which leads to a white win no matter how the opponent responds.
Doesn't #2 contradict number 1. Besides the most probable outcome of the chess game is draw so there is no win in all positions, how you evaluate that? If for example doesn't matter if white plays d4 or e4 as both move have the same outcome draw.