Russell Sherwood

Lifting the Hood

Russell Sherwood  Sunday, April 16, 2017

Taking a look at Chess Engine Settings

 

Most players will use Engines with their default settings, yet for Correspondence Chess this could be a major mistake as most engines are tuned for fast time control Engine v Engine games, not Analysis or Correspondence play.

Most Engines are very poorly documented (Komodo being a notable exception!) so it can be hard without extensive research to determine the effects of various parameters, options and settings, hence this brief (and superficial) review. In general I won’t suggest the best settings as these can be very hardware dependent.

Before we move onto some of the common adjustable settings its worth thinking about the Engine itself. Chess Engines have two main working parts – Search and Evaluation:

Search is the method by which the engine decides which moves to evaluate. It has to do this because the number of possible moves is beyond astronomical and the number of moves it can evaluate, even with the best possible hardware is finite.

A very simple example – if we look at 20 (half) moves deep we are looking in the region of 10,000,000,000,000,000,000,000,000 possible positions – yet a typical engine on fairly modest hardware will reach this depth in a few seconds – during which time it will have “only” looked at a few million positions – clearly a tiny fraction of a fraction of a percent of the possible positions.

This means that search techniques have evolved that aim to reduce the number of positions looked at but the problem from our perspective is that sometimes the “Baby goes out the with bathwater”. This has been recognised and so a number of options exist which we can adjust which can make the engine stronger for Analysis even though it will be weaker in rapid gameplay.

Evaluation

This is the method by which the positions are evaluated – Options here tend to alter the relative impact of certain parts of the evaluation – e.g. Structure vs Initiative.

Onto the options – not all are available in every engine and even then the might have a slightly different implementation.

LMR (Late Move Reduction)

This is a technique where the amount of time spent analysing each move is proportionate to its prior rating – so moves considered better get more time and worse moves get less time. This can be observed if you watch an engine – it seems to spend a fair bit of time on the first few moves then rush through the later ones. If switched off this gives more time to worse moves, the benefit of this is that moves, where the real impact is “down the line”, can be picked up, the downside is that the engine analyses much slower.

Null move Pruning

This has a similar impact as LMR but is based here on the concept that in a position that doing something is almost always better than doing nothing (A null move). If switched off a much slower but more through search results which can be useful finding deep threats and zugzwang.

Reduction

This determines how deeply the engine search along some lines. When used in Komodo higher values will encourage a narrower, deeper search but with a consequence that it may miss a move!

Threads

If you are using a single engine this should be set to either the number of processors you have or this minus one if you intend to do other light work whilst analysing. There is an alternative view that this should be the number of physical processors your pc has but this is beyond this discussion.

Hashtable Size

This is the working memory your processors will use. General rule of thumb is that this should be around half the total RAM on your machine.

Smart CPU Usage

This determines the default number of Cores the engine starts with. Should be on.

Contempt

Should be set to zero. This is a setting for engine v engine play used to improve results against inferior opponents.

Syzygy Probe Depth

This determines the search depth at which the engine will probe the tablebases. Generally left at default value.

Syzygy Probe Limit

This is the minimum number of pieces on the board before the engine will start to access any available Tablebases. Should be set to what size of tablebases you have installed.

Large Pages

Where available this allows the memory allocation to be “together” generating a slight speed increase.

Tactical Mode

When utilised much more emphasis is given to Tactics in both the search and Evaluation. The is the equivalent of looking for a knock out punch. Of course, this is at the cost of positional concerns. This mode is very useful is tactically charged positions where the feeling is that “Something is on”!

Razoring

Is a method used to reduce the search based upon the assumption the opponent will be able to find at least one good move. Generally best left in its default state but if a wider but shallower search is required then experimentation is required.

Futility Pruning

Is another method used to prune the search tree – again best left at default.

Split Depth

This determines the depth at which the analysis will be split between multiple Cores.

Load Hash/Save Hash

A very useful tool where available for CC players. Here the Hashtable can be saved and then reloaded at a later date so that analysis can continue from the same or very near point.

Table Memory

This is a Komodo internal setting utilised for various helper tables. The default of 128 is for fast games and for CC the player should experiment with higher values up to a maximum of 1024 as this is hardware dependent.

King Safety

This is the relative weight given in the evaluation to King Safety. Set too high is can cause play to become stodgy and defensive, set too low it can cause the engine to become rather more carefree in its attacks but potentially leaving itself open to counter-attacks.

Selectivity

Another Komodo setting which controls how aggressively prunes the tree, higher values mean Komodo will search deeper but is more likely to miss something, lower values lead to a much more shallow search but is less likely to miss a move.

Dynamism

Controls the relative weighting of Dynamic and Static parts of the evaluation. An interesting comment in the Komodo Readme file is that values of 80 will give more accurate evaluations than the default of 100 but the engine will be around 20-30 elo weaker.

Progress Threshold

This parameter determines how quickly the engine starts to look at the 50 move rule.

Variety

Is a setting for engine v engine and determines how likely the engine will make a different move in the same position.

Extend Checks

This is an option seen in some Stockfish variants. This is related to extending the search certain positions. Generally best left at the default setting.

 

This brings us to the end of this review – for the aspiring player much suggestion is to experiment with settings to see which gives the optimal results!

Infinite Variety

Russell Sherwood  Wednesday, April 5, 2017

I've had an interesting discussion recently in terms of Engine based Analysis techniques. Now to the uninitiated there is only one method - plug in the position rather IA for a rather long time and then mindlessly play the move. Pish!

In a fairly short brainstorm we came up with over 20 different methods that can be used ( a partial list is below) - you would need to know more detail to be able to use these but the point is.....think with creativity about how to perform analysis!

        (i)Infinite Analysis
        (ii) Multi PV Analysis
        (iii) Selective Analysis
        (iv) Forward Sliding
        (v) BackSliding
        (vi)Breadcrumbs
        (vii)Deep Analysis (Fritz)
        (viii) Deep Analysis (CB)
        (ix)IDEA
        (x) Monte Carlo
        (xi) Shootout
        (xii)Lets Check
        (xiii) Comparative Analysis
        (xiv) Brabo Methods
        (xv) Paired Deepening
        (xvi) Saved Tables
        (xvii)2nd Opinion
        (xviii) My Move - Your Move
        (xix) Patched Super Deepening
        (xx) Remote Engines
        (xxi) Subtractive Analysis

 

A Peek behind the Curtain!

Russell Sherwood  Wednesday, March 8, 2017

Often players struggle to understand the evaluation that a Chess Engine gives a position. 

Now its possible to see the breakdown of Stockfish Evaluation function.

https://hxim.github.io/Stockfish-Evaluation-Guide/

Please note two things 

  • Ths is not a replacement for an Engine!
  • The position that is being evaluated is the at end of the line, not the start (or current ) position

Enjoy!

 

Blast from the Past

Russell Sherwood  Tuesday, March 7, 2017

Cleaning up spme old links.....

came accross the Congress Video from Cardiff 2015!

Enjoy!

It's all just a matter of time!

Russell Sherwood  Monday, March 6, 2017

Every so often I get complaints from a player that their opponent is playing incredibly slowly. 

To be able to review this objectivly I created the attached spreadsheet, into which the time stamps from the game can be copied, as can the player's holidays.

(This information can be found under Board =>Show detais in the game itself)

One the data is reviewed a more detailed picture can be formed of the game.

It should be noted that slow play, in itself, does not break any ICCF rule, other factors need to be evident for a claim to be made.

An interested player should look in the TD Manual - Server found on ICCF.com to review the guidelines before looking to make any claims!

Download

What's in a Norm?

Russell Sherwood  Monday, March 6, 2017

As the new CCE/CCM titles came into play I did some research into Norm requirements. This culminated in the attached tables.

The purpose of the tables is twofold:

  • As an organiser it aids in the selection of the optimum category for the purpose of Norm generation (e.g. for CC, Cat I is far better than Cat H)
  • As a player it aids in selecting events most likely to give a Norm (The Green zone!)

It is worth adding that Norm Categories are changing. In simple terms the Category of an event used to be determined by the average rating of all the players, so if the average was 2332 it would be a Category 4 event with the same Scoring requirements for all players.

This system is now changing. The Category of the event is still calculated as above but this is only form communication purposes. The category for the player is the average of the rating of the opposition. Overall this does not make much of a difference, but if we take an extreme example:

12 Players rated 2500 and 1 player of 2100 make up an event. The Category of the event would be 9 with an average rating of 2469. However for the 2100 rated player the average rating of his/her opposition would be 2500 or Category 10 - which has Norm reqruirments generally half a point less. For the 2500 rated players the requirements would not change.

I hope this helps in the selection of Tournaments!

Download

So you want to be a Correspondence Chess Expert?

Russell Sherwood  Monday, March 6, 2017

 

I have had a few players ask “How to I become a Correspondence Chess Master?” To answer this fully would be a book in itself but a condensed answer to this is given here.

 

Here we will focus on the ICCF Correspondence Chess Expert Title. The Blueprint for higher titles is similar but with the addition of a few additional steps.

 

Starting at the end: To achieve the Title we need 24 games with the necessary performance level in International Title Tournament events. Typically this will come from either 2 or 3 events.

 

To be able to access these events a rating of between 2000 and 2100 is generally required, as an absolute minimum. In addition there you need an invitation to one of these events, which are handled via your National Federation. This can be difficult as places are few.

 

A few other options do exist:

 

  • Champions League. This is a very strong team event and if one of the few where Norms are possible in the lowest tier of the event

  • International Opens. Norms tend to become available in the 2nd round, so you will have to battle through the first to get there.

  • Regional Tournaments – events such as the British Championships are starting to offer Norm Opportunities at the lower levels

 

So get achieve those Norms and/or the rating necessary to gain access to them we need to win games! In the past a different tactic was utilised by some – aiming to draw out games with higher rated opposition. Recently changes have been made to the rating mechanism to make this far less effective method!

 

So how do we get push up are rating and generate those wins?

 

  • You will need at least one Chess Engine, even it it is only to blunder check your moves. This is possible regardless of the platform (Phone, Tablet, Laptop/PC). The effective use of engines is a massive topic but to as a minimum the use of two engines are recommended. Stockfish generally should be one of these.

  • A Database program is required to record you games and the analysis and ideas you have. This is very platform dependent with options ranging from Chessbase to open source options such as SCID.

  • Access to a large source of games for preparation. The ICCF database can be downloaded and makes an excellent basic source.

  • An opening book. This is a contentious area in terms of effectiveness but at the very least it can be used to prevent you repeating other peoples mistakes. Some Opening books work within database programmes. Free online options such as https://www.365chess.com/opening.php are also available.

  • Time – a mistake made by many rookie CC players (and a bias from some misguided OTB players) is that it is simply a case of putting the engine into Infinite analysis and then entering this move. The reality is that this method is not used by the majority of stronger CC players. More effective analysis methods exist and this take a lot of player time to put into use Some of these are described in linked in my Resources for CC article.

 

So this is a very lose indication of what is necessary to achieve the title. Putting the set up described above and working through the “Resources for CC” will put you on the path to success!

Optimising your Engine Set Up for Newbies

Russell Sherwood  Monday, February 27, 2017

We would all love to have a Monster PC to suppot our analysis efforts but the reality is that the vast majority of players have relativly modest hardware to work with.

So a few areas to consider:

  • Have you shut down all other applications when analysing? If you have other programmes running this can reduce your nps by 50%
  • Is the RAM the maximum your machine can utilise? This is a very cheap way to upgrade performance and simple to install (If you are not confident in doing this local computer shops can do this in a few minutes)
  • Is the Hash setting on your engine correct. Often engines can have different optimal settings but as a rule of thumb its worth setting to half your overall RAM. Some testing is sensible to see which gives the best results.
  • If you are using Tablebases - do you have a SSD drive? This can make 20-30 difference in speed. 
  • How many Cores is your engine set to? Exact settings are a long article in itself but if you want to max out then either all your cores or All minus one gives maximum pwoer. Of course this is not necessarily the best way to do things! Do remember than the more cores you utilise the more stress you are putting on the processor - a bit like I can drive a mini at 100mph all the time but it will wear out quicker.
  • If using Chessbase consider if Smart CPU should be checked. This can make a signifant difference to processor utilisation.

Anyway thats a few ideas for now - more advanced ideas another time!

Advice for Rookie Team Captains

Russell Sherwood  Monday, February 27, 2017

So your looking to put together a team for the Champion's League or any other team event? A few things to consider.......

  • How are you going to decide on your team - Rating? Titles Form?  All of these have a part to play in good team selection and a very important skill is know which players to select.
  • Do you know the rules of the event. I mean really know the rules. For example the rules for promotion relegation? The rules on Board orders? On Tiebreaks? If you dont know these you can be putting your team at a massive disadvantage.
  • Do you know the strength of opposition your are likely to be facing and the format of the event?
  • What preperation are you are your team going to do. Although you must select your moves independently in games, preperation prior to the start of the Tournament  ( and before any moves are made) can be done together. Some of your team may have access to resources that others dont or may be specialists in this area.
  • Are your players committed to playing as a team or playing as individuals? Will Title asperations be put aside for the good of the team?
  • Do you have an idea of the score necessary to advance in th event? Will you be able to indentify the target games to reach this score?
  • Will your players keep you up to date so no result comes as a surprise?

These areas may seem a excessive but if you want your team to overperform they and many others are necessary!  Good Luck!

 

Resources for Modern Correspondence Chess

Russell Sherwood  Monday, February 27, 2017

If you search for advice on how to improve at Correspondence Chess you tend to find resources that are at least 10 yers out of date. Indeed probably the best book " Modern Chess Analysis" was pubished in 2004. 

So as I looked to improve I found you either end up talking to stronger players to gain their "secrets" or using trial and error.  

There is useful info out there but you have to know where to look. below are a list of links to some of the useful stuff I have come accross. A few warnings:

  • Much of the material is from forums - so pages disappear often
  • Some of the material is in Russian and German - Chrome has a decent translator built in which can cope 
  • Ignore the comments sections - there are trolls galore and many cannot get past the "All CC players are cheats cos they use engines" (If the rules allow it we dont!!!)

 

Leonardo  Ljubcic- Chessbase Interview **
 
 
 
Leonardo Ljubcic - Immortal Q&A ****
 
Chess Improver *
 
 
Immortal Chess - Mostly in Russian - but Auto-tranlate works well enough! ***
 
 
 
Bdf (German Chess Federation)
 
http://www.bdf-fernschachbund.de/service/schulung/schulung.html
 
Murat Akdag *
 
 
Loki *
 
 
 
Wolff Morrow *****
 
Modern CC
 
 
Opening Prep **
 
 
Tartajubow *
 
 
 
 
 
 
Chess Brabo
 
Databases **
 
 
 
 
Openings **
 
 
 
 
Fortresses *
 
 
Engine Analysis **
 
http://schaken-brabo.blogspot.be/2012/05/analyseren-met-de-computer.html    In Flemish but readable after Google Translate
 
 
Rybka Forum *
 
 
GM Rafeal Leitao *
 
 
Comparison of Stockfish and Komodo
 
LIPEAD *
 
 
 
AL Alpert *
 
 
Chessbase *
 
 
 
 
 
 
 
Remote Chess Academy *
 
 
 
 
How do Modern Chess Engines Work **
 
 
 
IChess.net **
 
 
Carl Bicknell - IDEA *
 
Chess Book Reviews
Welsh Correspondence Chess FederationBritish Correspondence Chess AssociationSchemingMind Internet Correspondence Chess ClubSocial Correspondence Chess AssociationNational Correspondence Chess ClubWelsh Chess UnionInternational Correspondence Chess Association