Wednesday, October 25, 2017

Chess position trainer

One way or another we chessplayers study openings and build up a repertoire. The complexity and amount of knowledge we know, grows exponentially with the playing-strength. Especially strong/ ambitious/ professional players have to know vast amounts of theory. Besides it is not necessarily learning the moves by heart which is difficult but rather remembering everything so it can be reproduced at the board when it pops up in a game. Not rarely this fails sometimes see harakiri.

Top-players are aware of these human limitations and even created a new ugly strategy around this aspect. They choose an opening of which they know in advance that the opponent has studied the anti-dote but they gamble that the opponent won't be able to reproduce all the analysis at the board. Chess has become a pure memory-game. It is not a coincidence that Karjakin was one of the very first targets to try out this new strategy. It is well-known that Karjakin sometimes forgets his analysis see my previous link.
At the end of the game Vachier-Lagrave had about an hour extra on the clock compared to Karjakin see e.g chessbomb. After the game Karjakin sent out a tweet in which he claimed to have studied at home the line till move 38... Ne4. Even more remarkable it becomes when you heard the interview of Karjakin after the game in which he stated that he looked at the line an hour before the game see roundreport 7 at On the other hand it is not a new phenomenon for me. Last year I saw strong Jan, first board of Deurne choosing already very early an inferior variation in his interclub-game against an expert of Bruges, Stijn Bertem.
I know the opening coincidentally as it is part of my repertoire see the article professional chess. After the game Jan admit frankly that he mixed up the preparation while he had looked at it in the morning. So you better wait with Nf3 after the moves 9.Qh5 Ng6.

With this introduction I want to show that it is important to create a good method of studying chess. In fact this is nothing new what I write here as at school our teachers told us exactly the same. However it is too easy to refer to the classical methods of studying. To learn long strings of moves and implement this knowledge in practice is something very different of studying for school and do exams.

Despite I don't remember anything similar happened in my games, I won't claim that I have found the ideal method for studying chess. No, definitely at the long term I experience also problems to remember stuff. In best case I can reconstruct the analysis by spending a lot of reflection-time. I've published several examples on this blog in which I failed in doing even that.

So when I saw 6 months ago in a youth-tournament Tom Piceu, IM of Bruges to use the for me unknown tool chesspositiontrainer, I got curious. Tom explained me that he with some friends decided a couple of years ago to motivate each other and work harder at chess. Studying openings and repeating the openings regularly would be an important element of this. So they bought together chesspositiontrainer (you can buy 1 license for 3 computers). Tom was very satisfied about the program but had to admit that he was not always very disciplined in following up rigorously the schedules.

I was skeptical about the added value of the program for myself. However as I thought it could be an interesting topic for this blog, I gave it a shot. Besides if you try something out then better to do it from the first time properly so not just using the stripped version but testing out the paying one with all features enabled. 40 euro is for a working person not insurmountable (especially in comparison of the prices applied by Chessbase).

A couple of months ago I downloaded the program. I paid for the license and managed easily to get access to all the features after getting my license-key. Next I wanted to test out the program. A small default repertoire is available but I quickly realized that this is not what a user is searching. You want foremost to train your own repertoire and then I imagine many users are getting disappointed. You have to insert all the stuff yourself.

I guess many drop out already. Even if we ignore that most players don't have a polished repertoire then you still need to get all the moves into the program. I read a comment at Quality Chess that somebody spent 40 hours at converting an opening-book into pgn. We know studying chess is hard but this kind of gigantic job is not realistic for most of us. Now we have to look at alternatives even if this means a decrease of quality. Today you have a few publishers, daring to offer DVDs of openings. I say "dare" as it is big risk that the content is illegally copied. It is very easy to spread files (although some of my students are not capable / they can play chess but have very little knowledge about how to use chess-software). You can buy Chessbase magazine DVDs (every 2 months, yearly for the price of 100 euro with a 40 euro voucher) and Move by move DVDs (20 euro each) of which you can select openings so a repertoire can be built. It is clear that you need a large collection of dvds to get a reasonable solid repertoire. It is not cheap this alternative.

Fortunately I could bypass this thanks to 20 years of playing competitive chess with a fixed repertoire see the scientific approach combined with a good archive see archiving. So I had already collected a good amount of material which I could insert simply via pgn into the chesspositiontrainer. I started with my openingbook-file which contains all my recent game-preparations for both colors. I was curious how many positions this would give.
3424 positions 0 times trained, 253 positions 1 time trained, 27 positions 2 times trained, 2 positions 3 times trained

This are already more than 3500 positions while I only injected my most superficial  analysis to study openings mostly in a broadly sense. This is a lot to maintain regularly so I have to be careful not to inject much more moves. Let us therefore have a look how many positions would count my database of my own played games which are commented often deeply. You can check this by creating an opening book e.g. "Brabo positions".

In above screenshot you see that I first select all 811 games of my personal database. Next I choose ECO 20 (default-input which tells us that averagely 20 moves are taken into account of each game linked to the popularity of the opening) and finally I enable the option of adding lines created by the analysis. I press the button "ok" and see the results in a couple of seconds.

OMG, we have almost 50.000 positions. On reddit I read that a specific user trains averagely 36 postions each day but that would mean that I need 1400 days just to train everything once. That is close to 4 years. On top the program tells us that we need to repeat this regularly. Default is set once per 4 days. It doesn't make sense anymore to look at my 3rd database with specialized analysis of openings.

In the end I decided to restrict the content for chesspositiontrainer to the initial 3500 positions. However that is not the end of the tale as now all the openings are in 1 big file. If you want to work efficiently then you still need to split this into modules. Again there is no support for this from the program. I spent approximately 5 hours to create some soft of structure with modules defined by opening and size.

Finally I can train a piece of my repertoire. I was not able to persevere very long. Except that it is extremely boring, I also wondered why am I doing this. I will not play any standard game in the next 2 months and even on the long term I see only a very small return of the invested time. If I would play regularly against strong opposition then maybe yes but today I don't need this. Besides I also find it rather cumbersome how I have to add new analysis made by a Chessbase-program. There is no automatic connection to the Chesspositiontrainer.

This program already exists since 2004. It is probably the best on the market but the many prerequisites makes it only useful for a very small group of players. I am thinking mainly at professional or and ambitious strong players. I will just use now as an extra tool for my game-preparations to train quickly some specific lines.



  1. Hi Brabo,

    thank you for your review of my software, which I just discovered by chance. I don't want to convince you to change your mind, but I thought it would be helpful to know for you and other readers:

    The import wizard let you decide how many moves you want to import (e.g. just the first 15 moves). You don't need to customize your PGN for this purpose. Furthermore the training let you decide how deep you want to train your openings with many different options. So, you can keep a bigg repertoires to also check middle game positions and ideas, but then just train the first X moves.

    You are absolutely right that some users are disappointed when they see the program does not come with any content. Some publishers sell their chess books as PGN files too, which helps to overcome this shortage. I personally consider the phase where I enter the moves manually also very fruitful as I really spend time on each line. If you would just import the moves you probably will never read the book and then just memorizing the moves makes no sense.

    Having said that, I'm working a release where the program comes with a pre-populated book based on games with strong players. Then you can easily put together your opening right in the program. It does not substitute the quality of a strong chess author.

    Finally, I want to note the program is not only about the training features, but also to organize your repertoire in a more intuitive way by using elements like "Openings", "Folders" and variations to organize it instead of pseudo games as you would do with a game database.

    You mention the program does not support anything to organize your repertoire after the import. Actually, if you create some new opening elements you can easily copy and paste complete branches from one opening to the other (e.g. from the one big opening into which you just imported your whole repertoire). Just go to the key position defining each opening like 1...c5 for Sicilian if you play e4 with White. Click on copy and the paste it into a dedicated opening element called "Sicilian". The FAQ covers this under "What is best practice for splitting an opening into several openings?"


    1. Thanks for the reaction Stefan.

      A few remarks from my side.
      - You could say that there are as many repertoires as there are players. So a pre-populated book won't work unless you add some easy features which allows any user to personalize it. The program must allow a user to toggle openings in a repertoire. Also the program must propose a depth of the lines linked to the rating of the user which of course can be overruled by the user.
      - The opening repertoire for higher rated players scales up so quickly that even following the FAQ "What is best practice for splitting an opening into several openings" becomes something very timeconsuming. Just imagine how much time it takes to split 3500 positions into modules of about 35 positions. You still need to do the job 100 times. It would've been great if I could have told the program to do that for myself by just stating the average size of the module.
      - Finally I do agree that the program is much more than just training an opening repertoire. However for me and I guess most users, training an opening repertoire is what attracted us in the first place to Chess Position Trainer.

  2. I agree that most CPT users were attracted by the training features in first place. I also agree that splitting 3500 positions into 35 position "modules" is a very tedious task. I'm not sure why you want to do that though.
    I play e4. My repertoire structure looks likes this: One opening for Caro-Kan, one for Pirc, one for French, one for Petrov, one for Scotch, one folder for Sicilian and then one for Dragon, Najdorf etc. and finally one opening for "others" like b6. Each opening contains something between 1000 and 10000 positions. In the training module I choose to train the first 12-15 moves. I will not train all positions of the repertoire, but really focus on the most likely lines and positions. Maybe you can provide some background why you create such small modules of 35 positions.

    1. A module should be as close as possible to an average trainingsession. As I wrote in my article 35 positions seems to be used quite commonly by other users for an average trainingsession. I also feel that bigger modules often lead to less productive trainingsessions which means more mistakes and in the end most importantly less learning.

    2. Stefan, I checked your rating and it shows 1900 dwz. I can understand that for you training the first 12-15 moves in the training module works. Besides to how many positions does the first 12-15 moves correspond for your complete repertoire?
      However such approach can not be used for a 2300 player like myself. I have many critical lines in my repertoire going to move 30 which do pop up in my standard games see e.g.
      So I can't just stop training at 12-15 moves and think that is enough for a 2300 rated player. No, there is much more to know but any extra move deeper means an exponential increase of moves so quickly leading to an amount of positions which are not possible anymore to train properly with Chess Position Trainer(especially as I can only spend maximum 30 minutes per day at this which is more than most players probably can do anyway).

  3. Hi Brabo,

    if this matters, CPT is used by many GMs and I know that at least one of the current top 10 is a long time CPT user. At the same time it is very often used and recommended by chess coaches to train their pupils. This is a quite different target group with very different intentions.

    I understand that you don't want to study more than 30 min. a day or 35 positions. Although many factors play an important role to define the optimium for each individual. When I've created CPT I spent a lot of time reading researches about space repetition, which CPT uses for recalls. I got the idea of creating CPT after studying a foreign language and using specialized software to learn it. Everybody knows you have to remember the vocabulary of a language by heart (at least a minimum) and train them frequently. You can't just read the vocabulary book and then you are ready to speak the language (besides grammer aspects). Still, in chess you just read a book and then are supposed to recall critical lines. In my mind the ideas and strategies of an opening are like the grammar in a language. Yes, you have to rememeber them, but compared to the vocabulary it takes little effort. CPT does not really support this aspect. You need good sources (GM books, engine analysis etc.) to understand the opening. At the same time you need to know concrete positions and move orders (=vocabulary) in particular the stronger you are. At that time CPT was created no software would allow you to use a flash card concept to train your openings (positions = vocabulary != grammer = ideas, strategy).

    The reason why I mentioned 12-15 moves was just to give an example that you don't have to begin with 30 moves from the beginning. You can start your training and select "only new" and then stop the training after X minutes or Y positions as the program shows you how many positions you already have trained today. Why creating static "units"? In particular as you have to recall positions before you forget them and before you start training even more new positions. How do you want to achieve this without a specialized software? That's exactly one of the benefits of using a training tool like CPT, which schedules positions for recall just before you are about to forget it and before you even train more new positions. The recall intervall increases every time you recall a position correctly. After some time you don't have to recall many positions anymore.

    My question is: how did you create the repertoire file in first place as you had to analyze each position before you added it to your repertoire? You mention 50.000 positions, which is not realistic to train for most of us. I agree. My assumption is you don't really know all 50.000 positions today. You could make sure you at least remember the first X moves, which are feasible without spending too much time. This way you safe some time on your click.

    I have the feeling the problem are not the 35 positions / 30 min. (at least you didn't mention how you train more efficiently today), but rather the fact like you said in your case it is not worth the effort to to really know your openings in detail. Another reason is probably that you already know your repertoire quite well as you are playing it for many years. Again, this is similiar to a foreign language. If you speak it frequently it is less likely you will train the vocabulary on a daily base again. Instead you will look up specific words you want to know from time to time.

    1. How I built my repertoire for CPT, is mentioned in my article. I just inserted via pgn all the light opening-analysis which I made during the recent (last 5 years) to prepare myself for standard games (many times my opponents were grandmasters). This alone are 3500 positions which I consider as absolute minimum to know by heart. I am sure more than 50% is already well known and probably most of the rest I can reconstruct during a standard game. This means indeed that the daily training for just a couple of completely forgotten positions which maybe will never pop up in my practice, is an overkill. As you mentioned yourself then you better just look up specific positions. So CPT is not needed for that.

      Except the 3500 light positions, I also have stored 50.000 heavy positions on the openings which I play. They were selected after doing some intensive personal analysis during the last 20 years always supported by the strongest engines available. Of the 50.000 I only know a small portion by heart today, probably not more than 5%. It would be nice to train all of them but I know that 30 min/day won't be sufficient. I need several hours per day so not an option for me. As I can't reach the goal also here, it makes no sense to start the training.

      So for now I only use CPT as an additional tool to prepare myself for standard games against specific opponents. I will look up the openings that the opponent played in the past and I train the modules via CPT linked to those openings often just the evening before the game will be played. E.g. last Thursday I trained via CPT the module 1.e4 d5 2.exd5 Nf6 as my opponent of Friday had played this opening a few times in the past (he chose something else in our game but that is not relevant). This way I can by investing a minimum of time achieve a maximum of return.