It will come to no surprise to those following this blog that continual updating of opening books is the linchpin of my book theories. It is pleasing to know that even in engine chess the player whom is able and willing to put in the time will reap the rewards.
I realize that not every player has the time or inclination to spend more time on analyzing games and updating books than they do on actually playing. This is however the road to good results and honest Elo. Setting aside some time everyday to go over your played games and using infinite analyses mode to find alternate lines in places you seemed to come out of book ineffectively, is a good start.
The book updates that I make available have 20-30 hours of work invested in them. They are based on hundreds of rated games played by fast Quad machines and are *book specific. It is my hope that they will give the serious engine player that does not have the time to do the book work a competitive advantage.
Thank you all for the support and encouragement that I have received in this project, it will continue as long as downloads remain steady. I think you will find this latest update Heretic 2.6 the strongest thus far. Heretic 2.6 may be download at: www.frayerchess.com
Only games that were played by the book are being used to update the book.
I have been receiving a considerable amount of correspondence relating to my book making theories. The overwhelming majority of it positive in nature. Thank you all for your kind words. I have started posting on my website some of the more representative comments and questions. Look here Book Making Q & A Please do not hesitate to email me with your inquires, I will try to respond to all. Kevin@frayerchess.com
The most ask question is; can I have the Password to download the books for book testers. (the most current updates) The answer unfortunately is no. These are the books that the book testing team that works with me are currently engaged in playing online. It is from these games played under rated conditions that the updates are derived. In order to give the dedicated testing team a competitive advantage I do not release an update to the public until I am sure that it has been superseded by the latest update available to the team.
Never the less I feel that the public updates are very strong and used correctly by the serious player will provide a clear advantage, especially in blitz play.
One more quick word about this new chess blog. The article you just read was originally posted on my blogspot.com Blog, February 21,2008. I am transferring all my older post from blogspot.com over to WorldPress.com. I will soon be caught up and hope to maintain both blogs. I have been advised that this new format on WorldPress is easer to read and will reach a more diverse audience.
Ok, you have a tournament book that is focused and plays a narrow variety of opening moves to a good depth. Now you need to hand tune it and keep it current. But what exactly are you tuning it to? The answer is; primarily your entire playing system. Which includes your hardware and its capabilities, your engine and its configuration settings, as well as the ever changing lines being played by your opponents.
There is no such thing as a perfect book that has all the answers to all the lines. A good opening book is a thing that is in constant flux. While in the human chess world an opening repertoire may serve a player for many years with only minor changes, it is not so in engine chess. Computers have a way of finding their way around seemingly impassable winning lines with frightening elegances and speed.
To get started; go on line and play 50-60 games at your desired time control. A hand tuned book is most certainly sensitive to time control changes. (by that I mean use one book for 3-0 play one for 16-0 and another for 60-0 + times) You may use the same book but with different tuning. Do not fiddle around with your engine configuration settings to much. (If you are using Rybka 2.3.2a the default settings are the strongest)
Now take the games that you have just played and go off line and into the engine GUI. Open up the My Internet Machine Games database file and do a bit of weeding. At first just go ahead and delete all the draws and games that go fewer than 35-40 moves. Now physically look at the games that you won. Games that you won from opponents that had inferior hardware to yours can be deleted. This should leave you with the games that you lost and a few that you won.
Take these games and get to work, the idea is to alter the opening book manually not only to avoid the loses but to find a winning line form before the point your evaluation number went negative. Make sure that you have the opening book that you wish to alter loaded and go to the book display. Right click the mouse on the book display window and activate allow move adding. Now any moves that you make manually while the engine is in infinite analysis mode will be added to the book. (as green play in tour moves)
If the book line went wrong before the engine engaged it may be necessary to mark some book moves red and try a deferent way. (book moves are turn red by right clicking on the moves and choosing the do not play in tournament option)
When the engine analysis mode is used (in most engines) it reverts to a brute force search. Where as in normal play all kinds of pruning tricks are used to reduce the number of moves the engine must look at. My point is that when going over played games in analyses mode you can often find strong moves that Rybka discarded in early pruning as being unproductive. It take some time and patients to get the search depth to an effective level. (time dependent on your hardware of course) When you are analyzing a game that you have lost, that had an average search depth of 16 ply you will probably need to go 19-20 ply in a brute force search starting several moves before the detectable swing in positional value to find a good refuting line.(more incomprehensible explanations on the dark art of book tuning early in the next week)
Although the opening book only has control of the first 50 moves. (100 half moves) they are most important of the game. There is no reason why (given a bit of practice) that you can not prevent your engine from losing in the first half of the game. No mater what hardware you have it is not difficult to duplicate the depth of the fastest CPUs in offline analyses. (it just takes a bit more time)
When reviewing your games played online give the most attention of course to the games that you lost, but do not forget to look at the draws and wins as well. Many times using infinite analyses it is possible to find a line that breaks the draw. In games that you have won against strong opponents lengthen the book lines. To do this use the manual add move function in the book window of the GUI. This method of adding moves to the book gives the best control but do not forget that it adds all moves as green play moves. So be sure to go back and remove the green of the move in the losing side of the line. (this is done by right clicking on the move and hitting main move a second time)
Spend more time on finding winning lines as white, as black you may have to be satisfied with getting the draw in some lines. Here are the facts about the percentages of White vs. Black wins.
W 50% – B 50% In human club play:
W 52% – B 48% In master play:
W 56% – B 44% In GM play
W 62% – B 38% In engine play
I think this data says something about the relative strength of computers over humans. But my point is that in engine chess, the opening impetus is more pronounced for white. As black you should not expect to come out of opening book with a positional advantage very often. -.30 -.50 going into the middle game as Black will still give you a fighting chance.
Trying to tell someone how to update and tune books is some what a like trying to tell someone how to type on a keyboard. You can tell them where to put the fingers and what some of the edit keys do, but the only way one learns is by doing. Along the way many mistakes will be made. (always keep a archived copy of the books that you are tuning, so if something goes very wrong you can start over) And believe me when I say that the book learning function will not produce the same result as the basic methods that I have talked about, nor will it give the same satisfaction and connection to engine chess. Roll up your sleeves and get in the opening book trenches and remember in engine chess the book is the key…
In the next few days I am going to go over my method of developing original books from databases. But I have a lot of time on my hands and if any one has a specific question about tuning please feel free to send it to me in an email and I will try to answer it. Kevin@frayerchess.com
Before I go any farther let me address this issue of stealing lines. (I used this term in the last post) It is a fact that some players out there seem to think that if they personally worked out a line or a refutation of one; that they somehow own this series of moves. I find this thinking hilariously funny. It brings to my mind Bobby Fischer jumping up from the table and saying you can’t play that move it is mine, you stole it from my game in the interzonals last year… I call this concept of stealing lines. Fischer thinking. “Look Bobby, once you play the line in open play it belongs to all of us.” This is how, in esoteric disciplines, we collectively learn and advance human knowledge. It is by the possess of peer review that the lines you submit in open play are accepted or rejected. So there is no real stealing of anything only finding and using good ideas. We are all standing on the shoulders of geniuses to be where we are.
Now that you have made your seed book and played some games with it, you are ready to start its development by adding games. Adding games to a book (both your own and kibitz ones) is much different than hand tuning. I think it would be accurate to say that adding games increases the width of the book where as, tuning deals with depth and direction.
It is always best to add games to the book that are played by the book that you are adding them to. This technique has a tendency to reinforce and expand winning lines. However if you find good opening lines while kibitzing do not hesitate to include them into your book.
Lets look at the method of adding the games. First never add games directly to an existing book. Add the games to the database that the book was made from and then make a fresh book from the updated game bases. Importing games into an existing book is probably the most conmen mistake that is made in book making.
Make sure that if you add a game to the learn game base you also add it the main game base.
I recommend that you add all games that you won in online play to the main game base and a selected few that beat you solidly within the first 50 moves. Be more selective as to the games you add to the learn base. Look carefully at your played games; making sure that advantage in the game came from the opening or early in the middle game. (Never add draws, only wins and losses)
Continue to add the games that you play with the seed book back into the book using this technique. Every day review your games, update the game bases (both main base and learn) and remake the book for the next time at online play. This process will slowly but surly expand the books practical repertoire and adjust it to your particular system engine combination. You will begin to notice games that your engine struggled to win now being won easily and good winning lines that were used against you now being played by your book.
At least 2000 games or so should be added to the seed book before you start the hand tuning process. Once you start hand tuning you can no longer add games as red-green marks would be lost.
As always; I am sure that there are many impotent details I have inadvertently forgot to mention. If you get stuck or have a problem please do not hesitate to ask me specific question via email. Kevin@frayerchess.com
All right then, so you want to make a opening book from scratch. A one of a kind book that is your own. A book that in fact can be proprietary. Let me see if I can start you on the right track.
Although there are many ways to go about this let me describe the method that I have found to be the most successful. It Involves a process of development over time.
The first thing you will need is a few comprehensive databases of engine games played under rated conditions and times. (it is generally accepted that we do not use human games in engine books) I recommend using the available game bases from PlayChess server. They can be found in several places on the internet. Try to get the most current ones (all 2007 games and all Jan, 2008) are available. These are quite large databases; but can just be manipulated by the Fritz 9, 10, 11 GUIs.
It will probably be to your advantage to look around on the net for the most current game bases.
I have all PlayChess engine room games from 2006, 2007 and 2008; however at this time I do not have the space on my web site to make them directly available. With out question the most comprehensive engine game bases can be acquired from Richard Stickles. (the playchess engine room Sysop) Richard seem to make the games available for download on an irregular schedule. So the best place to start may be Spaghetti Chess it appears that most of the 2007 games and Jan, 2008 games can be downloaded here… spaghettichess.com
Also I like to add the last two PAL/CSS Freestyle Chess Tournaments to the mix as new and innovative lines are often introduced here… Freestyle Chess Games
Ok, you now have large game bases of current engine games. Tens of thousands of them. All mixed together; good games, bad games, winning lines and losing ones. After combining all bases into one master base the first thing you will need to do is a bit of filtering.
Bring your master base up on the Fritz GUI and go to filter games. Lets get rid of all games with less than 35 moves. Set filter for 1-35 moves, select all, delete, remove deleted games from base. Do the same with the draws, set filter to bring up all draws then select all, delete, remove deleted games.
Now open up an empty data base and name it New Book Main Base (or something like Blitz Book Games) This will be one of two game bases that you will continue to add games to over a period of time.
Go back to the master game base and this time we will do something radical. We are going to take only the games played by the top rated players. Set filter to 2700 to 3100 Elo and check both and engage. This will return 40,000 to 45,000 games from the highest rated players. (for a smaller, but more directed base try 2750-3100 Elo) Hit select all and copy. Go to your newly created game base and paste these games there.
The next thing you will need is a date base of game to be learned. These games should come from the main game base that you just created. My method for choosing the games to be learned by the book is less than scientific but extremely practical. Pick 4 or 5 of the top players of your choice, maybe.
1. Big Mc
2. Big Rabbit
Make an empty game base and name it New book Learn (or Blitz book learn, whatever you decide to name your book) Filter the main book base for Big Mc wins as white; copy and paste to the new learn book base. Do the same for Big Mc wins as black, and so on down the list. What you are doing is taking only these top players winning games and adding the to your book learn file. This will give your fledgling book the playing characteristics of these players. (basically stealing their best lines)
You are now ready to turn these new game bases into what I call a seed book. This book will be the starting point for your personal book to be developed from. In the Fritz GUI open a new empty book and name it. Import all games from the main book base that you have created. (to the maximum depth 100 moves) Now go to Learn from Database and click learn white and black wins (do not choose learn loses) and select your new learn file. (made from the top players wins)
You now have a seed book.
Go on line and play the book using these book settings.
Book settings: (Seed Book)
Use Book: on
Tournament Book: on
Varity of Play: max – (all the way to left)
Influence of learn Value: max + (all the way to right)
Learning Strength: max – (all the way to left)
Minimum games: 0
Up to move: 100
Save all games that you play with the new book as these are the games that, played with your own hardware will be instrumental in its development.
In the next post I will talk about how to add the games you play with the book in a regular way as to improve and expand its capabilities.