Tuesday, October 9, 2007

Using ChessBase's "Repertoire Database" Feature, Part 1

The Repertoire features of ChessBase are potentially very useful, yet frustratingly difficult to implement. I'm going to explain what you can do with such a database, and how you may wish to construct one. Some of this has been determined "by guess and by golly", but I think I've gotten most of the kinks worked out.

In this part, I'm going to briefly explain what a repertoire database is and how it can be used. I will also construct a "low-resolution, low-maintenance" sample database to show one approach to using this feature.

In a future post, I'll show the format that I use that is based on articles by Lopez and Mig Greengard describing a "GarryBase" approach similar to what Kasparov used. This is more work, and more maintenance, but eventually yields a more useful database. Basically, I'll be forcing ChessBase to fill the same role as an "tree of variations" opening database such as Bookup or Chess Position Trainer.

Before jumping in, you may want to read Lopez's articles here and here and here. The structure of our repertoire database will be similar, but how we use it will be different.

I got the size of some of these screenshots wrong, but you can enlarge them by clicking on them if needed.

The first step is to create a repertoire database. Create an empty database, then right click on it from the main chessbase window:

and select it as your repertoire database:

For the "lean" database, we're only storing key positions of interest. These could be the classic "tabiyas" for the openings you play. However, at the lower levels you're less likely to see, say, the classic Najdorf poisoned pawn tabiya or the Spanish Chigorin, Rubinstein System tabiya than some earlier deviation, such as the Accelerated Dragon or the Spanish Exchange.

As a test database, I took the starting positions from each chapter of Nunn's Beating the Sicilian 3. In this case, all I had to do was create a new board, enter the moves up to the key position that starts the chapter, and then right click on the board and choose "Add to Repertoire":

What this does is automatically save the line to your designated Repertoire Database. It also automatically selects a move as defining a "Critical Opening Position", and also automatically gives a title in the White and Black player fields:

In this case, it happened to choose the final move of each line as the critical opening position, which is what I wanted. However, you can't trust the program to do this. If you were looking at a game with variations, and select "add to repertoire", the first move before the first branch will be marked automatically as the critical opening position. In long unbranched lines, it may choose an earlier move as the critical move, for reasons unfathomable to me. If you use the "add to repertoire" feature in this manner, I recommend checking each new entry to the repertoire database, and if necessary delete the old critical position and add a new one. You can do this by right clicking on the move in question:

Alternatively, you can enter, the position in a new game board, mark the critical opening position manually, and then save it directly to the repertoire database like you would to any other database. This way you know exactly what's appearing in the repertoire DB.

For searching purposes, you want only one critical opening position in each repertoire database entry. If another position earlier in the line interests you, make a new entry for it. However, this opens up a huge can of worms, which I'll tackle in the next post. As foreshadowing, I'll briefly explain why.

Basically, if you have multiple positions in a singe opening line that are of interest, it is critical to make sure the database is ordered so that the longer lines appear above the shorter lines). With this low-resolution database, each line is unique and we're sure that if we search a database for our "repertoire" positions that one game won't match more than one database entry. However, imagine if we also saved the line 1.e4 c5 as the first database entry, and marked c5 as the critical opening position. In that case, every single game beginning 1.e4 c5 would be caught in this "filter" and no lines would be found for a Najdorf, Dragon or other Sicilian line. However, if this same 1.e4 c5 position were at the end of the repertoire database, it would catch all other "oddball" Sicilians that fell through the cracks, which could be useful.

The "automatic" titles that ChessBase gives a repertoire database entry may or may not be useful. I use a naming system similar to that described in Lopez's article. I'll elaborate more on this in the next post. Ideally, you want the game title to describe exactly what position you're talking about. For example, at some later point you may come across a game that you'd like to add to your repertoire database. After choosing "Add to Repertoire", you will be given the option to create a new entry or to merge it with an existing entry:

If the game description in your repertoire book isn't detailed enough, you may not know whether a new entry is required or not.

OK, I have a database of 19 Sicilian positions that define the start of my fictional Sicilian repertoire. What can I do with it?

Well, one thing you can do is select a database of your games, and go to "File-->New-->Generate Repertoire":

I took a database containing a few months of ICC blitz games and searched it using this feature for positions in this mini-repertoire. I got two hits:

This shows that I don't use many of the book's recommendations, and that not many of my opponents play a proper Sicilian as well. A better test database for my own games would be to take the main, early positions from, say, Greet's "Play the Ruy Lopez" and see how many times I encountered a Steinitz, Classical, Norwegian, Cozio or some other early-Spanish branch.

Another good use of such a repertoire database is to search a database of master games and see who played your lines. For example, with the same Sicilian mini-reference database I searched a random issue of The Week in Chess (~2100 games) using the "Generate Repertoire" feature and it found examples of 15 of the 19 lines contained in my reference database:

A snapshot of the search result for the TWIC database

This would allow you to keep up-to-date on recent developments in your favorite opening variations.

You can also look at a position and search your reference database to see if it's found anywhere in there. For example, let's say I'm not sure if this position is covered:

If it occurs in any repertoire entry (all positions, not just the blue "critical opening" positions!) it will find each instance. This is very useful if you're looking over one of your games and asking, "Is this position in my repertoire somewhere?", especially when dealing with tricky transpositions.

You can start fiddling with repertoire database functions by constructing such a "lean" database that gives the bare backbone of your own repertoire, and see if you find it useful. If you're like me, and find this whole process oddly appealing, you'll find yourself adding more and more positions to it as you encounter them. Your database will start accumulating random game snippets from all over, and resemble some reference book with post-it notes sticking out of everywhere. Finally it will degenerate into a disorganized heap of haphazardly-arranged lines and redundant positions, and will return no useful data when generating a repertoire.

Unless you take precautions.

Which I will explain in the next post, where I demonstrate the other reference-database extreme: the GrandpatzerBase.


transformation said...



IVE READ all THE LOPEZ ARTICLES FOR YEARS but, much as i love the man and his work, IN THIS SUBJECT MY EYES GLOSS OVER.

i havent used your presentation yet, but strongly suspect you give the best clues. i am NOT eager to start this, as i am not a believer in opening study

(at my current level <1650, but not certainly lack of effort on my part, but on principle),

but for the Caro i have added this file, and it is there in waiting as it has been for months. there i can try this in my one most forcing opening (as black), and probably need to add one for my benko against 1. d4.

your arsenal of commmunication tools are A+, and you are best of breed here. thank you mightily.

warmest, dk

iw said...

This is a lot easier to use and it is free:


transformation said...

you will be most please--i hope--to know that i have had it on my task list for sometime to go back again and reread this--AFTER now reading the three reference Lopez articles and the Mig GarryBase article. work!

a daunting task, and one that i need to start on.

a reperatore, now that i have so many GM games and now even endings collected in chessBase, is key and awaits my deeply organizing. a journey of a thousand miles begins with a single step: reading you here again Gregory!

warmly, dk