Showing posts with label ChessBase. Show all posts
Showing posts with label ChessBase. Show all posts

Sunday, March 14, 2010

Customizing the Openings/Endgames Training Databases in ChessBase’s Rybka Interface: Preliminary Results and Tips

I have just started tweaking the opening and endgame training databases that shipped with my ChessBase version of Rybka 3.  Here’s what I’ve determined so far:

Sunday, March 7, 2010

Customizing Opening and Endgame Training Databases For the ChessBase Interface?

I have Rybka 3 with the ChessBase interface (Fritz11 generation), but its main use for my has been analyzing games.  I haven’t used the training features much, and I do most of my work in ChessBase itself with the Rybka 3 engine running.  However, while digging through the help files I realized that the databases the Openings Trainer and Endgame Trainer use are customizable.

That means, for example, that if I cleaned up my personal openings book in ChessBase I should be able to play against my own repertoire.  Or, I can take the endgames from a book such as 100 Endgames You Must Know and play the positions against the computer (something I’ve done in the past, but manually, endgame by endgame). 

I’m considering playing around with this feature and sharing my results.  If any of my readers have tried this, share your experiences.

Tuesday, December 8, 2009

Creating Tactics Problem Sets From Your Games Using ChessBase Products

I’ve played a lot of blitz online.  A LOT of blitz.  It seemed to me that if these games could be mined for tactical errors, they would make an ideal set of simple tactics problems for drills.  Manually mining them for gold, however, would take forever.  I routinely store and analyze my blitz games, but have been negligent in saving positions into databases for tactics or blunders (a project I started but didn’t keep up with).

One day I thought: what if I take Rybka and tell it to analyze the games to a depth of 5 ply?  That should roughly correspond to a Chernev and Reinfeld-ish “Seeing Three Moves Ahead” or simpler level of tactics, and should be fairly quick.   I was familiar with the ChessBase interfaces for Rybka and Fritz and new that it could automatically generate “Training Annotations”: when you load the game or position, it jumps to a position and opens a window prompting you for the correct move.  I decided to test this idea with my 800 most recent Blitz games (about 10% of my total games on record).

Saturday, December 5, 2009

Shifting Focus

{Coincidentally, in an interesting example of parallel evolution, there seem to be many other bloggers that have recently taken self-improvement much more seriously as well. Check out Blunderprone's blog for more info on his ACIS (Adult Chess Improvement Seekers) movement.}

 For the last while I've been content to learn more about chess –endings, opening repertoire, reading some of the classic game collections such as Alekhine's NY 1924 and Nottingham 1936 tournament books, and Botvinnik's 100 Selected Games, etc. However, as I enter my 40th year of existence, I look at the sidebar of this blog ("hopes to become a B-class player before senility sets in") and the subtitle ("Do as I Say, Not As I Do") and have decided to do more of what I say.

For me, I identified the following areas as needing the most improvement:

Friday, June 19, 2009

23 lines

I was thinking about how little opening theory can be applied to my games, so I conducted a little exercise with Chessbase and a database of about 7000 of my games (most from ICC). I constructed an opening tree consisting only of positions that I would expect to face as White in 1% or more of my games.

The result is shockingly small: 23 variations, with none longer than 6 moves.

Because I'm in the middle of an online tournament, I don't want to reveal too much of my repertoire, but just breaking down the percentages after 1.e4:

1...e5 44.6% (My mainest of main lines continues past move 5 just under 1% of the time!)
1...c5 16.0%
1...e6 9.0%
1...d5 5.9%
1...c6 4.6%
1...d6 3.3%
1...g6 1.7%
1...Nf6 1.6%
1...b6 1.4%
1...Nc6 1.1%

The data is somewhat skewed. My database of 7000 or so games goes back 12 years or so, and I only counted positions that I would face in my current repertoire. I've been quite faithful to my repertoire over those years, but there are notable exceptions (I used to play the exchange Spanish, and I avoided the open Sicilian with c3 or Bg5 systems for much of that period). In my current repertoire, no Sicilian line has been seen past move 5 more than 1% of the time! I need to see if I can do some sophisticated filtering to separate out the games that agree with my current repertoire.

The data also shows that at lower levels of play, "minor" variations actually become major. For example, in the Ruy Lopez the Steinitz, Cozio and Bird variations are now "major" lines to contend with.

My repertoire database has been getting a bit weedy, so I may start a leaner, meaner repertoire database using just these 23 lines, and making sure that I map each main line out several moves further. I can repeat the exercise for my Black games, although there I expect an even stubbier tree of variations because White gets to vary with the first move. The goal is to declare a chunk of theoretical turf where I know anything outside its boundaries is encountered less than 1% of the time.

Tuesday, April 14, 2009

Pawn Breakthrough

Here's the second recent endgame of mine that I thought was instructive. Don't panic, though...it's not nearly as complicated as that last rook endgame.

I've noticed that I have trouble with breakthroughs in pawn endgames. I think it's part blindness, part the avoidance of calculations, and part unwillingness to muck up my tidy pawn chains.

I entered into a pawn endgame where I, as black, had a pawn plus and the opposition.


However, after White played 49.Ke2-d2!?, Black can't win through opposition alone. In some endgames the attacker keeps re-seizing the opposition, pushing the defending king back and finally grabbing material. However here, after 49... Kf3 50. Kd3 for example, White takes the opposition, and after my 49...Kf4 White could have kept up resistance with 50.Ke2!? and repeating the position. Instead, he let me take the opposition and win with the usual opposition technique: 50. Kd3 Kf3 51. Kd2 Kf2 52. Kd3 Ke1 53. Kc2 Ke2 54. Kc1 Kd3 55. Kb2 Kd2 0-1.

The fact that opposition alone here shouldn't win should have been more obvious to me at the time. The following is a classic position of this nature. Black to move:


1...Ke7!=

However, in my game Black still wins in several lines by the breakthrough ...b4! For example, after 49.Kd2:


49... b4! 50. axb4 (50. cxb4 allows Kxd4) 50... a3 51. Kc2 a2 52. Kb2 Kd3 and after White captures the a-pawn Black gobbles all of White's remaining pawns and wins.

I tried to find a similar pawn endgame in my reference books, and also by ChessBase posistion searches, but couldn't find anything. I think this highlights how complex pawn endgames can be...only 4 pawns versus three, and yet this structure may be unique. ChessBase's search functions can be quirky, however. For example, if I searched my blog database, I could find this game using the position, or using the material count, but not both. Weird.

Tuesday, November 18, 2008

Rybka 3 Arrived, but...

My birthday gift to myself arrived...Deep Rybka 3 with the ChessBase interface. Unfortunately, one of the features I was most interested in--Monte Carlo analysis-- isn't working. Shortly after starting the analysis, the program crashes.

I just contacted ChessBase support. Hopefully the issue will be resolved in time for my birthday! I'm curous, though, if other readers have had a similar problem and know a solution.

Thursday, December 27, 2007

ZOMG WTB l33t Chessbase h4xX0r Skillz!

Translated: "Jeepers! I wish to obtain elite Chessbase hacking skills!"

Whereas my DVD on the French Defense by Ziegler has a spiffy database of annotated games that's easily accessed, the King Powerplay and the Muller Endgame DVDs have the game fragments embedded in the multimedia lessons.

I would like to be able to access the chessbase content itself, directly, for a couple reasons:

1. You can't enter your own variations. You can't hit pause and then say, "Yeah, but what if I play..." and explore your own line of inquiry.

2. I want to play the positions over versus Fritz.

The only way I've found to circumvent this is to pause each lesson (preferably near the end of the discussion, so all variations that were covered are present) and then use "save as..." to save it to a .cbh file of my own creation. It's a bit cumbersome, but it works.

One trick you can then do is open two game windows: one with the multimedia lesson playing, and another with your saved copy. You can right-click on the bottom of your screen in Windows and select "Tile windows vertically" (or horizontally, but I prefer the former) and get something that looks like this:




(I have no idea what happened to Muller's video image in the left window. Depending on what copy of the image file I was using, you could either see the bottom half of his head or nothing at all. Weird.)

The left window is the video lesson, and the right window is my own copy, with personal annotations and with Fritz+5-man tablebases providing assistance. With the above setup, I can pause the lesson at any point, and in my own game window check the variations with Fritz (hooray for tablebases!) and add my own commentary and variations. This is good, because when Muller gets the bit in his teeth he goes through variations at breakneck speed. Some of the endgames towards the end of his first DVD were just crazy. "check check check andnowdoyouseeit ofcourse! decisivezugzwangdecisivezugzwangdecisivezugzwang and the game is over decisivezugzwang decisevezugswang and...fatal...zugzwang"

Also, Muller very frequently points out positions that he feels should be played against Fritz or people at the chess club, in order to master them. You can indicate these moments in your copy of the game, and later load them into Fritz and practice them.

I very strongly recommend using such a two-window approach when viewing DVD lessons.

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.