Tuesday, October 30, 2007

The Perfect Example of How I Lose

I had two memorable bishop vs. knight endgames recently on ICC (g/2+12).

One appears to be quite instructive, and I still have a lot of analysis to do. I'll post the results soonish.

The other could be a diagnostic that highlights how my brain is broken.

Earlier in the game I, as White, faced this moment:

If the kingside pawn structure remained fluid, I was worried about Black's king penetrating...something like 28. Nf6 Ba6 29. Nd7 Bf1 30. g3 Kh5, although this specific line is thwarted by 31. Nf8!. I therefore decided on 28.g4.

My analysis was: Black's king will have no way to penetrate into my position (I felt the queenside would be sewed shut as well, or that by the time his king got there my knight would eat whatever was abandoned). His "bad" bishop will become active, but the only targets will be the kingside pawns. As long as my king stays there, this is at least a draw.

Later on, I even manage to win a pawn and gain a protected passer, although it's still probably a draw because my king can't penetrate either:

All through this endgame, I have been thinking "the only way White can lose is to let the bishop take his kingside pawns." This is a very good endgame technique, by the way. When trying to figure out how to win or draw, first determine how you can lose. So with that in my mind, and with plenty of time on the clock, I play the waiting move

43. Ke3??

which of course allows 43...Bf1 and I resigned a couple moves later.

This is akin to repeating the mantra, "look both ways before you cross the street" as you stare straight ahead, step off the curb and get schmucked by a bus.

There's games where you can't understand where you went wrong (a rarity to me), games where the correct moves were difficult to find, and games where your errors were obvious if you had just considered your opponent's response.

And then there's my games, where you clearly see the threat and then simply walk into it.

I am at a loss for how to explain this, or correct it. I think I simply own a defective brain.

Saturday, October 20, 2007

Memorable Moves

I don't have the world's greatest memory. I don't routinely come across a middlegame plan and recall a specific classic game. So, when I'm playing a game and have one of these flashes of recollection, it suggests that a certain move or plan had an impact on me.

Here's an idea that I've encountered several times in my own games. It's not particularly flashy, but it has extra impact when you've been the victim of it:

Paulsen-Morphy, New York 1857
White to play

White wanted to play d4, but played 12.c3 to prepare it. It was necessary to play 12.d3 first, then c2-c3 and d3-d4. The problem with taking the "fast route" to playing the pawn to d4 was shown by Morphy's response:


which puts a terrible cramp on White's position:

It's not a flashy move, winning material or threatening mate, but it's quite powerful. I have fallen victim to this move myself, and I've also been able to recall this game and avoid this scenario.

After a bit of tardiness on my part, I'm trying to get back on track with my study of master games. I hope to post more extraordinary (to me) moves as I encounter them.

What moves from classic games have had a special impact on you? Feel free to respond with your own. If you post it on your blog, I'll add a link in this post.

Thursday, October 18, 2007

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

Link to Part 1

Here, I'm going to describe how I created a repertoire database and how I maintain it. It's based on the following premises:

1. The database should be relevant to your own games, not necessarily grandmaster praxis. If your opponents are more likely to play the Steinitz or Cozio variations of the Spanish rather than the main-line Closed Spanish, then your repertoire database should reflect this.

2. Studying the opening should be largely driven by the analysis of your own games.

3. A main reason for maintaining a repertoire is to record what you have chosen to play in a given circumstance, and to record what you've encountered in the past.

The method I'm advocating is to start a "lean" database similar to that described in my previous post, and then to add to this skeletal database as you play games. I've constructed a "lean" database of some key Spanish opening variations, plus a couple Philidor positions (for reasons I'll explain later). Again, click on any graphic to see the larger version.

These are positions I would encounter as White. I've also decided to include a couple main lines: the Worrall for White and the Closed Spanish, Chigorin Defense as Black. If you've read my series on preparing an opening, you'll see that I advocate determining a "main line" that you would play against your opponent's "best" moves, and then build from there. As you determine these main lines, you can record them in your repertore.

The naming system is similar to that in Lopez's articles. The general opening description is in the "White player" field, and the moves are entered into the "Black player" field. If you run out of room there, you can continue into the "Tournament" field. The more descriptive the entry in the White Player field, the more you can truncate. For example, if I'm familiar with the main-line of the Worrall I could perhaps just have "Spanish: Worrall mainline to 10.Re1" and save the Black and Tournament fields for more detailed continuations. Also, if some responses are forced or very common I could consider skipping over them (e.g. for Bird's defense I could just put 5.0-0 in the Black field). What's important is that you can look at the game header and know exactly what position it deals with.

If you are familiar with the Medals feature of ChessBase, you can use them to deliver additional information at a glance. I have the following reminder saved as a text entry in my personal repertoire:

For this database, I am going to interpret the medals as follows:

In White repertoire: Defense (light grey)
In Black repertoire: Tactical Blunder (black)
Novelty: Novelty (blue)
Surprise weapon (rare or tricky line): Tactics (deep red)
Require Research: User (cyan) (easy to mark in a game list with + key)
Gambit: Sacrifice (bright red)

So, for example, in a mish-mash of French Defense lines I can tag which ones I may encounter as White by tagging the key opening move with the "Defense" medal. If I've decided I need to think about a certain line, I can just highlight the game in the database window and hit "+" on the numerical keypad, and it automatically assigns the "User" medal to the entire game. I can use these medals to also mark which lines are my own "home cooking" as opposed to standard book lines.

(Aside: deciding on the main lines you want to play can involve some reflection and study. I have recently taken to creating a database that I call "Laboratory" and save ponder-worthy lines to it, and then later determine what my main line will be. When I've worked it out, I transfer the result to my repertoire database).

In these lines, the critical opening positions so far are marked at a position I would reach, with my opponent to play. This means that if I do a repertoire search, I will get games returned that show where I've stayed "in book". You can also mark positions that your opponent would reach and where you are to play. A repertoire search then could return games where your opponent was "in book" and where you may have deviated. When considering whether to have a line for a certain critical position in the database, ask yourself if you would be interested in a search result for that position. This may not be clear until you've actually done a few practice searches, so don't sweat it for now.

So, what's wrong with the repertoire database lineup shown above? Well, let's do a test search using an issue of The Week in Chess. The results:

1. Philidor (3.d4): 12 games
2. Spanish: Steinitz (4.d4): 2 games
3. Spanish: 92 games

As I mentioned in my previous post, the order that the games appear in the database is of critical importance. Here, the only subvariation of the Spanish that appeared above the "catch-all" Spanish position (1.e4 e5 2.Nf3 Nc6 3.Bb5) was the Steinitz. All non-Steinitz games got caught in that filter.

I sort my repertoire database manually, approximately by the ECO code, but tweak the sort orders to avoid search problems. For example, I manually moved the games around to the following order, and fixed them in this position by selecting "Tools-->Fix Sort Order". It re-saves the database with the new game order. It now looks like:

Which now returns a more useful search result:

12 Philidors
2 Steinitz
1 Berlin
3 Worralls
1 Chigorin
77 Spanish

The last entry shows all the Spanish variations that didn't match one of our specific variations. Further additions to the repertoire database will tweeze them apart.

However, you still have to be careful about transpositions, and there isn't much you can do about that. For example, after 1.e4 e5 2.Nf3 d6 3.d4 Nc6, I play by transposing to the Spanish Steinitz with 3.Bb5. Yet any games that I played in this line would be filed under the Philidor if I used the repertoire database shown here. In some cases you can bump the less-likely move order further down the list, but that can get messy, especially when dealing with big ECO differences such as here. Alternatively, you can make a new Philidor entry for the moves up to 3...Nc6, and annotate it so as to point out the transposition there. This is one area where programs like Bookup and Chess Position Trainer have an advantage...they catch all transpositions for you.

I do not recommend that you attempt to enter your entire repertoire into the database...it's not worth your time. Put in a few of the lines you commonly see, and try a few "generate repertoire" scans on your databases to make sure you're doing it right. Then, as you play games and analyze them, you can add the results. Here's a couple of examples on how you may go about adding to the repertoire database shown above. This will also highlight how I think one should approach studying the opening.

On a game-by-game basis, you can load your game into ChessBase for analysis. As part of your analysis, you can find out where the game left the main lines, and where it left all previous knowledge, by right-clicking on the board and selecting "Editorial Annotation(RR)":

In this case, I had a Philidor with 3...Bg4, which currently is not in my repertoire database. In the course of my analysis, I tried to determine a main line and where I could have played better.

I'm using a custom opening book that I made from grandmaster games as ChessBase's default opening book, plus the ChessBase megabase as the reference database. The Editorial Annotations tend to show where you deviated from the best book lines, and from the entire megabase (marking the first new move with an "N" for novelty). This is no substitute for an independent assessment...you should determine for yourself what you'd like to play. But it's a quick and dirty way of seeing where you went off the beaten path.

Here, my moves seemed reasonable. My 7th move was passable, and one GM played 7.c3 here. However, the reference database shows 7.Qb3! to be the most common move here, and Fritz shows that it's winning.

How you choose to save these results to your database is up to you, but here is how I would approach it:

1. The move 3...Bg4 deserves its own entry. With some experience in these lines, I can tell you it's a common move at my level so it's good to be able to play consistently here. 4.dxe5 will usually prompt Black to play 4...Bxf3, because of the threat of 4...dxe5 5.Qxd8+ Kxd8 6.Nxe5. After 4...Bxf3 5.Qxf3 dxe5, Black has given up the bishop pair. So I would enter this game into the repertoire database:

I've included my moves up to 6.Bc4, because it constitutes my chosen "main line" response. For this minor variation I don't feel compelled to analyze out to the end of the opening...this position is already comfortable for White. However, I missed a critical response to my opponent's subsequent play. Depending on its importance, I could choose not to record it (tactical oversight), incorporate it as a game footnote, or give it its own entry. I think that since it was missed by a Grandmaster, and because Black's erroneous move feels natural, it deserves its own entry.

One option is to go back to the actual game, and right-click on the board and select "Add to Repertoire". If you select "Merge with Philidor Defense: 3...Bg4" it will appear as a variation in that entry. I think it's more important than that, so I create a new entry for the line up to 6.Bc4. I then go back to the actual game, and select "add to repertoire" to add my own inferior game to the repertoire. The result:

I like to include the games where I didn't play the best move in my repertoire databases, for a few reasons. One is that it helps to cement the variation in your mind. Another is that you may find that you repeatedly make the same mistake, indicating you need to think about the line a bit more. Finally, if you perform a "find position in " function, it will determine if you've had the position before even if it's not part of the repertoire main lines.

If you're tardy (like I've been) or just starting out, you can also generate a repertoire of a batch of your games, and look to see where the filter is getting badly clogged. This either indicates a gap in your repertoire database that can be filled using your own games, or indicates a possible problem with the sort order that needs to be tweaked. I go through, analyze the games, and add new entries to my repertoire as needed. When working on a batch, I flag each completed game with the User medal to indicate that I've already taken care of it.

This is taken from an actual repertoire search of my backlog of ICC games:

I see that I played 3 Pozianis. I can click on each game individually, or load all three. The latter produces a window like this:

I preview the games here, then open individual game windows for them if they need to be annotated/added to repertoire/saved separately. Don't try to annotate in this 3-game view... the save/replace buttons are greyed out and you'll lose all your work.

When I'm done reviewing, analyzing, and saving the results wherever they belong (personal game collection, repertoire database, tactics, blunders, endgames, whatever) I click on the game in the game list and hit "+" on the number keypad to flag the game with the cyan user medal, so I know that I've taken care of it. If I resume reviewing my games at a later date I can tell at a glance if I've taken care of a game or not.

Currently GrandpatzerBase is at 390 entries and growing. Many of these openings have multiple variations, indicating I've experienced them more than once or found them ponder-worthy. One advantage of such a database is that it indicates if you keep making the same mistake. Each time you enter your faulty play into the database, and you see your previous foibles, it reinforces that you need to understand the position better.

If you've never saved and analyzed your games before (even blitz), you have no idea how much knowledge gained from experience you're letting slip through your fingers...and not just opening theory, but tactics, strategy and endgames too. I haven't been as zealous with the last three (my tactics, blunders and endgame databases are much smaller), but one advantage of starting a repertoire database is that it encourages you to sit down and start looking at your games. Once you've checked out the opening, keep on going through the game....spot tactical errors with Fritz, ponder the positional factors, analyze the endgame.

To summarize: the purpose of the GrandpatzerBase-style repertoire is not to book up on theory. Its purposes are:

  • To keep track of what main lines you've decided to play as your repertoire
  • To record the opening lines you've experienced in the past, and your thoughts and analysis on them.
  • To focus your opening study on the lines you encounter in your own games
  • To allow you to search databases for games that pertain to your repertoire
  • To encourage you to analyze your own games routinely and thoroughly

There's a time investment to get your repertoire database set up and to figure out how to use the software, but once it's up and running it's easy to maintain if you're diligent about analyzing your games.

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.