Ovyron wrote: ↑Sun Mar 08, 2020 3:16 am
Zenmastur wrote: ↑Sun Mar 08, 2020 2:42 amAnyone ever do this before or have any suggestions?
I've done it. I have such a backsolved tree for all of chess (which was used to build my chessmap.)
My suggestion is to resist the temptation of quantity over quality, all those 15ply games will provide a lot of noise, and variety isn't a good thing (the only reason you want variety is that there's some mainline you don't want to miss, so playing more lines would catch it; if you'd somehow miss it there's something else to fix before starting this.)
I'm only using 15 ply to vet human games. everything past the first error gets lopped off. I'm also am lopping off any position that isn't seen at least "x" times. Since the database is only 4,200 games the stub-games I'll be left with will be pretty short (i.e. mostly 2, 3, 4, 5, and 6 plies). If there are too many position when I'm done vetting then I'll select the shortest "x" of them and use those.
The I'll play some games of moderate depth (say 21-25 plies). I plan on doing several batches at different depths to get a good selection of continuations.I'll use both one-core and two-core games because two-core is less deterministic. Then I'll extract lines and positions that appear several times. Then repeat at longer time controls. This will take some time, maybe a week or two for the first run depending on how much comp time I give it. Then a last set with with longer time controls and more cores.
What has worked best is doing it the other way around, you build trunks of analysis lines of the highest quality moves that you can find, then you search for alternatives to those moves at decreasing depth. Starting with low depth will only make you realize later how much time you wasted in some lines (say, having 2000 lines for a poor move and 100 for the best move when it should be the other way around.)
I thought of this, but there are few high quality games AND how do you know which are which? Human games mostly suck and can't be trusted. So, I'll start with just short ply openings and build longer ones from engine games. They may not be the strongest games but they will be much more reliable than human games. I do have a bunch of correspondence games but until I get a "basic" book I don't want to mess with them. They are too narrowly focused to make a general purpose book from and there isn't enough of them. After I built a basic book, I can go back to my data base and extract just the high quality games. AND then use the corr. games and some analysis to extend the book lines. There are actually quite a few lines that can be played by black. This makes the tree very bushy and I don't think I can do that much analysis in a reasonable period of time.
Another thing is game adjudication, you shouldn't bother with playing games to completion, depending on how badly scored a line is you'd only play games from it until they reach a certain score, and if they do you look for an alternative line.
Yes, I plan on early adjudication using something like +/-3.5 pawns etc. I'll do some testing on this first, of course.
Unfortunately the optimal way of carrying it out depends on the status of 1.g4, if it's lost what you'd do to find the elusive draw would be a waste of time, and if it's drawn then you should be trying to find a high scoring line that can be saved.
I'm going to assume it's lost. I've seen no evidence to the contrary. This makes making the book a bit easier as I can throw out any game where white has an advantage because to get an advantage black had to screw up.
Regards,
Zenmastur
Only 2 defining forces have ever offered to die for you.....Jesus Christ and the American Soldier. One died for your soul, the other for your freedom.