Couple more ideas

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

Moderator: Ras

Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Gandalf cross

Post by Lyudmil Tsvetkov »

zullil wrote:
Lyudmil Tsvetkov wrote: Believe me Louis, half of the reasonable eval terms that do not succeed in SF is not because they are bad, but because the engine is incapable of recognising their importance.
Here you make an interesting point. I suppose certain positional features, especially ones that are permanent or hard to remove, do call for certain long term strategies of play in order to yield their reward. If an engine is steered to such a position, but lacks the ability to convert its advantage, then the correctness of the original evaluation is lost.

One way to approach this I suppose it to create an evaluation that "self-modifies" with the nature of the position, changing the weights of various features to help steer the search to the correct long term goal.

In any case, the real purpose of my previous message was to stop you from talking to yourself. :wink: Now we have a thread with multiple posters, as a thread should be.
Some eval elements go with shorter search, other will deeper search, some happen quite frequently, others are very rare.

You might try somehow to beguile the engine, but ofr the time being only terms wiil work that the current engine eval and search are capable of handling. With improved engine eval and better search, also a range of other terms will work if applied correctly.

It will be a long way with gradual steps forward, painful to go.
vincenegri
Posts: 73
Joined: Wed Feb 11, 2015 9:19 am

Re: Gandalf cross

Post by vincenegri »

Lyudmil Tsvetkov wrote: - apply only when npm bigger than 2/3 tnpm
What is "npm" here?
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Gandalf cross

Post by Lyudmil Tsvetkov »

vincenegri wrote:
Lyudmil Tsvetkov wrote: - apply only when npm bigger than 2/3 tnpm
What is "npm" here?
non-pawn material and total non-pawn material, I think SF has this in its code.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Gandalf cross

Post by Lyudmil Tsvetkov »

Good try is to see if this works only with closed center - d4-e5, e6-d5 pawns. Or, e4-d5, d6-e5 pawns for the c6 hotspot.

This might be a first indication if closed center is of any use for specific eval terms.

Of course, no one would like to be as specific..., but still, you never know.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Gandalf cross

Post by Lyudmil Tsvetkov »

[d][d]2rqnrk1/1b1nbp1p/p3p1p1/1p1pP1P1/1P1N1P2/P2B4/2P1N2P/R1BQ1RK1 w - - 0 17

OK, this is the pattern along which such hotspots should be recognised.

I think the condition white pawns on e5,g5, black pawns on e6,f7,g6 is unavoidable, those pawns might simply need to be specified.
Also, for an engine, closed center with white pawns on d4,e5 and black pawns on e6,d5 is unavoidable, as if the d files is open, black might have sufficient counterplay for the bind not to matter that much.

Black king on e7 and e8 might already be out of the danger zone, and even on f8, so I would specify the bonus only with conditions like, very strict:

- white pawns on d4,e5,g5, black pawns on d5,e6,f7,g6, black king on h8,g8,h7,g7

Now, looking at the above diagram, the center is not fully closed in the literal sense of the word, there is no white pawn on d4, but a knight instead. A human easily recognises that the d4 knight can not be removed from its blocking position and therefore the position can be counted as closed, but how will an engine be able to do so?
vincenegri
Posts: 73
Joined: Wed Feb 11, 2015 9:19 am

Re: Gandalf cross

Post by vincenegri »

Well here's your problem..

During local testing this position was obtained in one game by the engine with hotspot bonus:

[d]r1q2r1k/1bp1bp1p/1pn1p1p1/pB1pP1Pn/P2P3P/1NP1BN2/1P2QP2/R3K2R w KQ - 0 14

The position is just about perfect and should play itself, no? Put N on f6, open h-file, goodnight Vienna, as they say.

However hotspot-SF did not find this plan and while it did make efforts at K-side play, the game petered into a draw.
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: Gandalf cross

Post by cdani »

vincenegri wrote: [d]r1q2r1k/1bp1bp1p/1pn1p1p1/pB1pP1Pn/P2P3P/1NP1BN2/1P2QP2/R3K2R w KQ - 0 14

The position is just about perfect and should play itself, no? Put N on f6, open h-file, goodnight Vienna, as they say.

However hotspot-SF did not find this plan and while it did make efforts at K-side play, the game petered into a draw.
The engines are sooo far from playing well chess... I thinkg we will see incredible advances in the coming years, and I hope that will not be mainly by computer power.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Gandalf cross

Post by zullil »

vincenegri wrote:Well here's your problem..

During local testing this position was obtained in one game by the engine with hotspot bonus:

[d]r1q2r1k/1bp1bp1p/1pn1p1p1/pB1pP1Pn/P2P3P/1NP1BN2/1P2QP2/R3K2R w KQ - 0 14

The position is just about perfect and should play itself, no? Put N on f6, open h-file, goodnight Vienna, as they say.

However hotspot-SF did not find this plan and while it did make efforts at K-side play, the game petered into a draw.
Well, I tend to believe that most positions are draws with perfect play, but it's hard to believe this isn't a win for White. :wink:

Could you post the whole game, or at least the game from this position? Also, how deeply were the engines searching? I assume you were testing at very short time controls.
vincenegri
Posts: 73
Joined: Wed Feb 11, 2015 9:19 am

Re: Gandalf cross

Post by vincenegri »

Here's the whole game, which starts from a position in the SF 2-move book. It was a VSTC game, and that is really the point to be made. Quite possibly at a longer TC SF would play the attack better: but patches are tested at short time controls (how else can one get statistical significance?) and so what matters is what happens at these intermediate depths.

[Event "duel-hotspot3-test"]
[Site "?"]
[Date "2015.04.05"]
[Round "551"]
[White "time"]
[Black "master"]
[Result "1/2-1/2"]
[FEN "rnbqk1nr/pppp1ppp/4p3/8/1b4P1/3P4/PPP1PP1P/RNBQKBNR w KQkq - 0 1"]
[SetUp "1"]
[Termination "adjudication"]
[TimeControl "9+0.05"]

1.c3 { -0.26/13 0.62s } 1...Be7 { +0.25/14 0.52s } 2.Nf3 { -0.27/14 0.65s } 2...Nc6 { +0.11/14 0.46s } 3.e4 { -0.12/15 0.85s } 3...d5 { +0.26/14 0.44s } 4.Nbd2 { -0.10/13 0.36s } 4...Nf6 { +0.06/14 0.51s } 5.g5 { -0.05/14 0.34s } 5...Nh5 { +0.18/14 0.37s } 6.h4 { -0.09/14 0.40s } 6...O-O { +0.18/12 0.046s } 7.e5 { +0.31/14 0.55s } 7...Qe8 { -0.10/15 1.3s } 8.d4 { +0.15/14 0.28s } 8...Kh8 { -0.43/13 0.38s } 9.Nb3 { +0.44/14 0.44s } 9...a5 { -0.31/15 0.28s } 10.a4 { +0.45/11 0.035s } 10...b6 { -0.41/15 0.30s } 11.Bb5 { +0.53/15 0.82s } 11...Bb7 { -0.37/13 0.33s } 12.Qe2 { +0.68/14 0.28s } 12...Qc8 { -0.21/15 0.27s } 13.Be3 { +0.36/15 0.52s } 13...g6 { -0.17/13 0.22s } 14.O-O { +0.35/13 0.22s } 14...Ba6 { -0.13/16 0.22s } 15.Nbd2 { +0.29/14 0.48s } 15...Bxb5 { -0.03/14 0.36s } 16.Qxb5 { +0.17/15 0.53s } 16...Na7 { -0.10/16 1.3s } 17.Qb3 { +0.24/15 0.82s } 17...Ng7 { +0.02/13 0.14s } 18.Rfe1 { +0.14/13 0.12s } 18...Rb8 { +0.14/14 0.42s } 19.Nf1 { -0.01/12 0.33s } 19...c5 { +0.17/14 0.14s } 20.Qc2 { -0.08/13 0.47s } 20...Nc6 { +0.14/14 0.34s } 21.Ng3 { -0.04/14 0.14s } 21...Kg8 { +0.15/14 0.16s } 22.Kg2 { -0.05/13 0.27s } 22...Qb7 { +0.17/14 0.27s } 23.Qe2 { -0.01/14 0.24s } 23...Rbc8 { +0.20/13 0.20s } 24.Rh1 { +0.26/12 0.14s } 24...Ne8 { -0.06/14 0.96s } 25.h5 { +0.52/13 0.47s } 25...cxd4 { -0.39/13 0.37s } 26.Nxd4 { +0.64/13 0.28s } 26...Nxd4 { -0.52/13 0.23s } 27.Bxd4 { +0.72/13 0.15s } 27...Bc5 { -0.49/13 0.12s } 28.Rad1 { +0.72/13 0.26s } 28...Qe7 { -0.58/13 0.44s } 29.Qe3 { +0.74/13 0.27s } 29...Rb8 { -0.57/13 0.60s } 30.Qf4 { +0.72/12 0.23s } 30...Ng7 { -0.41/12 0.26s } 31.Rc1 { +0.50/13 0.53s } 31...Rfc8 { -0.15/14 0.62s } 32.Rh2 { +0.37/13 0.58s } 32...Bxd4 { -0.36/12 0.17s } 33.hxg6 { +0.18/13 0.28s } 33...Bxf2 { -0.10/11 0.11s } 34.gxf7+ { +0.17/10 0.085s } 34...Qxf7 { +0.19/12 0.15s } 35.Qxf7+ { +0.16/9 0.014s } 35...Kxf7 { +0.25/10 0.014s } 36.Kxf2 { -0.14/10 0.065s } 36...Rc4 { +0.16/12 0.086s } 37.Ne2 { -0.25/12 0.22s } 37...Rf8 { +0.30/12 0.22s } 38.Nd4 { -0.33/11 0.14s } 38...Kg8+ { +0.39/11 0.071s } 39.Kg2 { -0.62/12 0.13s } 39...Rxa4 { +0.43/12 0.13s } 40.Re1 { -0.25/13 0.18s } 40...b5 { +0.84/11 0.15s } 41.Rh6 { -0.61/11 0.088s } 41...b4 { +0.93/12 0.15s } 42.Re2 { -0.53/11 0.073s } 42...Rf4 { +0.57/11 0.070s } 43.Nxe6 { -0.41/11 0.057s } 43...Rg4+ { +0.52/11 0.053s } 44.Kf2 { -0.32/12 0.034s } 44...bxc3 { +0.27/10 0.041s } 45.bxc3 { -0.33/10 0.024s } 45...Nxe6 { +0.46/11 0.029s } 46.Rxe6 { -0.36/9 0.016s } 46...Rxg5 { +0.54/11 0.050s } 47.Ra6 { -0.34/10 0.056s } 47...Rf5+ { +0.62/12 0.050s } 48.Ke1 { -0.38/11 0.028s } 48...Ra1+ { +0.86/12 0.029s } 49.Kd2 { -1.18/1 0.002s } 49...Ra2+ { +0.83/12 0.018s } 50.Ke1 { -0.63/12 0.043s } 50...Rxe2+ { +0.85/12 0.041s } 51.Kxe2 { -0.80/11 0.014s } 51...Rxe5+ { +0.94/9 0.003s } 52.Kd3 { -0.90/12 0.031s } 52...h5 { +0.87/12 0.031s } 53.Kd4 { -0.85/13 0.023s } 53...Rf5 { +0.98/10 0.008s } 54.Rxa5 { -0.94/12 0.034s } 54...h4 { +0.27/11 0.050s } 55.c4 { -0.93/10 0.006s } 55...Rf4+ { +0.27/10 0.008s } 56.Ke3 { -0.94/13 0.045s } 56...Rxc4 { +0.10/12 0.030s } 57.Rxd5 { -0.50/10 0.023s } 57...Kg7 { +0.10/12 0.023s } 58.Kf3 { -0.12/11 0.038s } 58...Kg6 { +0.08/13 0.017s } 59.Rd3 { -0.09/12 0.017s } 59...Kf5 { +0.08/12 0.024s } 60.Rd5+ { -0.08/12 0.017s } 60...Kf6 { +0.06/13 0.023s } 61.Kg2 { -0.06/11 0.017s } 61...Rc3 { +0.06/12 0.023s } 62.Rh5 { -0.06/10 0.017s } 62...Rg3+ { +0.02/10 0.029s } 63.Kh2 { -0.04/10 0.018s } 63...Ke6 { +0.01/11 0.040s } 64.Rxh4 { -0.03/10 0.017s } 64...Rg7 { +0.02/11 0.029s } 65.Rh5 { -0.02/11 0.039s, Draw by adjudication } 1/2-1/2
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Gandalf cross

Post by zullil »

vincenegri wrote:Here's the whole game, which starts from a position in the SF 2-move book. It was a VSTC game, and that is really the point to be made. Quite possibly at a longer TC SF would play the attack better: but patches are tested at short time controls (how else can one get statistical significance?) and so what matters is what happens at these intermediate depths.
[pgn]
[Event "duel-hotspot3-test"]
[Site "?"]
[Date "2015.04.05"]
[Round "551"]
[White "time"]
[Black "master"]
[Result "1/2-1/2"]
[FEN "rnbqk1nr/pppp1ppp/4p3/8/1b4P1/3P4/PPP1PP1P/RNBQKBNR w KQkq - 0 1"]
[SetUp "1"]
[Termination "adjudication"]
[TimeControl "9+0.05"]

1.c3 { -0.26/13 0.62s } 1...Be7 { +0.25/14 0.52s } 2.Nf3 { -0.27/14 0.65s } 2...Nc6 { +0.11/14 0.46s } 3.e4 { -0.12/15 0.85s } 3...d5 { +0.26/14 0.44s } 4.Nbd2 { -0.10/13 0.36s } 4...Nf6 { +0.06/14 0.51s } 5.g5 { -0.05/14 0.34s } 5...Nh5 { +0.18/14 0.37s } 6.h4 { -0.09/14 0.40s } 6...O-O { +0.18/12 0.046s } 7.e5 { +0.31/14 0.55s } 7...Qe8 { -0.10/15 1.3s } 8.d4 { +0.15/14 0.28s } 8...Kh8 { -0.43/13 0.38s } 9.Nb3 { +0.44/14 0.44s } 9...a5 { -0.31/15 0.28s } 10.a4 { +0.45/11 0.035s } 10...b6 { -0.41/15 0.30s } 11.Bb5 { +0.53/15 0.82s } 11...Bb7 { -0.37/13 0.33s } 12.Qe2 { +0.68/14 0.28s } 12...Qc8 { -0.21/15 0.27s } 13.Be3 { +0.36/15 0.52s } 13...g6 { -0.17/13 0.22s } 14.O-O { +0.35/13 0.22s } 14...Ba6 { -0.13/16 0.22s } 15.Nbd2 { +0.29/14 0.48s } 15...Bxb5 { -0.03/14 0.36s } 16.Qxb5 { +0.17/15 0.53s } 16...Na7 { -0.10/16 1.3s } 17.Qb3 { +0.24/15 0.82s } 17...Ng7 { +0.02/13 0.14s } 18.Rfe1 { +0.14/13 0.12s } 18...Rb8 { +0.14/14 0.42s } 19.Nf1 { -0.01/12 0.33s } 19...c5 { +0.17/14 0.14s } 20.Qc2 { -0.08/13 0.47s } 20...Nc6 { +0.14/14 0.34s } 21.Ng3 { -0.04/14 0.14s } 21...Kg8 { +0.15/14 0.16s } 22.Kg2 { -0.05/13 0.27s } 22...Qb7 { +0.17/14 0.27s } 23.Qe2 { -0.01/14 0.24s } 23...Rbc8 { +0.20/13 0.20s } 24.Rh1 { +0.26/12 0.14s } 24...Ne8 { -0.06/14 0.96s } 25.h5 { +0.52/13 0.47s } 25...cxd4 { -0.39/13 0.37s } 26.Nxd4 { +0.64/13 0.28s } 26...Nxd4 { -0.52/13 0.23s } 27.Bxd4 { +0.72/13 0.15s } 27...Bc5 { -0.49/13 0.12s } 28.Rad1 { +0.72/13 0.26s } 28...Qe7 { -0.58/13 0.44s } 29.Qe3 { +0.74/13 0.27s } 29...Rb8 { -0.57/13 0.60s } 30.Qf4 { +0.72/12 0.23s } 30...Ng7 { -0.41/12 0.26s } 31.Rc1 { +0.50/13 0.53s } 31...Rfc8 { -0.15/14 0.62s } 32.Rh2 { +0.37/13 0.58s } 32...Bxd4 { -0.36/12 0.17s } 33.hxg6 { +0.18/13 0.28s } 33...Bxf2 { -0.10/11 0.11s } 34.gxf7+ { +0.17/10 0.085s } 34...Qxf7 { +0.19/12 0.15s } 35.Qxf7+ { +0.16/9 0.014s } 35...Kxf7 { +0.25/10 0.014s } 36.Kxf2 { -0.14/10 0.065s } 36...Rc4 { +0.16/12 0.086s } 37.Ne2 { -0.25/12 0.22s } 37...Rf8 { +0.30/12 0.22s } 38.Nd4 { -0.33/11 0.14s } 38...Kg8+ { +0.39/11 0.071s } 39.Kg2 { -0.62/12 0.13s } 39...Rxa4 { +0.43/12 0.13s } 40.Re1 { -0.25/13 0.18s } 40...b5 { +0.84/11 0.15s } 41.Rh6 { -0.61/11 0.088s } 41...b4 { +0.93/12 0.15s } 42.Re2 { -0.53/11 0.073s } 42...Rf4 { +0.57/11 0.070s } 43.Nxe6 { -0.41/11 0.057s } 43...Rg4+ { +0.52/11 0.053s } 44.Kf2 { -0.32/12 0.034s } 44...bxc3 { +0.27/10 0.041s } 45.bxc3 { -0.33/10 0.024s } 45...Nxe6 { +0.46/11 0.029s } 46.Rxe6 { -0.36/9 0.016s } 46...Rxg5 { +0.54/11 0.050s } 47.Ra6 { -0.34/10 0.056s } 47...Rf5+ { +0.62/12 0.050s } 48.Ke1 { -0.38/11 0.028s } 48...Ra1+ { +0.86/12 0.029s } 49.Kd2 { -1.18/1 0.002s } 49...Ra2+ { +0.83/12 0.018s } 50.Ke1 { -0.63/12 0.043s } 50...Rxe2+ { +0.85/12 0.041s } 51.Kxe2 { -0.80/11 0.014s } 51...Rxe5+ { +0.94/9 0.003s } 52.Kd3 { -0.90/12 0.031s } 52...h5 { +0.87/12 0.031s } 53.Kd4 { -0.85/13 0.023s } 53...Rf5 { +0.98/10 0.008s } 54.Rxa5 { -0.94/12 0.034s } 54...h4 { +0.27/11 0.050s } 55.c4 { -0.93/10 0.006s } 55...Rf4+ { +0.27/10 0.008s } 56.Ke3 { -0.94/13 0.045s } 56...Rxc4 { +0.10/12 0.030s } 57.Rxd5 { -0.50/10 0.023s } 57...Kg7 { +0.10/12 0.023s } 58.Kf3 { -0.12/11 0.038s } 58...Kg6 { +0.08/13 0.017s } 59.Rd3 { -0.09/12 0.017s } 59...Kf5 { +0.08/12 0.024s } 60.Rd5+ { -0.08/12 0.017s } 60...Kf6 { +0.06/13 0.023s } 61.Kg2 { -0.06/11 0.017s } 61...Rc3 { +0.06/12 0.023s } 62.Rh5 { -0.06/10 0.017s } 62...Rg3+ { +0.02/10 0.029s } 63.Kh2 { -0.04/10 0.018s } 63...Ke6 { +0.01/11 0.040s } 64.Rxh4 { -0.03/10 0.017s } 64...Rg7 { +0.02/11 0.029s } 65.Rh5 { -0.02/11 0.039s, Draw by adjudication } 1/2-1/2
[/pgn]
Fishtest has been a terrific asset in the development of SF. Yet what it has generated is an engine optimized to play against itself at extremely short time controls. One wonders how many evaluation patches fail because SF lacks sufficient time for its search to find the path to a win---patches that might have improved the engine's play at traditional chess time controls, or made it more useful for analysis.

In any case, thanks.

[EDIT] 14. O-O makes my point. Here's what SF "plans" after a real search:

Code: Select all

info depth 43 seldepth 55 multipv 1 score cp 24 nodes 15156824762 nps 21011107 hashfull 999 tbhits 0 time 721372 pv e2c2 c6a7 b5e2 b7a6 f3h2 a6e2 c2e2 c7c5 h2g4 a7c6 g4f6 e7f6 g5f6 c8c7 a1c1 c7d7 c1a1 d7c7 e1g1 c6e5 d4e5 c7e5 e2f3 e5f6 f3f6 h5f6 f1e1 f8e8 a1d1 f6h5 e3h6 h5g7 h6g5 g7h5 b3a1 h8g7 a1c2 f7f6 g5d2 a8d8 g1g2 e6e5 c2a3 g7f7 a3b5 h5g7 b5c7 e8e7