03 January 2015

Chess computing resources for 2015 - Part II: Chessplaying software and computer opponents

In contrast with Part I of this series, which looked at more specialized database analysis programs, Part II covers a greater variety of computer chess tools that include chessplaying software and computer opponents.  Many software packages include all functions - database, playing, analysis, and training - but typically focus on one category more than others.  Because of the great number of differences in features between different software packages, in this post I'll focus on common chessplaying functions and how an improving player can take advantage of them.  After that discussion is a review of some computer resources, including freeware and online.  A brief overview of popular engines is also included.

As a side note, it's been interesting for me to see how chess software has evolved away from dedicated chessplaying programs - an approach exemplified by the old Chessmaster series - to a more modular approach, one which splits the GUI (graphical user interface) and the chess engine.  Users now can easily mix-and-match, using their favorite engine(s) along with whatever engine is bundled with the software they use.  This splitting of functions has its pluses and minuses, however, as I think some of the focus on the actual playing experience has been sacrificed.  The performance differences between different engines also are not nearly as significant as they used to be, especially for chessplaying purposes. Personally, I've found it difficult to take computer opponents seriously, as I have trouble caring about the outcome of a game when it is not at least somewhat similar to tournament conditions.

Computer opponents - what are they good for?

All chessplaying software packages offer different options for handicaps, in which the engine's effective playing strength is reduced.  Different mechanisms are used to accomplish this, with varying results.  The simplest method is to use a fast time limit for the computer to move (1 second, 5 seconds, etc.)  Another simple weakening method is to not permit the computer to "think" on its opponent's time.  For the more basic engines and those used for online play in browsers, these are popular choices (sometimes the only choices) to help calibrate the computer opponent's strength.  For an improving player, I think using the quick time method can be detrimental for training, since it psychologically encourages you to think and move fast as well, rather than develop and employ a comprehensive and coherent thinking process.  However, if what you want is a casual game within a quick time limit, or are using blitz games for a specific training purposes such as opening familiarization, then fast time controls are certainly appropriate.

This brings us to the question of what computer opponents are good for, within the context of a training/improvement program.  I think that they are best viewed as "sparring partners" - a concept familiar from other individual combat sports, boxing being the most well known, but also including fencing and martial arts.  Good sparring partners should offer you several things:
  • The chance to get a workout - a mental one in the case of chess - allowing the player to practice and reinforce their skills and thinking habits under conditions similar to that of a real match.  This usually requires a "slow chess" time control (45 45, 60 5, or higher).  Since computer sparring partners will not care what the time control is set at, having nothing else to do, this is a bonus - as long as you have the necessary focus and patience yourself.
  • A level of opposition that is at or (preferably) somewhat above your own playing strength.  You should have a legitimate chance to beat your sparring partner, albeit with significant effort.  Running an engine at top strength would prove a frustrating and insurmountable hurdle, while beating up an overly handicapped opponent will teach you nothing.  This concept is related to effortful study, a process in which you constantly push your boundaries, but without taking on tasks completely beyond your strength.  In the context of a computer opponent, once you start beating them more than 50 percent of the time, you should increase their strength.
  • Opposition that has different "styles" or combinations of strengths and weaknesses.  It takes different skills to face and defeat an opponent who always goes for aggressive attacks, versus one who is content to play quietly and set up a solid position.  Opening variety is also important, to become familiar with different position-types and avoid being surprised.
How you set up your "sparring partner" therefore will greatly affect your experience.  Your chessplaying software should have a variety of slower time controls (often which you can input yourself), handicap methods that you can understand and easily adjust, and ways of varying the computer opponent's play.  These latter two points deserve some additional attention, especially in the context of their training usefulness.  
  • Despite the wide variety of handicap settings available, computer opponents often will play in an unrealistic manner that detracts from the experience and makes training less effective.  For example, they may randomly decide to drop material, make obviously pointless moves, and the like.  This is unfortunately hard to avoid from the programmer's point of view when trying to find practical ways to make a program play weaker than it can.
  • Computer opponents without randomizing functions will play the exact same game every time, which is of very limited use for training (and not very enjoyable, either).  Make the computer opponent behave too randomly, however, and it becomes difficult to learn via iterative training and amass useful experience, especially with mainline openings and key common position-types.
Each person will have their own particular preference for what they are looking for in a computer opponent.  That said, I'll offer some practical guidelines:
  • If the software package has automated functions that address the above issues, use them.  For example, some offer a specific Elo rating setting for opponent strength.  In that case, you can set the opponent to be 100-200 points higher than your own rating and see how you do against it over a few games, then adjust the strength in future games as necessary.
  • The Fritz GUI in addition offers a "Sparring" mode for new games, with five level settings (from "Very Easy" to "Really Hard").  The program calibrates its play accordingly and will deliberately play a certain number of moves, based on the level setting, for which it can calculate a tactical refutation, but otherwise play a strong game.  I find this mode of play to be more realistic in simulating a "real" game, as the program does not simply give material away (or allow itself to be mated) without requiring significant effort from its opponent.
  • When a default opening book is included with a software package, there are usually settings that will force the computer to play "best" or "optimal" lines, or alternatively force more variety in the opening choices.  It takes additional work, but can be even better for training purposes, when you edit or assemble your own opening book for the program to use.  Naturally using your own repertoire database is a possibility for this.
  • If you are doing tactical or visualization drills, then using extra features in a GUI such as displaying hints, threatened squares, etc. may be useful.  Naturally none of these aids are available during tournament conditions, so I would suggest not using any of these for serious training games.
Computer resources and packages

The following list is not meant to be comprehensive, but rather to give a sampling of the major programs available and types of resources, including online freeware, that can be found.  Comments on these, and on resources not originally included, would be useful to see; I'll incorporate them as appropriate in future edits.

The Deep Fritz 14 GUI is the latest version of the long-running Fritz series from ChessBase.  It has a full range of features for serious play, including a large number of different 2D and 3D virtual chess sets, as well as advanced analysis functions and some database functions.  For players looking for a high-end sparring partner and superior analysis capabilities, along with basic database resources, this GUI would be a good starting package.  For more advanced database functions and software, see Part I.  It's worth noting that ChessBase sells the GUI under the name of the engine bundled with it, so for example the latest Komodo 8 product is simply the Deep Fritz 14 GUI with Komodo 8 included as the primary engine.  Other UCI engines (see below) can be added easily to the GUI.

The Aquarium program - the latest release being Aquarium 2015 (and an additional version with Houdini 4 bundled) - is another chess package that includes a full range of analysis and playing functions, although its GUI and functionality is built primarily around the analysis functions.  Published by ChessOK, its database also uses the same proprietary format as their Chess Assistant database software.  Aquarium 2015 currently appears to have some issues with its deep analysis (IDeA) functions.

Shredder - as mentioned by Tommyg in his comment on Part I - remains a commercial alternative GUI, notably being available across mobile platforms as well, and has some online browser-accessible features on the site.  The playing community seems to be a strength of the product. Hiarcs Chess Explorer is another alternative all-in-one software package (thanks also to Tommyg for the comment on it).

The Chessmaster series, as mentioned above, was focused primarily on the playing experience, wth Chessmaster XI (also known as Chessmaster: Grandmaster Edition) being the last edition.  I previously recommended it as a sparring partner, since it had by far the best range of customizable opponents, as well as an outstanding video tutorial series included with it.  Unfortunately this product (from 2007) is no longer supported by software publisher Ubisoft, so I can't recommend it anymore.  I was originally able to install it on my Windows 7 machine with some difficulty, but eventually after one Windows Update cycle the program refused to work properly, even after reinstalling it multiple times.  If you have an older machine, it may still function.

The SCID vs PC freeware database analysis package was mentioned in Part I and it also includes some basic chessplaying functions.  There are other free GUIs available that are more developed around the playing and analysis functions, for example the more complex Arena Chess GUI 3.5 or the simpler Tarrasch Chess GUI.

Chess.com has a browser opponent available, or you can play against different bot opponents in its live section.

Engines

I've saved the section on engines for last, in part because for playing purposes they are now so strong that differences among top engines are essentially irrelevant.  Your choice of handicap options will be much more important in determining the type of playing experience you have, rather than which Elo 3000+ engine your computer is running.

For analysis purposes, engines may still show some significant if not large differences between them, at least when there are no concrete tactical advantages.  So it is from the analysis use perspective that I'll offer a few comments, along with the top engine home page links.  All of them can be downloaded directly from the links in their UCI versions, which you can then plug into your preferred GUI.  As an alternative, some intentionally weak engines have been developed for playing purposes - they may be included in some software packages - and may prove useful as sparring partners without having to handicap them.
  • Komodo 8 is what I currently use as an analysis engine.  It has an interesting history and appears to incorporate a greater degree of human positional judgment than its peers, as discussed in this ChessBase news article.  It is this latter quality that was the deciding factor for me and it seems legitimate.  In using Komodo 8, I've noticed that it gives (slightly) greater evaluation weight to compensation for sacrificed material and other positional factors than other engines; computers historically have been too materialistic, although that's changed to a great extent.
  • Houdini 4 is the latest version of the Houdini engine series.  I used the (freeware) Houdini 1.5a and (commercial) Houdini 2.0c previously for analysis engines.  Houdini appears to be somewhat faster than Komodo 8 in its evaluation functions, which remain top-notch.
  • Stockfish (currently version 5) is the top freeware UCI engine and can hold its own at the Elo 3000+ level.  Using this as a freeware option means you are sacrificing little (if any) power and functionality and it has downloads for a variety of platforms, including mobile apps.
In Part I, I discussed the practical value of using engines for game analysis, as part of an integrated process involving database analysis software (and of course your own brain).  This is a legitimate use of a tool to make progress.  What should be avoided is the practice of using software to replace (rather than augment) your brain, as sometimes occurs when people simply pop their games into a "full analysis" software feature, let it run, briefly see what the analysis results are, then move on.  A more detailed look at the pros and cons of computer analysis can be found in "Pitfalls of Computer Analysis" on this blog.  A more exaggerated (if entertaining) view of the harm relying on computer engines can be found in IM Jeremy Silman's recent article on Chess.com.  Coincidentally, a recent article on the "Rise of the Machines" at The Chess Improver also touches on these and some other related issues.

The future

All of these programs will no doubt continue to evolve over time, with new entries in each subcategory.  I think from a functional perspective the logical path would be to combine top-level database, analysis and gameplaying functions in a single software suite.  ChessBase could do this now with relative ease, I suspect, but keeping ChessBase and Fritz products separate is a way of segmenting the market for additional revenue.  ChessOK has a similar type of split with its Chess Assistant and Aquarium products.

All of the major packages (even freeware) now include database analysis functions, so deliberately keeping major playing/analyzing functionality separate from database functions appears more and more artificial.  I'm still hoping, even after a poor experience with the first version of the Chess King program, that a single and economical software package will eventually emerge that has an aesthetic GUI, engaging and varied computer opponents, good analysis functions, and powerful database options.  With the engines now separated from the GUIs and at a very high strength level, perhaps programmers can turn more attention to the gameplaying experience and thinking through how best to present and display analysis options and results.

Given the quality of the freeware available today, I recommend that people try out different available programs before purchasing a new commercial package.  Even if you do decide to go the commercial route, you'll have (for free) a better idea of what features you desire most, and/or what you really don't like, something which I think is central to effectively using computer tools in a training program.

The next post in this series is Part III, which looks at database and e-book resources.

9 comments:

  1. Stockfish 5 is not weak(er), at short calculation times its at rank #1 http://www.computerchess.org.uk/ccrl/404/ and its always stronger than Houdini 4
    It is not neccessary to get a new version of fritz. To be able to play with the strongest engine it is enough to have a fritz 11 from ebay.
    Games against chess engines can be made with the free chessgui Arena or with the brilliant lucas chess program : http://www-lucaschess.rhcloud.com/ too

    ReplyDelete
    Replies
    1. Stockfish is indeed a great choice for an engine, you're not giving up any real performance and it's free.

      Depending on your computer, it may matter what GUI you have, since some of the older ones are not set up to fully exploit multiple cores. Usually amateurs don't need the "Pro" versions of engines, which scale up to 32 cores, but the standard versions of the latest engines normally can use up to at least 4 physical processors (8 multihreaded).

      I liked the Arena GUI when I checked it out, as linked above, both for performance and for the aesthetics of the interface; it looks like a professional job. Will have to go check out the lucas chess program, thanks for mentioning it.

      Delete
  2. Hey Chessadmin! Another great post.

    For clarity I should let it be known that the ShredderChess Online experience is NOT thru the Shredder GUI. It is web based or on an Apple IOS app.

    And the Shredder GUI has not seen an update in a while. It seems the developer has instead focused on Mobile platforms (and putting the steps method into programs!)

    That all being said for playing against an engine (if one wants to do that) I have found Shredder and Hiarcs to be the most fun to play against and "reasonable ELO levels". Even better than Chess Master.

    For a really fun computer opponent I highly recommend the Chess Tiger app on Apple IOS (Chess Pro or something like that) by Christophe Theron. This is a wonderful chess app to play against and even do quick post mortems on a game. You can have the engine analyze but just show blue arrow=good move and red arrow=bad move. Basically creating puzzles on the fly!

    ReplyDelete
    Replies
    1. Thanks for the comments. The Shredder website that's lined has info on all of the cross-platform functions, so it's really a brand these days rather than a single product. They do seem to give pride of place to the GUI products, but of course mobile is big and is probably where they should put new effort, business-wise.

      Delete
  3. Great post again!

    As I said on the other post I see Aquarium as a bit of an underdog so I like to speak up for it a bit. Again, not trying to convince anyone of anything just to make a point or two. Just one quick hit, I use Chessmaster grandmaster edition on windows 7 with no problems at all. My copy was the Amazon.com download copy.

    As far as Aquarium goes, I would just like to mention a point or two about the IDeA area in the program. I find this very useful for game analysis. The reason is again the idea of the tree. IDeA builds a tree for the game or position you are looking at and adjusts the results in the whole tree as the analysis continues. The key idea here is that in certain situation I want to ask a lot of questions about the position, trying different ideas and finding out what the engine has to say about the specifics of what I want to know. In some ways this goes towards demystifying some of those inexplicable computer lines because you can easily keep asking it to answer you and you won't lose your place, you can go back and try something else and it's always there for you.

    Of course you can do similar things with infinite analysis on a regular analysis pane (of course Aquarium has all the standard tools as well). The key here is the ability to really explore a position and have this very convenient tree to hold all the results in an easy to use fashion.

    One example here is when I played a game where I built up a great attacking position. I was pretty sure my position was good, but there were several different options on how to proceed. By using the IDeA setup I was really able to get an understanding of why the computer preferred certain lines and this involved things like looking at ideas from one line and try them in the other and basically just exploring. Here I am getting feedback and saving everything as I went.

    I guess one of the coolest things to me is the idea that you can change the focus of your investigation. You can keep the computer working in very focused point or you can let it spread out and work in a more diffuse manner on many points. Or you can go back and forth between these two.

    Another point for Aquarium is that is possible to set up several computers to work together (I have done this for some of my correspondence games where use of computers is allowed), and because of the way it breaks up the tasks you lose you no efficiency you just gain in speed.

    Of course there are some issues, and I know some people have had problems. For the record I am using Aquarium 2014 64 bit and I have had no problems.

    I will also point out that there is a real learning curve with IDeA and you have to be willing to learn to use it, which may not be interesting for people who are mostly just looking for blunder checking or a sparring partner. I have however found the forums that linked to to be quite helpful and full of info.

    ReplyDelete
    Replies
    1. I liked working with Aquarium better than ChessBase10 - this was back in the Rybka Aquarium days - so was for a little while doing analysis in Aquarium but maintaining my databases in CB format. This arrangement - made necessary by the two incompatible proprietary formats - felt too awkward after a while. I could transfer games in PGN, but the annotations (symbols especially) didn't make the transition, so in the end I decided to simply keep everything on the CB side. This was largely for convenience and standardization, admittedly. That said, CB11 was far better as a GUI than CB10 and CB13 has improved functionality as well, so I'm happy with the decision.

      Aquarium was originally an analysis-focused GUI (and still is), so I think it's a good choice for such work, including if you want to invest the time in learning the IDeA functions; CB13 is just now catching up with the idea of programmed analysis jobs (including multiple computers); CB no doubt was trying to address this area where Aquarium had greater functionality. Aquarium also has some good publishing functions, although I never could get the last version to work 100% properly with Blogspot.

      Re: Chessmaster, glad it's working for you, maybe Amazon updated it for modern OS compatibility (the way GoG does its old programs). Although I probably won't buy it again at this point just to get the dl version, especially now that I've found more live options for playing.

      Delete
  4. I would appreciate your advice, ChessAdmin. I would like to get started analyzing my over-the-board games but do not want to learn how to use any software. I would like to open a program, choose "New Board" and enter moves from a score sheet. Once I have named and saved the game I would like to choose "Analyze Game" and have the software's analysis engine rate the moves, identify blunders and alternate better moves. Any other features have no interest to me. I have looked at SCID vs PC and don't readily see how to perform these processes.

    ReplyDelete
    Replies
    1. ChessAdmin, I just found this site: http://en.lichess.org/paste and it does exactly what I want. If, however, you advise that the analysis it provides would misguide me I would choose another program. TY.

      Delete
    2. Hello Stourley. That looks like a nice, simple analysis board setup. Any modern analysis engine will give good results as far as blunder checks go, as well as showing the tactical possibilities in a position. That sounds like what you're looking for. Good luck with your training.

      Delete

Your comments and ideas on chess training and this site are welcomed.

Please note that moderation is turned on as an anti-spam measure; your comment will be published as soon as possible, if it is not spam.