Russell Sherwood

Skunkworks: Project Experiance

You need to log in to view this article.

The Skunkworks

Russell Sherwood  Monday, November 16, 2020

As time goes on and as your rating increases Victories and rating increases become harder to achieve as the opportunities and margin for victory become fewer.

Over the last year I have worked and continue to work on a number of these kinds of projects and following some introspection have decided to open up some to others. Included in the list are:

Engine Experience

Many years ago there was a CAP project that sort to build a fully analysed engine tree. In more recent times the Cerebellum project has sought a similar, if more advanced outcome as the tree would be optimized. The issue with these approaches is that the outcome Is static as far as the user goes.  Another approach is to build a tree , where the analysis is used as an input to new analysis rather than an end result and if better, deeper analysis occurs for the same position it becomes the new standard.  So far work on this has reached a little over 7million analysed positions.

Dragon Opening Books

An issue with modern CC is that many players used the same small source of opening books and databases, which reduces the amount of diversity in moves played.  I have been working on developing a number of books and continue to work on others.  The first of these – “White Dragon” will be released to WCCF Premium/International members soon.

COLLOSUS Database

I got tired of searching, so created a number of my own which will be available to WCCF Premium/International members.

SHEAR Chess Engine

Whenever I go through a review of engines it becomes obvious the different engines have different useful features – so the aim is to bring them all together in one engine – a Swiss army knife or sorts. SHEAR is this engine. Of course, some of my own ideas are also being added on top of this!

Analysis Techniques

As part of a long-time project I have started recording a number of videos on Engine Analysis techniques

Lesser known Software and Functions

There are plenty of lesser known functions of chess software and indeed lesser known chess Software. Some of these are “game changers” for your specific approach. Again some videos are planned to explain some of these!

WCCF NNEU

With the new NNEU enhancement to Chess engines it makes it relatively simple for anyone to develop their own analysis network. A first run on this developed a network as strong as the standard stockfish ones of the time. Now with lessons many lessons learned it will soon be time for another run for a network developed for CC!

This is just a taster of what is happening in the background – more details will be released in coming weeks but as a general rule if people want to be involved, they need to contribute to those projects and of course the more people who get involved the faster projects move!

EnginesPlayer developmentSkunkworks

Article Index

Russell Sherwood  Friday, November 13, 2020

It always surprises me how many articles and documents I have published.

Below is an Index of articles published on this site with links, group loosely under a number of headings with links

GroupArticleRef
Analysis Infinite Variety12
Analysis A Peek behind the Curtain!11
Book ReviewThe Chess Player's Alice154
Book ReviewBlast from the Past151
Book ReviewBook Review: Chess for Life134
Book ReviewChess for Life - Matthew Sadler & Natasha Regan132
Book ReviewBook Review: The Chess Toolbox125
Book ReviewBetter Thinking, Better Chess: How a Grandmaster Finds his Moves - GM Joel Benjamin123
Book ReviewCorrespondence Chess in Britain and Ireland, 1824-1987 - SIM Tim Harding122
Book Reviewe3 Poison : A 21st Century Opening Repotiore95
Book ReviewApplying Logic in Chess - Erick Kislik91
Book ReviewChess Structures87
Book ReviewWorld Champion at the Third Attempt82
Book ReviewMy 120 Selected Correspondence Games by SIM Mike Read81
Book ReviewBook Review Scoring System79
Book ReviewI was elected to Lead, not to read!78
Book ReviewChess on the Fringe43
CongressCongress Photos105
CongressICCF Congress Report - Day 3102
CongressICCF Congress Report - Day 2101
CongressICCF Congress Report - Day 1100
CongressICCF Congress Report - Day 0!99
CongressBlast from the Past10
DatabasesCovering all the (Data) bases!21
Engine DevelopmentA Correspondence Engine39
EnginesGoldilocks and the Hash Table170
EnginesStockfish: Make the best choice!169
EnginesSetting up Stockfish NNEU in Fritz/Chessbase168
EnginesReturn to the Engine Room167
EnginesNeural Nets on the cheap164
EnginesNew Directions143
EnginesDrinking you under the Tablebases137
EnginesChanging Horizons131
EnginesEngine Analysis Research Group130
EnginesStockfish 10 Contempt127
EnginesBack in the Engine Room121
EnginesKeep an Eye110
EnginesFive a Day98
EnginesFinal Gen97
EnginesCutting Edge93
EnginesUnder the Table(bases)92
EnginesTurning the Table(base)s88
EnginesZero to Hero?75
EnginesMaking a HASH of it!74
EnginesChoosing a Chess Engine68
EnginesAs easy as XY but not Z66
EnginesIn contempt58
EnginesThe Specialist31
EnginesSpot the Difference!30
EnginesMore Miles to the Gallon?17
EnginesLost in the Endgame15
EnginesLifting the Hood13
EnginesOptimising your Engine Set Up for Newbies5
Engines50 Shades of Stockfish1
General InterestInteresting Annotated Games163
General InterestGerman Bundeslegia157
General InterestDoes Size Matter?152
General InterestRule Clarification141
General InterestOld School139
General InterestSomething for nothing 2?136
General InterestSomething for nothing?135
General InterestChess Songs - The Answers129
General InterestChess Songs128
General InterestNew Title Tournaments120
General InterestAGM Resource114
General InterestWCCF Template113
General InterestSlayers109
General InterestWCCF Hall of Fame108
General Interestand now for something completely different.....86
General InterestBragging Rights69
General InterestWho's been doing what, with who?65
General InterestHold the Front Page59
General InterestBack to the Future50
General InterestRating Blues49
General InterestSize Matters?40
General InterestAlpha Go a GoGo36
General InterestKasparov in Wales!23
General InterestSimple Guide to Annotation18
General InterestAdvice for Rookie Team Captains4
ICCF TitllesThe Golden Snitch51
InterviewsInterview with IM Andrzej Szerlak (POL)166
InterviewsInterview: CCM Glyn Sinnett (WLS)161
InterviewsInterview: SIM Gareth Yeo159
InterviewsInterview: SIM John Rhodes (ENG)158
InterviewsInterview: CCM Dennis M Doren (USA)156
InterviewsInterview: LGM Dawn Williamson (ENG)153
InterviewsInterview: LGM Toni Halliwell (ENG)149
InterviewsRussell Sherwood, Player Interview90
InterviewsSIM Joop Jansen (NED)89
InterviewsGM Matjaž Pirš84
InterviewsSIM Gino Figlio (PER)77
InterviewsSIM Ivan Panitevsky (RUS)73
InterviewsMarc Wakeham (WLS)72
InterviewsCraig Evans (WLS)70
InterviewsGordon Anderson (SCO)67
InterviewsPhillip J. Beckett (ENG)64
InterviewsIan Jones (WLS)60
OpeningsEvans Gambit155
OpeningsSuprises111
OpeningsBe careful out there!29
Player DevelopmentRating Differences165
Player DevelopmentAB & NN - a perfect match?160
Player DevelopmentGaslighting147
Player DevelopmentCopycat144
Player DevelopmentSome light reading140
Player DevelopmentConditional Weapon138
Player DevelopmentGoals, Goals and Goals133
Player DevelopmentPick your battlefield! IM Norms126
Player DevelopmentAll that glitters.......117
Player DevelopmentTime Machine115
Player DevelopmentMilestones103
Player DevelopmentNew Season: A New Hope?94
Player DevelopmentMoving on up!85
Player DevelopmentPoka Yoke76
Player DevelopmentYou have been weighed, you have been measured and you have absolutely found wanting!61
Player DevelopmentThe Blueprint57
Player DevelopmentThe Curse of Zero56
Player DevelopmentThe New Normal55
Player DevelopmentIn the War-room54
Player DevelopmentHow to train your Dragon!53
Player DevelopmentDo not go gentle into that Good Night. Rage Rage against the Dying of the Light.48
Player DevelopmentTri-Bi Thinking47
Player DevelopmentTo Draw or not to Draw?46
Player DevelopmentWhat’s your UWP?45
Player DevelopmentLean Chess44
Player DevelopmentPushing the Limit!42
Player DevelopmentIndustrial Chess41
Player DevelopmentDead Man's Attack38
Player DevelopmentHorses for Courses37
Player DevelopmentWhere there’s a way there’s a will!35
Player DevelopmentHumanity's last Stand?34
Player DevelopmentThe Time Machine33
Player DevelopmentThe Universal Soldier?32
Player DevelopmentThe Great Escape28
Player DevelopmentSeason Planning27
Player DevelopmentNo Bragging please, We're British!26
Player DevelopmentForm is Temporary, Class in Permanent.25
Player DevelopmentIntelligence Reports24
Player DevelopmentStop! You’re doing it wrong!22
Player DevelopmentStanding on the Shoulders of Giants20
Player DevelopmentJumping through Hoops!19
Player DevelopmentCan you have too much of a good thing?!16
Player DevelopmentGetting those Title Norms you know you deserve!?14
Player DevelopmentIt's all just a matter of time!9
Player DevelopmentWhat's in a Norm?8
Player DevelopmentSo you want to be a Correspondence Chess Expert?7
Player DevelopmentResources for Modern Correspondence Chess3
Player DevelopmentSize does matter (When it comes to Elo!)2
PostalPostal Glory96
PostalGoing Postal!62
Rating ListsWelsh Provisional 2020/3 Rating List162
Rating ListsProvisional Rating List142
Rating Lists2019/1 Rating List Review119
Rating ListsProvisional Welsh 2018/4 Rating List104
Rating ListsAnother door closes!83
Resource FolderResource Folder Updated148
Resource FolderResource Folder146
SICALMSICALM - December124
SICALMSICALM #3106
SICALMSICALM #271
SICALMSICALM #163
Social MediaWCCF Mailing List150
Social MediaFollow WCCF on Twitter145
Social MediaBeing Sociable80
Social MediaWCCF Facebook Page6
Video LinkHow I became an ICCF GM172
Video LinkWCCF AGM Technical session recording171
WebsitesRead All About it!52
WelshbaseWelshbase update118
WelshbaseWelshbase Update116
WelshbaseWelshbase October Update112
WelshbaseWelshbase107

 

How I became an ICCF GM

Russell Sherwood  Thursday, October 29, 2020

It would be nice to writing this about myself but this is about 71140  GM Leitão, Rafael (2592)

Came across the following on Youtube

https://www.youtube.com/watch?v=mdKnxlurp5s

It's in Portuguese but subtitles and Auto-translate can be turned on via the setting Icon at the bottom of the screen 

 

Goldilocks and the Hash Table

Russell Sherwood  Tuesday, October 20, 2020

Following on from selecting the "best" version of an engine to use we now move onto setting the Hash table.

The Hash table is a storage location the engine uses to store position evaluations. If it sees the same position come up again it looks it up in the Hash table.

In theory, as long as looking up the position is faster than evaluating it again, the engine will search more efficiently. This means setting the Hash table to the "right" size can have a significant impact on both the efficiency and effectiveness of the engine search. 

If the table is too small then, it will fill up quickly and all positions will have to be calculated every time met, slowing down the search.

If the table is too large then it will be slower to search for the position that it is to recalculate it from scratch.

So how to we get the Goldilocks zone? It is a combination of:

  1. The Processor speed
  2. The available RAM
  3. The number of Cores being used to analyse
  4. The time being spent analysing each move

Processor Speed and Available RAM can be determined from the Windows system settings or via utilities such as CPU-Z. In general the amount of RAM being allocated to Hash should be no more than 50% the Total RAM of the system. Going above this level tends to slow down the PC in general

The number of Cores (not threads) you set for the engine - if you are using the PC mainly for analysis this will normally be the maximum, less one being used for the Windows system.

The time being spent on each move is a function of your analysis methods.  Rather than go through the formula, a small spreadsheet is attached which will estimate the setting to use.  

 

 

Download

Engine SettingsHashStockfish

Stockfish: Make the best choice!

Russell Sherwood  Saturday, October 17, 2020

Since the inception of the NNUE networks with the Stockfish framework, a very regular question has been: Which version should i use? BMI or Popcnt? AVX2 or SSSE?

A simple method to determine the best option is as follows: 

  1. Place all the candidate exe files into a folder.
  2. Navigate to the folder via File Explorer
  3. Double-click on the first engine. If it is not compatible with your hardware either nothing will happen or a black screen will open up briefly and then close again. These versions of the engine can be ignored.
  4. If when you double-click the screen opens up type "bench". This will run for a while and at the end you will see a "Nodes per second" result. Not this number and close the engine window.
  5. Repeat this process for all the exe files.
  6. The file with the highest 'Nodes per second" will be the version of the engine best suited for your hardware.

This process will work for all Stockfish variant engines and many more. In a test I saw a 44% difference in speed between the least and most suitable versions. This in practice means that an engine will get to your normal depth faster and may achieve the odd or two greater depth in the same time, which in the long run converts to elo gain.

EngineStockfish

British Championship - Entries to Date - Closing Date 31st August

Russell Sherwood  Saturday, August 15, 2020

If you believe you have entered and are not on the list , please get in touch ASAP

Asquith JENG
Bailey MENG
Beckett PJENG
Brotherton TENG
Bruce RENG
Clark SENG
Cowan AENG
Elwood DENG
Franks KENG
Gardner AENG
Graham OENG
Grayland SJENG
Griling CENG
Grummitt WENG
Herman TENG
Hollands GENG
Illingworth JBENG
Kitson KENG
Law KENG
Lockett JENG
Lumley WENG
Maguire GENG
Marchant AENG
O'Mahoney MENG
Owen CENG
Perrin RENG
Pope PENG
Raby EBDENG
Rawlings AJCENG
Richardson DENG
Roberts AENG
Roberts SENG
Ruffle AENG
Squires MENG
Sutton AENG
Tibbert PHENG
Walsh HJENG
Ward RENG
Webster RENG
Wharam GENG
Wood BAENG
Beecham CRSCO
Buchan ASCO
Burridge RSCO
Clark SLSCO
Cumming DSCO
Hardwick MESCO
Lloyd GSCO
Whittaker IPSCO
Bailey S WLS
Bishop WWLS
Bullen AWLS
Jones GWLS
Jones IanWLS
Jones RWLS
Scott PWLS
Sherwood AWLS
Sherwood HWLS
Sherwood RWLS
Wakeham MRWLS
BCCC Entries

Setting up Stockfish NNEU in Fritz/Chessbase

Russell Sherwood  Tuesday, July 21, 2020

  1. Go to   https://github.com/nodchip/Stockfish/releases and download the latest copy – about 11mb in size and with a lot of different versions included
  2. Confirm what your CPU can handle – use CPU Z if unsure about which one you have.
  3.  Go to https://discord.com/channels/435943710472011776/733547343319924808 and download the network of choice
  4. Unzip the download from (1) in a folder of your choice
  5. Add a subfolder to that directory called eval
  6. Unzip or place the file nn.bin into the eval directory
  7. From Step 2 determine which version of the engine you need. For modern Ryzen machines avx2
filenameCPU instructionsSupported CPUs
sse2Intel Streaming SIMD Extensions 2>= AMD Athlon 64
sse3Intel Streaming SIMD Extensions 3>= Intel Pentium 4 (Prescott model F)
sse3-popcntIntel Streaming SIMD Extensions 3 + POPCNT>= AMD Phenom
ssse3Intel Supplemental Streaming SIMD Extensions 3>= Intel Core 2 Duo (Merom)
sse41Intel Streaming SIMD Extensions 4.1>= Intel Core 2 Duo (Penryn)
sse42Intel Streaming SIMD Extensions 4.2>= Intel Core i7 (Bloomfield), AMD FX (Bulldozer)
avx2Intel Advanced Vector Extensions 2>= AMD APU (Carrizo)
bmi2Intel Advanced Vector Extensions 2 + BMI2>= Intel Core i7 (Haswell)
avx512Intel Advanced Vector Extensions 512>= Intel Core i9/i7 (Skylake-X)
  1. Go into Fritz or Chessbase and “Create UCI Engine”
  2. Click on the three dots and navigate to the folder you created in (4)
  1. Select the file – you want the section after stockfish to be the correct one you identified in (7). So in my case a avx2. You then want the file with .profile in the name. This should have reduced the list to two choices – either a 256 or 384 file. You need the correct one to match the network. At this point select the 256

 

  1. The engine will now populate the details
  1. Click OK
  2. The engine should now be installed
  3. Click Add kibitzer to check the engine – it should be running at a decent rate 
  4. If get zero evals you don’t have a network!
  5. If it wont run at all its probably the wrong version for your machine
  6. Parameter Setting: Click on the Engine/ Advanced and Parameter
  7. Hash – half of your total ram should be max, generally a little less
  8. Contempt – set to zero
  9. Analysis Contempt – Off
  10. 50 Move rule off – ICCF don’t use it as of a couple of years ago
  11. Threads – set to your total minus a couple if you want to concentrate on chess analysis
  12. Latest versions have Eval File, older ones Eval Folder – if you want to switch nets this is the place to do it.

 

Notes of Caution

  1. Generally, NNUE nets are built on quite shallow evaluations and testing have been in very rapid games – its benefits are unknown in deep search. Cross check with vanilla SF any interesting moves it suggests
  2. The net needs to be kept up to date.
  3. If you go wrong installing to remove the engine you need to go to your Users/Logonname/app folder/Roaming/Chessbase/Engines.UCI and delete the offending File before trying again

Download

Stockfish NNUE

Return to the Engine Room

Russell Sherwood  Wednesday, July 8, 2020

It's been sometime since I was last in the Engine room and quite a bit has happened in the world of Chess Engine development in that time!

ASMfish is no more. This port of Stockfish into Assembler had proven very popular with enthusiasts due to its additional speed boost but it is now so far behind Stockfish in terms of development that any speed advantage pales into insignificance compared with the deficits in search and evaluation.

It appeared CFish had gone the same way but in recent weeks an effort has been made to bring the code up to date. CFish offers some speed benefits, so this is worth watching to see if the efforts are successful.

Houdini has had no new releases in several years but in recent months, what is allegedly the source code has appeared in public forums. Whilst the veracity of this is not of interest, it would be surprising to see an updated version of this engine appear in some form.

In terms of other engines outside of the main players the main newcomer has been Ethereal. Whilst not quite at the same level as the top engines it does have an interesting playing style.

Neural net development has continued to advance           

Significant work has been undertaken to make LC0 far easier to install and many specialised nets have been developed, Elo improvement has slowed, and development of Stockfish has been spurred on to compete with LC0.  A neural net is an essential part of an aspiring CC players arsenal, but it is now much easier to achieve for two reasons:

Fat Fritz has been updated and runs well on CPU based hardware (as opposed to LC0 which really requires a high-quality graphics card). Fat Fritz is based on a different network development method but does add to players options.

Stockfish development has thrown up two fascinating projects. Stockfish NNEU is a method to create a neural net which operates with Stockfish. It is early days yet, but early testing shows performance approaching Stockfish itself. In my own research it does show some interesting moves and runs much faster than a LC0 network but as I said early days!  The other project is Stockfish WDL, which is an attempt to generate a Win-Draw-Loss score for Stockfish. This is in exceedingly early days now but does appear to show some promise.

With the release of Fritz 17, we saw the appearance of the Fritz 17 engine (which I believe many users think is Fat Fritz!). Whilst a pleasing upgrade from Fritz 16 (which was simply Rybka modernised) this engine is a long way of the pace in CC terms and should not be utilised as a main engine

Honey is a specialised development of Stockfish which adds several features especially useful for CC players, for example Defensive mode and Deep Profound Analysis. Each release does provide several versions which include the best tweaks of several other engines. Personally, a favourite!

Eman is something of a controversial engine, for non-chess reasons I will not go into and ridiculously hard to get hold of but does provide interesting features including an ability to sniff out interesting moves. Well worth the effort to get hold of!

Bluefish is something of a marmite engine. Its “Bluefish” mode is somewhat misleading as it is simple reports the depth and node count incorrectly. It does, however, tend to utilise a narrower search giving a greater depth. Dependent on position this can either be a game winner or a game loser. Worth a look but personally I would never use it as a main engine

ShashChess has just updated as is an interesting engine, with former CC World Champions and Grandmasters involved in its development. It has three different modes, which either the engine self-selects, or the user can select, which approach the position differently. Well worth a look.

Raubfisch has been around for a long time and includes a lot of CC specific features, including ICCF Mode. Worth close examination.

Komodo has two modes – traditional and Monte Carlo. Both have a following with CC. If you want to use a Monte Carlo engine with a CPU then you probably need to use Komodo. Do not be fooled into thinking Stockfish is far superior simply based on ratings. Komodo plays a much more solid game and tends to be popular with those who prefer solid positions. It of course one of the few commercial engines in this review.

Rating Differences

Russell Sherwood  Tuesday, June 16, 2020

In the postbag (well the electronic one anyway!) I have been asked several questions about the ICCF rating system.  One wide misunderstanding  is about rating points being gained or lost playing against lower rated opposition. 

Looking into it two factors have the most underlying effect on the result – your k value and the difference in rating.

The k value is defined as part of the rating equation:

 

I put a K calculator into the spreadsheet to make life easier, but we can see from the above the k value gets smaller as your rating and number of games completed increase.

From looking at the formula we can see that the k value starts out around 25 and then trends down to around 10 for the majority of players – or 20 if your rating is below 2000. Where do you find your k value – either on the spreadsheet or in your rating forecast on ICCF.com

Once we know this we can determine that the number of rating points lost or gained in a game is calculated from your actual score in the game – your expect score multiplied by your k value.

Your actual score can only take one of three values 0,0.5 or 1. 

Your expected score comes from the difference between you and your opponents rating, by the formula:

Hmmmm…..

In practice this means

Rating difference

Diff%
2552%
5054%
10059%
15063%
20067%
25071%
30075%

 

By a very long and painful journey we come to a number of generalizations, which have been the questions I have been asked:

  1. You have to be rated more than 100 elo more than your opponent to lose more than 1 point from a draw (for most people with a K factor around the 10 mark)
  2. In a two game match (Friendlies in particular), this drops to 50 elo for a “double draw” costing more than 1  point
  3. If the difference in elo is less than 300, than 1.5/2 will be a net rating gain for the higher rated player 
  4. Once the gap is more than 300 elo then 2/2 is required to not lose rating points.

 

Download

Rating system
Welsh Correspondence Chess FederationClergy Correspondence Chess ClubSchemingMind Internet Correspondence Chess ClubSocial Correspondence Chess AssociationNational Correspondence Chess ClubWelsh Chess UnionInternational Correspondence Chess Association