hgm wrote: ↑Wed Jan 16, 2019 9:10 pm
As Dann explained stored position values are more reliable only in about 0% of the cases. In the remaining 100% they are completely useless, because they don't include the sought position.
I think this should be qualified as a function of time.
Of course, mathematically you are fully correct. The number of chess positions is large enough that a 64 bit number can't hold it, and the number we can store to disk is a teeny-tiny fraction of that (essentially zero percent).
However, at the start of the game, there are only 20 choices. We could (for instance) analyze all of these 20 choices to 60 plies and store to disk.
So, for our first white move (if we are playing white) we will have 100% chance to find our data.
On the first response for black, there are 400 possible choices (twenty squared). We could also analyze and store these to tremendous depth.
So, for our first black move, we could have every possible choice figured out to our satisfaction.
But as you can see, this very rapidly becomes unfeasible:
Code: Select all
perft 1 20
perft 2 400
perft 3 8902
perft 4 197281
perft 5 4865609
perft 6 119060324
perft 7 3195901860
Applying even a 36 ply search to 3,195,901,860 positions is not going to happen, so a complete 7 ply (3 and a half full move) book is not going to happen. Besides which, most of your energy would be spent analyzing positions that will never be played, and I think that would be most unsatisfying.
Hence, the standard approach of forming a book from analysis and pre-existing data on positions has limited usefulness.
A further problem is that the stored book will have wrong answers in it, no matter how carefully you build it. If you analyze to a depth of 60 plies (super-high-end machine will take a day or more per position) there will still be reversals (though infrequent) at 61 plies.
And if you base the nodes on statistical outcomes, there are statistical outcomes that are flawed because humans and machines did not think enough and made the wrong move or they made a move by rote because an opening was memorized or they were given a pre-assigned book move to make without even thinking on it.
Even so, a good opening book can add quite a few Elo. For instance, Attacker-Pro-3 book is worth 113 Elo points over having no book in Sedat's contest:
https://sites.google.com/site/computers ... book-cs-23
In short, HGM is right, but for the first few plies it is possible to get highly probable book hits.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.