Saturday, 14 September 2013

CPT 4.2: Auto-Analysis of Openings

Do you have an opening with thousand of (complex) positions? Wouldn't it be great to know that your opening contains no blunders / missing critical candidate moves for your side or your opponent? CPT 4.2 will offer a new function to give you exactly this power and more.

Let's run through a simple example to demonstrate the new feature. Our repertoire contains the Scandinavian opening. Let's assume for some reasons we entered c6 instead of moving the queen to for example a5. And then we didn't take the queen, but continued in standard manner:


Now, we use the new function "Analyse Opening". A dialog-box offers many differents option before CPT starts with the analysis.


In a real-world scenario you probably don't want to let the engine analyse the first moves. You can decide whether the engine should analysis to a certain depth each position or for a specific time.

Furthermore you can let the engine update all analysed positions with its own evaluation or make it dependend on the last analysis date. You can also just focus on all end positions to use the "min-max-function" afterwards. Finally, you can let the engine mark critical positions. A critical positions means that you are missing an important candidate move. You can define how much better the candidate move has to be than the best already existing one in order to avoid too many updates for basically similiar evaluations.

We start the analysis:


The analysis of a complete opening can take some time. CPT gives you an overview of what it is right now analysing.

What does the result look like? Did CPT find the blunders?


Yes, indeed CPT found the blunder by Black. The position is marked as "Engine (critical)", which let you easily get back to the position later. At the same time it added a comment on its own showing the move, which is missing from the engine perspective and how the analysed variation goes. You can now decide to add Qa5 to your candidate move list.

What about our mistake of not just taking the queen?


The engine found this mistake too.

Now, these have been very obvious examples. Imagine a real opening with many positions and you will see how this new feature will give you a big advantage over your competitors.

Social Bookmarks

Comments (17)

  • Brian Smith
    15 September 2013 at 03:19 |
    Brian Smith

    The mini-max function...I had trouble with and never used it. Trouble, because I just didn't understand it and the importing/exporting,etc.

    "Imagine a real opening with many positions and you will see how this new feature will give you a big advantage over your competitors."

    Will this give you the option of keeping the choice you have in CPT or will it automatically overwrite it with a computer choice? I would hope it would not be the latter. I ask because sometimes we chose a move because it 'suits our style' or 'is easier to play' and gives a safe edge, not what an engine gives at "better" thru a brute force search thru a jungle of variations.

    I am reminded of a talk Anand gave about a week after his latest World Championship Matcha link is on Aagaard's Blog), where he spoke of using computers. In it, he spoke about this 'relying on computers' and how other facts may be best for the individual in choosing a move. Not being a computer, I completely agree with him.

  • Stefan Renzewitz
    15 September 2013 at 11:05 |
    Stefan Renzewitz

    You have full control. The program will only add comments with the suggested missing candidate moves. Then you will have to go through all positions marked as "Engine (critical)" and decide for each position whether you want to add the move or not.

    • Ivan
      16 September 2013 at 18:14 |

      Very useful feature!
      One thing is not so clear to me: will I be able to save the suggested moves to another opening or tabya? It could be a good way to compare the two "lines" before add or remove moves.

      • Stefan Renzewitz
        16 September 2013 at 21:52 |
        Stefan Renzewitz

        The way it is implemented at the moment you will have to manually add the moves (by looking at the position comment). In praxis I would assume you turn on the engine analysis anyway and the marked positions will just help you to find the positions the engine believes a different line is better. This way it will suggest its best move for each position while you are entering them. If you don't like the line you could keep it as alternative or just delete it.

        • Ivan
          17 September 2013 at 19:52 |

          Bene! Grazie mille.

  • Brian Smith
    17 September 2013 at 02:22 |
    Brian Smith

    This sounds like a good way to do things. Being a 'visual' learner, I can't wait to actually get to try this out.

    Now...where is that calendar of mine so I can start ticking away the days!

  • Jhor
    21 September 2013 at 04:46 |


    "Furthermore you can let the engine update all analysed positions with its own evaluation or make it dependend on the last analysis date."

    How about an option to make it dependent on the last Analysis depth instead of date? So that it updates it only if the running analysis depth surpasses the old one. CPT can even save time by deciding to skip the current position if the current mode of analysis surely can't surpass the old one.

    The method is applicable not just in Auto analysis but also in normal Infinite analysis in saving eval scores of each position.

    Since I haven't yet tried how your feature works, I hope my suggestion is relevant.


    • Stefan Renzewitz
      23 September 2013 at 23:06 |
      Stefan Renzewitz

      It iss! I just have to see if it can make it into the original release, but I put it on the list for sure.

  • Geng Wang
    26 September 2013 at 16:50 |
    Geng Wang

    I am new and still in trial. Great software! Can I search and delete a line (PGN move list)? Now I am deleting candidate moves at branch points which runs the risk of deleting more than one line. Also, if I have a line say from a famous game, and I want to tag the line (instead of comments at specific moves), can I do that? If I make a mouse slip, is there a simpler way, for example, undo or take-back, than backing off to delete candidate move? After I purchase license, what upgrades am I entitled to? Forever? All Version 4?

    • Stefan Renzewitz
      26 September 2013 at 23:02 |
      Stefan Renzewitz

      Thanks for your questions.
      Do you mean you want to delete a line right in the PGN file?
      In CPT: If you delete a candidate move it will delete all other moves and positions, which depend on that move. However, if two lines transpose at some point you are not running the risk to delete the moves, which can be reached by another line.
      E.g. you enter 1. Nc3 d5 2. d4 Nc6 3. g3
      now you enter 1. d4 d5 2. Nc3 Nc6 3. e3
      If you go to the start position and you delete the candidate move 1. d4 it will delete d5 and 2. Nc3, but not Nc6, nor 3.e3 or 3.g3. As both can be reached by 1. Nc3 d5 2.d4
      Does this answer your question?
      If you want to tag a whole line you could use the "variation" element. Go to the last position and create a variation. However, as no moves follow this is just for getting the move list back good. You won't be able to train it.
      The next update will support a new concept called "topics". A topic can contain any start position and line and you can train it. This should be what you are looking for:
      Unfortunately, there is no undo function yet. I put it on the feature request list. Btw. if you
      keep the shift-key pressed while entering moves CPT won't move forward. This way you can easily enter all candidate moves for a position.
      A pro license is valid for all updates of the current major version. At the moment this is version 4.1.1. The next version will be version 4.2, which would be a free upgrade for you, if you purchase a 4.1.1 license. Version 5 would be not a free upgrade.

      • Geng Wang
        02 October 2013 at 15:28 |
        Geng Wang

        Normally, I would add a new line from a PGN import (is there a better way?). But I could make a mistake: 1. An error in the PGN file; 2. Line is accidentally imported into wrong folder/opening. In that case, I want to delete that whole line. I understand some moves may have other dependents and thus can't be deleted, but I want to delete the ones that don't. There doesn't seem to be an easy way to get this done in CPT-4 and it seems to me I need to delete branch point by branch point backwards. It would be nice if I can delete that error by using the same PGN, i.e., delete by the line.

  • Geng Wang
    03 October 2013 at 14:40 |
    Geng Wang

    User may intend to have more than one candidate move at their turn but it may also be unintended from transpositions or old lines vs. new lines. It would be useful to be able to identify all branch points at user's turn such that the user can decide if these are desired or a sideline needs to be unchecked.

    • Geng Wang
      04 October 2013 at 16:15 |
      Geng Wang

      As I read through more blog postings, I see that this is already a feature promised for next release (in March). Any estimated time for release?

      • Stefan Renzewitz
        04 October 2013 at 20:54 |
        Stefan Renzewitz

        That's true. I have implemented such a feature for the next release. It will be released before x-mas.

  • Kisho
    24 October 2013 at 10:18 |

    Hi Stefan
    I am eagerly awaiting the next release (4.2) to buy it for personal use. Kindly let me know when it may be open for sale. I also subscribed to newsletters but I don't seem to be getting any :(

    • Stefan Renzewitz
      24 October 2013 at 10:26 |
      Stefan Renzewitz

      Hi Kisho,
      thanks for your comment. I haven't sent a newsletter for a while, but will do so once version 4.2 is ready for download. I just want to make you aware that you can already purchase a license today as it will be automatically valid for version 4.2. This way you can enjoy all Pro features already today. I expect to release 4.2 before x-mas.

  • Jhor
    12 November 2013 at 05:27 |

    Hi Stefen,

    On certain situations, just letting the engine analyze everything is too time consuming because not all positions are of equal importance. I propose an alternative where I just navigate each position I want and fire Infinite Analysis. But the same functionalities like "Mark Critical" & "Update Comp Eval" also applies automatically. The only difference is that only the current position is analyzed at a time as I navigate manually. Simple right? :-)


Leave a comment

Please login to leave a comment. Optional login below.

CPT on Facebook


Stay up to date

Leave your e-mail and join our newsletter!