ShashChess

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

amchess
Posts: 323
Joined: Tue Dec 05, 2017 2:42 pm

Re: ShashChess

Post by amchess »

ShashChess 12.1

https://github.com/amchess/ShashChess/releases/tag/12.1

Many thanks to Omar Khalid patch on learning
Stockfish patch
Author: Stefan Geschwentner
Date: Mon Jul 6 17:56:18 2020 +0200
Timestamp: 1594050978

Add a rank based bonus for blocked pawns.

Fix for overevaluated blocked pawns on the 5th and 6th rank.
This is a rewrite of the original idea that uses only two parameters.
Thanks to rocky640 for pointing this out.
matejst
Posts: 364
Joined: Mon May 14, 2007 8:20 pm
Full name: Boban Stanojević

Re: ShashChess

Post by matejst »

Andrea, I suppose you introduced some important novelty to release a new version so soon after the previous one. I could see that there was another parameter in the learning files. How much does it change the learning? Could you give some additional explanations?
amchess
Posts: 323
Joined: Tue Dec 05, 2017 2:42 pm

Re: ShashChess

Post by amchess »

matejst wrote: Tue Jul 07, 2020 11:27 pm Andrea, I suppose you introduced some important novelty to release a new version so soon after the previous one. I could see that there was another parameter in the learning files. How much does it change the learning? Could you give some additional explanations?
This is a minor version. No other buttons/options: only bug fixing and update to the latest stockfish patch.
Cornfed
Posts: 511
Joined: Sun Apr 26, 2020 11:40 pm
Full name: Brian D. Smith

Re: ShashChess

Post by Cornfed »

I was given Shashin's book: Best Play a few years ago by a friend who works for a book distributor. I looked at it for a day or two and put it away on a self thinking: this is of no use to me (long time USCF 2000+ player) and it was way too complicated to consciously use. But, I realized it kind of was just stating the obvious of how you should carefully evaluate certain positions during a game and...well, play/chose moves according to the position...they just happen to be moves the archetypes might play.

With the ShashChess engine at default setting, is that really kind of what you get: An engine that evaluates any given position in a game (or during analysis of a game) and lets its evaluation function (to dumb it down a bit) play as Capablanca might play it...or Tal...or Petrosian and maybe points upon the 'drift chart'?
amchess
Posts: 323
Joined: Tue Dec 05, 2017 2:42 pm

Re: ShashChess

Post by amchess »

With this version we achieved our first important goal:
The demonstration of Shashin's theory power at long time controls
amchess
Posts: 323
Joined: Tue Dec 05, 2017 2:42 pm

Re: ShashChess

Post by amchess »

Cornfed wrote: Wed Jul 08, 2020 5:28 am I was given Shashin's book: Best Play a few years ago by a friend who works for a book distributor. I looked at it for a day or two and put it away on a self thinking: this is of no use to me (long time USCF 2000+ player) and it was way too complicated to consciously use. But, I realized it kind of was just stating the obvious of how you should carefully evaluate certain positions during a game and...well, play/chose moves according to the position...they just happen to be moves the archetypes might play.

With the ShashChess engine at default setting, is that really kind of what you get: An engine that evaluates any given position in a game (or during analysis of a game) and lets its evaluation function (to dumb it down a bit) play as Capablanca might play it...or Tal...or Petrosian and maybe points upon the 'drift chart'?
Yes: the engine evaluate the position's characteristics and adapts it's algorithm to it.
Clearly, compared to the book, the scale is in cp and not like in the drift chart.
Very often Stockfish patches discarded by the community can be integrated because valid only for certains positions type and even hte official ones can more effectively be integrated.
The only drawback is clearly it works on not too fast time controls.
Cornfed
Posts: 511
Joined: Sun Apr 26, 2020 11:40 pm
Full name: Brian D. Smith

Re: ShashChess

Post by Cornfed »

amchess wrote: Wed Jul 08, 2020 9:11 pm
Cornfed wrote: Wed Jul 08, 2020 5:28 am I was given Shashin's book: Best Play a few years ago by a friend who works for a book distributor. I looked at it for a day or two and put it away on a self thinking: this is of no use to me (long time USCF 2000+ player) and it was way too complicated to consciously use. But, I realized it kind of was just stating the obvious of how you should carefully evaluate certain positions during a game and...well, play/chose moves according to the position...they just happen to be moves the archetypes might play.

With the ShashChess engine at default setting, is that really kind of what you get: An engine that evaluates any given position in a game (or during analysis of a game) and lets its evaluation function (to dumb it down a bit) play as Capablanca might play it...or Tal...or Petrosian and maybe points upon the 'drift chart'?
Yes: the engine evaluate the position's characteristics and adapts it's algorithm to it.
Clearly, compared to the book, the scale is in cp and not like in the drift chart.
Very often Stockfish patches discarded by the community can be integrated because valid only for certains positions type and even hte official ones can more effectively be integrated.
The only drawback is clearly it works on not too fast time controls.
So...
1. If I were using a GUI to auto-analyze a game (and with no great regard to early openings/late endings) it would be best to pick the default (no archetype picked) and the engine will adjust during the course of a game as it sees fit...for both sides?

2. If I were to analyse from just one sides point of view, the same would hold true - use the default as well and as I skip thru a game, the engine will adjust based on whatever position I look at....say moves 12, 23 and 40 as the character might have gone from worse to attacking to more balanced?

3. If 1 and 2 are true...I am wondering what is the point of having the option to chose between the 3 archetypes (even while it is playing a game). Is it simply to force the engine to...to use an example, 'play like Tal' when the position is not of an attacking nature? Kind of like Komodo 14 with its new Armageddon feature (but perhaps not as drastic)?
amchess
Posts: 323
Joined: Tue Dec 05, 2017 2:42 pm

Re: ShashChess

Post by amchess »

The three options are for the bootstrapping approach on the position.
After, the engine will adapt itself dynamically.
amchess
Posts: 323
Joined: Tue Dec 05, 2017 2:42 pm

Re: ShashChess

Post by amchess »

peter
Posts: 3186
Joined: Sat Feb 16, 2008 7:38 am
Full name: Peter Martan

Re: ShashChess

Post by peter »

Thanks, Andrea!

Biggest success in experience- file- learning so far to me in this position, discussed already several times in CCC, e.g. here

http://talkchess.com/forum3/viewtopic.p ... 08#p819008

[d]1rb1qrk1/2b2pp1/p3pBn1/3pP1Pp/1ppP4/2P1QN2/PP3P1P/R2BR1K1 w - - 0 21

21.Nh4!

LC0 solving this as well as at once (it's taken from a LC0- game originally), it's one of these positions A-B-engines get only with very much time and or multiPV (about 22 primary lines).

After some (to be true, rather extensive) Forward- Backward of the lines of interest, started with empty hash but with loaded experience.bin:

1rb1qrk1/2b2pp1/p3pBn1/3pP1Pp/1ppP4/2P1QN2/PP3P1P/R2BR1K1 w - - 0 1

Analysis by ShashChess 12.1 64 POPCNT:

Code: Select all

21.Bc2 gxf6 22.gxf6 bxc3 23.bxc3 h4 
  -/+  (-1.10)   Depth: 7/7   00:00:16  15kN
...
21.Nd2 
  =/+  (-0.57 ++)   Depth: 23/34   00:00:20  49890kN
...
21.Nd2 Kh7 22.Bxh5 Rh8 23.Bxg6+ fxg6 24.cxb4 Rxb4 25.b3 Kg8 26.Rec1 Qd7 27.Qf4 Rh5 28.bxc4 dxc4 29.Ne4 Bb7 30.Bxg7 Kxg7 31.Qf6+ Kh7 32.Nc5 Qc6 33.Qf7+ Kh8 34.Qf6+ 
  =  (0.00)   Depth: 36/29   00:01:03  596MN
21.h3 
  =  (0.08 ++)   Depth: 37/46   00:01:29  921MN
...
21.h3 Kh7 22.Nh2 Rh8 23.Bxh5 Kg8 24.Bxg6 fxg6 25.Qd2 bxc3 26.bxc3 Kf7 27.Kg2 Qf8 28.Re3 Qa3 29.Rg3 Bd7 30.Qf4 Rhf8 31.Qh4 Rh8 
  =  (0.00)   Depth: 41/23   00:02:20  1569MN
21.Nh4 
  =  (0.09 ++)   Depth: 42/37   00:04:08  2947MN
...
21.Nh4 Kh7 22.Bxh5 Rh8 23.Qg3 Kg8 24.Bxg6 fxg6 25.Re3 Bd7 26.Rf3 Rh7 27.cxb4 a5 28.a3 Ra8 29.Rc1 Bb6 30.Rf4 Rh5 31.Kh1 axb4 32.axb4 Kh7 33.Ng2 Kg8 34.Rg4 Qf7 35.Nf4 Rh7 36.Qc3 Be8 37.h3 Qa7 38.Rd1 Qd7 39.Kh2 Ra2 40.Rdg1 Bf7 41.Qd2 Qa7 42.Rd1 gxf6 43.gxf6 Bxd4 44.Qxd4 Qxd4 45.Rxd4 Rxb2 46.Kg2 Rxb4 47.Nxg6 
  +/=  (0.54)   Depth: 42/64   00:06:16  4625MN
...
21.Nh4 Kh7 22.Bxh5 Rh8 23.Qg3 Kg8 24.Bxg6 fxg6 25.Re3 Bd7 26.Rc1 Ba5 27.Rf3 Rh7 28.Ng2 gxf6 29.gxf6 Kf7 30.Nf4 Rh6 31.h4 Qh8 32.Kg2 Rg8 33.Rh1 Qh7 34.Nh3 g5 35.Nxg5+ Rxg5 36.hxg5 Rxh1 37.g6+ Qxg6 38.Qxg6+ Kxg6 39.Kxh1 Be8 40.cxb4 Bxb4 41.Kg2 Kf7 42.Rh3 Kg8 43.Kf1 Ba5 44.Rg3+ Kf8 45.Ke2 Bb6 46.Ke3 
  +/-  (0.84)   Depth: 43/63   00:08:55  6718MN
...
21.Nh4 Kh7 22.Bxh5 Rh8 23.Qg3 Kg8 24.Bxg6 fxg6 25.Re3 Bd7 26.Rc1 Ba5 27.Rf3 Rh7 28.Ng2 gxf6 29.gxf6 Kf7 30.Nf4 Qg8 31.Nh3 Rh5 32.Ng5+ Rxg5 33.Qxg5 Qh7 34.Kg2 Rh8 35.Rh1 Bb5 36.Rg3 Qh5 37.Qxh5 Rxh5 38.Ra1 bxc3 39.bxc3 Bc6 40.Rb1 Bb5 41.Rc1 Bc7 42.Rg1 Ba4 43.Rb1 Bb5 44.f4 Bc6 45.Rh3 Ba5 
  +/-  (1.33)   Depth: 44/84   00:15:13  11756MN
...
21.Nh4 Kh7 22.Bxh5 Rh8 23.Qg3 a5 24.Bxg6+ fxg6 25.Re3 a4 26.Qf4 Qf7 27.Rf3 Bd7 28.cxb4 Rxb4 29.Qe3 Rb7 30.Bd8 Qe8 31.Bxc7 Rxc7 32.Qf4 Rb7 33.Rb1 Kg8 34.Qg4 Rb4 35.Ng2 Qb8 36.Qf4 Qe8 37.Kh1 Bc6 38.Qg3 Qe7 39.Nf4 Be8 40.Ne2 Bf7 41.Qf4 Rb7 42.Kg2 Be8 43.h4 Rb6 44.Qg3 Bf7 45.a3 Qb7 46.Qg4 Qe7 47.Nf4 Be8 
  +/-  (1.13)   Depth: 45/72   00:20:29  15943MN
...
21.Nh4 Kh7 22.Bxh5 Rh8 23.Qg3 a5 24.Re3 a4 25.Bxg6+ fxg6 26.Qf4 bxc3 27.bxc3 Kg8 28.Qg4 Qf7 29.Rf3 Bd7 30.Qg3 Be8 31.Bd8 Qd7 32.Bxc7 Qxc7 33.Ng2 Bf7 34.Nf4 a3 35.h4 Rb2 36.h5 Qb8 37.Kg2 Rb1 38.Rxb1 Qxb1 39.Qh3 Rxh5 40.Nxh5 gxh5 41.Rf4 Qg6 42.Qf3 Qxg5+ 43.Qg3 Qd8 44.Kh3 Be8 45.f3 Qd7 46.Kg2 Qe7 47.Rf6 
  +/-  (1.31)   Depth: 46/73   00:23:38  18449MN
24 Threads of 12x3GHz CPU, 32G hash, no tbs, option Tal.

Even Eman struggles with this one as for learning about it, so congrats to ShashChess and its position- learning!
Peter.