By Dagh Nielsen
Let me try to give a brief introduction to
There are essentially 4 components in making/tuning a book:
and tuning, as it applies to the CTG books.
- Choosing and importing games to the book.
- Choosing which openings/lines to play by coloring red and green.
- Expanding the book by manually adding green moves to the lines you have chosen to play (or maybe by "adding priority analysis" or games).
- Adjusting the weights of moves, often done automaticly through play on the playchess.,but can also be done manually.
Any combination of these 4 can be applied by the book-maker to reach a desired result.
The very basic behaviour of any opening book is that it recognizes a position and decides that it will tell which move to play, instead of letting the engine decide. The task of the book-maker is to decide in which positions he wants the book to make that decision, and to make sure that the book makes a good decision.
Very obvious, but there's several ways to go about it, since different in the book determine how it makes those decisions. You would want to play around with these parameters so they match your general approach - what parts of 1-4 above do you use, and where do you put in most of your efforts. Also, what are the playing conditions, etc.
The parameters are:
- "Tournament book" - I think it is essential to turn this ON, or your color marking will not have any effect as far as I understand.
- "Variety of play" - Should book only play move with the best stat, or also try others?
- "Influence of learn value" - This concerns the weights associated to the moves. If you play on server, and a move gives some bad results and thus gets a negative weight, then the book will tend to avoid this move if you put this parameter in the high end.
- "Learning strength" - How fast do you want the weights to be changed? One bad result or several bad (good) results are needed before the weight of a move changes a lot?
- "Minimum games" - how many times does a move need to be "played" in your book (based on the imported games) before the book will consider the stats of the moves in order to reach a decision?
And then one of the most important "parameters" in my view: Move coloring. If you make a move green, a higher preference is given to this move. If you color a move red (and at least one other move in the position is green), the book will not make this move.
Before going on to some practical hints and considerations, just one general remark: How would YOU determine the success of your opening book? This can be answered in as many ways as there are book makers, and I think it is sensible to think about it once in a while while you work on your book. Is Elo on playchess server your success criteria (or maybe only slow game Elo?)? Do you find it funny to make weird lines work out OK? Do you want a broad book playing "everything", or do you want a narrow book focusing on a few pet lines?
Fun can be had in many ways, and while I also find it very funny to compete on Elo, it is certainly also funny sometimes to give yourself a few personal challenges, like, "I really want this crazy gambit to work out OK", or, "I want my book to know this opening to depth 30 in all lines!", or whatever. My point is, success (and fun!) is how YOU define it, not ONLY Elo.
OK, some practical hints and considerations:
- Most people agree that the decision on which games to base your book on is quite important. They should be Smile Once they are in, there's sadly no way getting them out. I think one good approach is using a collection of recent high level games from the playchess server. These games have been played by engines using already very strong books.
- One can also take some already made (by another person) book, and use this as basis for further tweaking/expansion (for only ). For example, the Rybka book by Jeroen Noomen and the Takker TourbookII are quite strong, but some lines are not really covered by these. Instead, one could use a more broad book like for example the Fritz 9 book as start. Either way, the advantage of this approach is that then one can focus on a few pet lines and improve them, while your book is also covered reasonably well in lines you do not care to work further on. But in the end, I think most people will want to make their own book from scratch Smile There is also a chance that this will give higher on the playchess server.
- By choosing a good base of games, you are already on your way to a fine book. You can then let it play a lot of server games in order to tune the weights, and you will have a fine book in the end.
HOWEVER! You will only get so far doing this. To further improve your book (and make it more personal!), you need to get some under your nails Smile This means analysing played games, or variations you want your engine to play, and then expand the book in these lines by adding green moves.
And maybe choosing which variations/moves NOT to play by marking these moves red. Improving your book in this way is an endless task, but also where all the fun lies IMHO Smile You can ALWAYS further improve your book by doing some work in your personal analysis laboratory.
- In Fritz 9, you can choose some keyboard shortcuts for coloring moves under "tools - customize".
This can save you a lot of time and frustration.
- Parameters - There are as many preferred ways to combine these as there are . I suggest playing around with them so they fit your CURRENT task. To make an analogy, Magnus Carlsen and his trainer for some time defined success as how much Magnus learned, and not the score on the tournament table. Likewise, for some time, you can "experiment" with new lines and choose loose parameters, and maybe later, when you have drawn some conclusions from the games and added some analysed moves and you are satisfied with the result, you can go back to some "bests of the bestests setting".
- Go and kibbitz some games in the engine room on the playchess server. They will get added automaticly to one of your databases. You can then either import these into your book, or just use them as inspiration for further manual research. Some people on the server are paranoid about kibbitzers following them and thus learning all their secrets Smile Well, I really have no opinion on this, and I understand the pros and cons. I don't know if it would be a good idea if they made a "no kibbitzers" playing mode.
- Maybe get some good friends on the server and exchange games with them. Not all people are too paranoid, or maybe you just want to conspire with others and help justify the paranoia.
At any rate, have fun book-cooking and competing! And in a few years time when you have grown exhausted from this, maybe we can meet in normal playing room and have a good old-fashioned game of human blitz Very Happy.