Hi... I'm working on engine research

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

Moderator: Ras

Uri Blass
Posts: 11135
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Hi... I'm working on engine research

Post by Uri Blass »

syzygy wrote: Fri Jan 02, 2026 8:16 pm
Joerg Oster wrote: Fri Jan 02, 2026 3:58 pm
syzygy wrote: Fri Jan 02, 2026 3:41 pm
Uri Blass wrote: Thu Jan 01, 2026 12:10 pmFor me different things are important and I would like to buy an engine that can force mate with a smaller number of moves in games with odds.
Stockfish is not the best and old Wasp can mate faster against stockfish in all my queen odds tests.
To make SF convert a clearly won game into mate more quickly one could probably train a dedicated NNUE network.
Why do you think this is a matter of the NNUE net and not of the search?
Just curious.
I am assuming this is not about actually finding the (shortest) mate but about more efficiently converting an easily won game into mate. So this is not about, say, disabling certain pruning techniques that cause SF to do a bit worse on mate finding but about generally giving higher evaluations to positions that are closer to mate. (At least this is how I understand Uri's observations.)

Perhaps there are search parameters in SF that are badly tuned for already decided positions, but that seems less likely than its evaluation not having been tuned to distinguish between 100% won positions on the basis of the remaining number of moves to actual mate.

Perhaps Uri could explain what SF is doing "wrong" in chess terms. Should SF just start simplifying the position into a trivially won endgame (which is what most humans would do but does not necessarily result in the actual fastest mate) or should SF try to force a quick mate while still in the middle game? I suppose it is the former?

SF does not know to trade when it is has a big advantage because of bad evaluation

It was more clear with some earlier versions but it is also correct for new stockfish.

[d]1nb1kbn1/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQ - 0 1

Stockfish_26010115_x64_avx2:
Available processors: 0-7
Using 1 thread
NNUE evaluation using nn-c288c895ea92.nnue (125MiB, (102384, 1024, 15, 32, 1))
NNUE evaluation using nn-37f18f62d772.nnue (6MiB, (22528, 128, 15, 32, 1))
Network replica 1: Shared memory.
1/2 00:00 20 20k +7.00 Nb1-c3
2/3 00:00 45 45k +10.65 Nb1-c3 a7-a6
3/4 00:00 70 70k +10.59 Nb1-c3 a7-a6 a2-a3
4/5 00:00 95 95k +10.55 Nb1-c3 e7-e6
5/6 00:00 132 132k +10.08 Nb1-c3 e7-e6 Nc3-b1 e6-e5 Nb1-c3
6/8 00:00 164 164k +10.53 Nb1-c3 e7-e6 Nc3-b1 a7-a5
7/8 00:00 270 270k +10.01 Nb1-c3 e7-e6 Nc3-b5
8/11 00:00 736 736k +9.84 Nb1-c3 Ng8-f6 Ng1-f3 Nb8-c6 Nc3-b5 Nc6-b4 Nb5xc7+ Ke8-d8
9/11 00:00 966 966k +9.71 Nb1-c3 Ng8-f6 Ng1-f3 Nb8-c6 Nc3-b5 Nc6-b4 Nb5xc7+ Ke8-d8 Nf3-d4
10/15 00:00 2k 914k +9.70 Nb1-c3 Ng8-f6 Ng1-f3 Nb8-c6 Nc3-b5 Nc6-b4 d2-d4 Nf6-g4 Qd1-d2
11/17 00:00 4k 1,314k +10.06 Nb1-c3 Ng8-f6 Ng1-f3 Nb8-c6 Nc3-b5 Nc6-b4 c2-c3 Nf6-e4 Nb5xc7+ Ke8-d8 c3xb4 Kd8xc7
12/18 00:00 7k 1,344k +10.07 Nb1-c3 Nb8-c6 Nc3-b5 Ng8-f6 c2-c3 Nf6-e4 Ng1-h3 d7-d5 Nb5xc7+ Ke8-d8 Nc7xd5 Bc8xh3 g2xh3 Kd8-d7 d2-d3
13/16 00:00 10k 1,025k +9.81 Nb1-c3 Ng8-f6 f2-f3 Nb8-c6 e2-e3 e7-e5 Bf1-e2 d7-d5
14/20 00:00 25k 1,250k +9.82 Nb1-c3 Nb8-c6 e2-e3 e7-e5 d2-d4 Nc6-b4 Qd1-d2
15/18 00:00 46k 1,285k +10.01 Nb1-c3 Nb8-c6 b2-b3 Ng8-f6 f2-f3 Nc6-d4
16/22 00:00 104k 1,339k +9.81 b2-b3 Ng8-f6 e2-e3 Nb8-c6 Bc1-b2 e7-e5 f2-f3 e5-e4 Qd1-c1
17/23 00:00 268k 1,418k +9.74 b2-b3 d7-d5 Bc1-b2 e7-e5 Qd1-c1 Ng8-f6 f2-f3 d5-d4 g2-g3 Nb8-c6 Bf1-h3 d4-d3 e2xd3
18/25 00:00 528k 1,449k +9.83 f2-f3 Ng8-f6 c2-c3 Nb8-c6 Qd1-c2 e7-e5 Nb1-a3 a7-a6 b2-b4 b7-b5 Bc1-b2 d7-d5 Qc2-b1 e5-e4


After removing knights I do not see that the evaluation at small depths is bigger.
[d]2b1kb2/pppppppp/8/8/8/8/PPPPPPPP/R1BQKB1R w KQ - 0 1

Stockfish_26010115_x64_avx2:
Available processors: 0-7
Using 1 thread
NNUE evaluation using nn-c288c895ea92.nnue (125MiB, (102384, 1024, 15, 32, 1))
NNUE evaluation using nn-37f18f62d772.nnue (6MiB, (22528, 128, 15, 32, 1))
Network replica 1: Shared memory.
1/2 00:00 18 18k +7.28 Ra1-b1
2/3 00:00 41 41k +10.08 Ra1-b1 b7-b6
3/4 00:00 118 118k +9.93 Ra1-b1 c7-c6 h2-h4
4/5 00:00 146 146k +9.72 Ra1-b1 e7-e6
5/8 00:00 181 181k +9.63 Ra1-b1 e7-e6 d2-d4 f7-f6 a2-a3
6/8 00:00 228 228k +9.81 Ra1-b1 b7-b5 a2-a3 e7-e6
7/8 00:00 353 353k +9.42 Ra1-b1 b7-b5 a2-a3 e7-e6 d2-d4
8/12 00:00 603 603k +9.41 Ra1-b1 c7-c6 h2-h4 e7-e5 b2-b4 b7-b5
9/12 00:00 1k 1,002k +9.53 Ra1-b1 c7-c6 b2-b4 e7-e5 Bc1-b2 Bf8xb4 Qd1-c1
10/16 00:00 2k 814k +9.54 Ra1-b1 e7-e5 b2-b4 Bf8xb4 Bc1-b2 b7-b6 Qd1-c1
11/12 00:00 2k 791k +9.25 Ra1-b1 e7-e5 b2-b3 b7-b6 Bc1-b2 Bc8-b7 Bb2xe5 Bb7-a6
12/16 00:00 4k 881k +9.25 Ra1-b1 e7-e5 b2-b3 d7-d5 Bc1-b2 Bc8-f5 Bb2xe5 Bf8-b4 Qd1-c1 Ke8-d7 Qc1-b2 Kd7-c8 Be5xg7
13/20 00:00 12k 1,165k +9.42 Ra1-b1 d7-d5 b2-b4 d5-d4 Rb1-b3 f7-f5
14/18 00:00 15k 1,171k +9.63 b2-b4 e7-e5 Bc1-b2 e5-e4 Qd1-c1 e4-e3 f2xe3 d7-d5 h2-h4 Bc8-f5
15/20 00:00 20k 1,234k +9.81 b2-b4 e7-e5 Bc1-b2 e5-e4 Qd1-c1 e4-e3 f2xe3 d7-d5 Bb2-d4 h7-h6 a2-a3
16/22 00:00 37k 1,233k +9.78 b2-b4 e7-e5 Bc1-b2 e5-e4 Qd1-b1 f7-f5 a2-a3 d7-d5 Bb2-d4 c7-c5 b4xc5
17/28 00:00 156k 1,383k +9.70 b2-b4 e7-e5 Bc1-b2 e5-e4 Qd1-b1 c7-c5 b4xc5 Bf8xc5 e2-e3 d7-d5 Bb2xg7 Bc8-f5 Qb1-b5+ Bf5-d7
18/32 00:00 541k 1,455k +9.68 b2-b4 e7-e5 Bc1-b2 f7-f6 c2-c4 Ke8-d8 c4-c5 d7-d6 Qd1-b3 d6xc5 Ra1-c1 c5xb4 f2-f3 Bf8-d6


For comparison old Wasp
[d]1nb1kbn1/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQ - 0 1

Wasp450-x64-modern:
setting search and eval params...
2/2 00:00 42 0 +22.03 e2-e3 e7-e6
3/3 00:00 123 0 +22.24 e2-e3 e7-e6 Nb1-c3
4/5 00:00 289 0 +22.11 e2-e3 e7-e6 Nb1-c3 Ng8-f6
5/8 00:00 1k 0 +22.47 e2-e3 c7-c6 d2-d4 d7-d6 Ng1-f3
6/9 00:00 2k 876k +22.24 e2-e3 c7-c6 d2-d4 d7-d6 Ng1-f3 Bc8-g4
6/10 00:00 4k 1,797k +22.26 d2-d3 Ng8-f6 c2-c3 e7-e5 Ng1-f3 e5-e4 d3xe4 Nf6xe4
6/10 00:00 5k 2,122k +22.39 e2-e4 e7-e6 Nb1-c3 b7-b6 d2-d4 Bf8-b4
7/12 00:00 7k 1,584k +22.72 e2-e4 e7-e6 Nb1-c3 Nb8-c6 d2-d4 Bf8-b4 d4-d5
8/15 00:00 11k 1,693k +22.65 e2-e4 c7-c6 Nb1-c3 d7-d6 d2-d4 e7-e5 Ng1-f3 Bc8-g4 d4xe5 d6xe5
9/15 00:00 20k 1,781k +22.71 e2-e4 c7-c6 Ng1-f3 d7-d6 d2-d4 g7-g6 Nb1-c3 Bf8-g7 e4-e5
10/18 00:00 52k 1,580k +22.76 e2-e4 d7-d6 d2-d4 c7-c6 Nb1-c3 b7-b5 a2-a3 Ng8-f6 e4-e5 Nf6-g4
11/18 00:00 89k 1,571k +22.90 e2-e4 d7-d6 d2-d4 g7-g6 Ng1-f3 Bf8-g7 c2-c3 c7-c6 h2-h3 h7-h5 a2-a4
12/20 00:00 128k 1,598k +22.84 e2-e4 d7-d6 Nb1-c3 c7-c6 Ng1-f3 g7-g6 d2-d3 Bf8-g7 Bc1-e3 b7-b5 Be3xa7 Nb8-d7
13/21 00:00 232k 1,637k +22.99 e2-e4 d7-d6 Nb1-c3 c7-c6 Ng1-f3 g7-g6 d2-d4 Bf8-g7 e4-e5 b7-b5 a2-a3 d6xe5 d4xe5
14/24 00:00 492k 1,652k +22.95 e2-e4 d7-d6 d2-d4 e7-e6 Ng1-f3 h7-h6 d4-d5 a7-a6 c2-c4 c7-c6 Nb1-c3 Ng8-f6 e4-e5 d6xe5 Nf3xe5 e6xd5 c4xd5
15/24 00:00 812k 1,653k +23.07 e2-e4 d7-d6 d2-d4 e7-e6 Ng1-f3 h7-h6 Bc1-e3 c7-c6 Nb1-c3 Ng8-f6 e4-e5 Nf6-g4 Nc3-e4 Ng4xe3 f2xe3 d6xe5 d4xe5
16/25 00:00 975k 1,642k +23.07 e2-e4 d7-d6 d2-d4 e7-e6 Ng1-f3 h7-h6 Bc1-e3 c7-c6 Nb1-c3 Ng8-f6 e4-e5 Nf6-g4 Nc3-e4 Ng4xe3 f2xe3 d6xe5 d4xe5
17/26 00:01 2,348k 1,649k +23.13 e2-e4 e7-e6 Ng1-f3 h7-h6 d2-d4 d7-d6 h2-h3 Ng8-e7 Bc1-e3 a7-a6 c2-c4 Ke8-d8 Nb1-c3 g7-g5 d4-d5 Ne7-g6 Qd1-a4
18/29 00:03 5,237k 1,666k +23.19 e2-e4 d7-d6 d2-d4 a7-a6 Ng1-f3 h7-h6 c2-c4 e7-e6 Nb1-c3 Ke8-d8 h2-h3 g7-g5 c4-c5 Ng8-e7 c5xd6 c7xd6 Qd1-b3 Nb8-d7

After removing knights evaluation is clearly higher.
[d]2b1kb2/pppppppp/8/8/8/8/PPPPPPPP/R1BQKB1R w KQ - 0 1

Wasp450-x64-modern:
2/2 00:00 36 35k +23.62 e2-e3 e7-e6
3/7 00:00 130 128k +23.97 e2-e3 e7-e6 Qd1-h5
3/7 00:00 223 219k +24.13 e2-e4 e7-e6 d2-d4
4/7 00:00 366 360k +24.03 e2-e4 e7-e6 d2-d4 b7-b6
5/8 00:00 719 708k +24.38 e2-e4 e7-e6 d2-d4 h7-h6 Qd1-f3
6/8 00:00 1k 1,151k +24.29 e2-e4 e7-e6 d2-d4 h7-h6 Qd1-f3 b7-b6
7/10 00:00 3k 2,492k +24.31 e2-e4 e7-e6 d2-d4 b7-b6 Bc1-f4 Bc8-b7 Qd1-f3
8/14 00:00 4k 1,332k +24.32 e2-e4 e7-e6 d2-d4 b7-b6 Bc1-f4 c7-c6 h2-h4 Bf8-e7
9/14 00:00 10k 1,332k +24.28 e2-e4 e7-e6 d2-d4 c7-c6 Bc1-f4 h7-h6 h2-h4 d7-d5 e4xd5 e6xd5
10/18 00:00 27k 1,443k +24.34 e2-e4 e7-e6 d2-d4 h7-h6 c2-c3 c7-c6 Bc1-f4 d7-d5 e4xd5 e6xd5 Qd1-e2+ Ke8-d8
11/18 00:00 65k 1,308k +24.16 e2-e4 g7-g6 d2-d4 c7-c6 Qd1-f3 Bf8-g7 Bf1-c4 d7-d5 e4xd5 b7-b5 Bc4-e2
11/19 00:00 99k 1,303k +24.34 c2-c3 g7-g6 d2-d4 a7-a6 e2-e4 d7-d6 h2-h3 c7-c6 Qd1-b3 Bf8-g7 Bf1-c4
12/22 00:00 116k 1,299k +24.27 c2-c3 g7-g6 d2-d4 a7-a6 e2-e4 d7-d6 Bf1-d3 c7-c6 O-O Bf8-g7 Qd1-b3 b7-b5
13/22 00:00 163k 1,282k +24.30 c2-c3 g7-g6 d2-d4 a7-a6 e2-e4 d7-d6 Bf1-d3 c7-c6 Qd1-f3 Bf8-g7 O-O Bc8-e6 d4-d5 c6xd5 e4xd5
14/22 00:00 369k 1,368k +24.46 c2-c3 e7-e6 d2-d4 a7-a6 Bc1-f4 d7-d6 h2-h4 Bf8-e7 e2-e4 Bc8-d7 Qd1-b3 Bd7-c6 d4-d5 e6xd5 e4xd5
15/22 00:00 452k 1,375k +24.46 c2-c3 e7-e6 d2-d4 a7-a6 Bc1-f4 d7-d6 h2-h4 Bf8-e7 e2-e4 Bc8-d7 Qd1-b3 Bd7-c6 d4-d5 e6xd5 e4xd5
16/24 00:00 872k 1,401k +24.59 c2-c3 h7-h6 d2-d4 a7-a6 e2-e4 d7-d6 Bf1-d3 g7-g6 O-O Bf8-g7 Bc1-e3 c7-c6 f2-f4 Bc8-d7 Qd1-b3 b7-b5
17/25 00:00 1,139k 1,413k +24.60 c2-c3 e7-e6 d2-d4 a7-a6 e2-e4 d7-d6 h2-h4 Bc8-d7 Bc1-f4 Bf8-e7 Qd1-b3 Bd7-c8 Bf1-e2 h7-h6 a2-a4 Ke8-f8 Ke1-d2
18/25 00:01 1,547k 1,464k +24.68 c2-c3 e7-e6 d2-d4 a7-a6 e2-e4 d7-d6 h2-h4 h7-h6 Bc1-f4 Bf8-e7 Qd1-g4 Ke8-f8 Bf1-d3 Bc8-d7 O-O Bd7-c6 Ra1-e1 Kf8-g8
syzygy
Posts: 5824
Joined: Tue Feb 28, 2012 11:56 pm

Re: Hi... I'm working on engine research

Post by syzygy »

Uri Blass wrote: Fri Jan 02, 2026 10:15 pmSF does not know to trade when it is has a big advantage because of bad evaluation
Then I understood you indeed correctly.

So this is an evaluation issue.
Perhaps a trading bonus can be added to NNUE eval in evaluate().

Perhaps I am misreading, but it seems at the moment there is anti-trading bonus:

Code: Select all

    int material = 534 * pos.count<PAWN>() + pos.non_pawn_material();
    int v        = (nnue * (77871 + material) + optimism * (7191 + material)) / 77871;
If nnue > 0, a higher "material" value will increase the returned score.
Joerg Oster
Posts: 990
Joined: Fri Mar 10, 2006 4:29 pm
Location: Germany
Full name: Jörg Oster

Re: Hi... I'm working on engine research

Post by Joerg Oster »

syzygy wrote: Fri Jan 02, 2026 10:04 pm
Joerg Oster wrote: Fri Jan 02, 2026 9:40 pmNo, SF doesn't make this distinction, neither during training of the net nor in the eval provided by the net. Afaik this is.
I'm afraid, this is in fact only a matter of the search.
If the evaluation is not tuned to give higher evaluations to 100% winning positions that are closer to mate than other 100% winning positions, then how can the search know how to make progress? Of course SF's search is good enough that it will essentially always convert a 100% winning position eventually, but this could be the reason why current SF is perhaps worse at converting than the old HCE versions. (I'm not saying it is worse, I'm just trying to explain Uri's observations.) This is not a search issue, i.e. there is nothing in the search code that could improve this.

(If I misunderstand Uri's observation and the observed problem is simply that SF less often reports the shortest mate than other engines, then this would very likely be a search issue. But solving it would cost Elo. I believe there are already enough SF forks that address this to improve mate finding at the cost of general playing strength, and people can use those forks.)
I get your point. Thanks.
Jörg Oster
syzygy
Posts: 5824
Joined: Tue Feb 28, 2012 11:56 pm

Re: Hi... I'm working on engine research

Post by syzygy »

Joerg Oster wrote: Fri Jan 02, 2026 11:47 pm
syzygy wrote: Fri Jan 02, 2026 10:04 pm
Joerg Oster wrote: Fri Jan 02, 2026 9:40 pmNo, SF doesn't make this distinction, neither during training of the net nor in the eval provided by the net. Afaik this is.
I'm afraid, this is in fact only a matter of the search.
If the evaluation is not tuned to give higher evaluations to 100% winning positions that are closer to mate than other 100% winning positions, then how can the search know how to make progress? Of course SF's search is good enough that it will essentially always convert a 100% winning position eventually, but this could be the reason why current SF is perhaps worse at converting than the old HCE versions. (I'm not saying it is worse, I'm just trying to explain Uri's observations.) This is not a search issue, i.e. there is nothing in the search code that could improve this.

(If I misunderstand Uri's observation and the observed problem is simply that SF less often reports the shortest mate than other engines, then this would very likely be a search issue. But solving it would cost Elo. I believe there are already enough SF forks that address this to improve mate finding at the cost of general playing strength, and people can use those forks.)
I get your point. Thanks.
You're welcome :-)
So in view of the "anti-trading bonus", it seems this isn't necessarily a problem of how the NNUE net is trained, or at least it seems it could be worked around by tweaking that bonus. But I guess this is not so easy to get through fishtest...

I understand that the bonus is there to keep the position complicated, which is generally good for SF. But once the position is clearly won, it is probably time to simplify.
FireDragon761138
Posts: 16
Joined: Sun Dec 28, 2025 7:25 am
Full name: Aaron Munn

Re: Hi... I'm working on engine research

Post by FireDragon761138 »

syzygy wrote: Fri Jan 02, 2026 3:41 pm
Uri Blass wrote: Thu Jan 01, 2026 12:10 pmFor me different things are important and I would like to buy an engine that can force mate with a smaller number of moves in games with odds.
Stockfish is not the best and old Wasp can mate faster against stockfish in all my queen odds tests.
To make SF convert a clearly won game into mate more quickly one could probably train a dedicated NNUE network.
It should be doable although I suspect it would be weaker when pitted against SF 17.1. You'ld be looking at something that values aggressive play.
Uri Blass
Posts: 11135
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Hi... I'm working on engine research

Post by Uri Blass »

FireDragon761138 wrote: Sat Jan 03, 2026 4:33 am
syzygy wrote: Fri Jan 02, 2026 3:41 pm
Uri Blass wrote: Thu Jan 01, 2026 12:10 pmFor me different things are important and I would like to buy an engine that can force mate with a smaller number of moves in games with odds.
Stockfish is not the best and old Wasp can mate faster against stockfish in all my queen odds tests.
To make SF convert a clearly won game into mate more quickly one could probably train a dedicated NNUE network.
It should be doable although I suspect it would be weaker when pitted against SF 17.1. You'ld be looking at something that values aggressive play.
The problem is also that stockfish for some reason is not materialistic and sacrificing pawns in games with queen odds in both sides when it seems that being more materialistic is the correct way to mate faster.

There are positions when stockfish is slower in finding a relatively short mate but I guess that the reason is bad evaluation.
I will post later positions from the games of it against wasp when latest stockfish is bad.
Uri Blass
Posts: 11135
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Hi... I'm working on engine research

Post by Uri Blass »

Some mistakes of stockfish in my queen handicap games

[d]rn1qkbnr/ppp1pppp/8/3p1bB1/3P4/8/PPP1PPPP/RN2KBNR w KQkq - 2 3 am Nc3 bm c3

Latest stockfish blundered a pawn by Nc3 when c3 is correct.

[d]rn1qkb1r/ppp1pppp/5nb1/3p2B1/3P3P/2N5/PP2PPP1/2R1KBNR w Kkq - 1 6 am h5

[d]rn1qkb1r/pp2pppp/2p3b1/3p2Bn/3P4/2N2N2/PP2PPP1/2R1KB1R w Kkq - 0 8 am e4

[d]r6r/pp2k1pp/4pnp1/Pq5n/4p3/4P3/1P4P1/3R1RK1 w - - 0 20

Latest stockfish played Rfe1 when it is possible to delay mate by one more moves by a pawn move Rd2 Rd4 Rf2 Rde1,Ra1,Rb1,Rc1
FireDragon761138
Posts: 16
Joined: Sun Dec 28, 2025 7:25 am
Full name: Aaron Munn

Re: Hi... I'm working on engine research

Post by FireDragon761138 »

Uri Blass wrote: Sat Jan 03, 2026 10:16 am Some mistakes of stockfish in my queen handicap games

[d]rn1qkbnr/ppp1pppp/8/3p1bB1/3P4/8/PPP1PPPP/RN2KBNR w KQkq - 2 3 am Nc3 bm c3

Latest stockfish blundered a pawn by Nc3 when c3 is correct.

[d]rn1qkb1r/ppp1pppp/5nb1/3p2B1/3P3P/2N5/PP2PPP1/2R1KBNR w Kkq - 1 6 am h5

[d]rn1qkb1r/pp2pppp/2p3b1/3p2Bn/3P4/2N2N2/PP2PPP1/2R1KB1R w Kkq - 0 8 am e4

[d]r6r/pp2k1pp/4pnp1/Pq5n/4p3/4P3/1P4P1/3R1RK1 w - - 0 20

Latest stockfish played Rfe1 when it is possible to delay mate by one more moves by a pawn move Rd2 Rd4 Rf2 Rde1,Ra1,Rb1,Rc1
Those could be training artifacts, or just things missed due to the way Stockfish's pruning works.
Uri Blass
Posts: 11135
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Hi... I'm working on engine research

Post by Uri Blass »

FireDragon761138 wrote: Sun Jan 04, 2026 7:15 am
Uri Blass wrote: Sat Jan 03, 2026 10:16 am Some mistakes of stockfish in my queen handicap games

[d]rn1qkbnr/ppp1pppp/8/3p1bB1/3P4/8/PPP1PPPP/RN2KBNR w KQkq - 2 3 am Nc3 bm c3

Latest stockfish blundered a pawn by Nc3 when c3 is correct.

[d]rn1qkb1r/ppp1pppp/5nb1/3p2B1/3P3P/2N5/PP2PPP1/2R1KBNR w Kkq - 1 6 am h5

[d]rn1qkb1r/pp2pppp/2p3b1/3p2Bn/3P4/2N2N2/PP2PPP1/2R1KB1R w Kkq - 0 8 am e4

[d]r6r/pp2k1pp/4pnp1/Pq5n/4p3/4P3/1P4P1/3R1RK1 w - - 0 20

Latest stockfish played Rfe1 when it is possible to delay mate by one more moves by a pawn move Rd2 Rd4 Rf2 Rde1,Ra1,Rb1,Rc1
Those could be training artifacts, or just things missed due to the way Stockfish's pruning works.
No.
At least the first cases of sacrificing pawns is related to stockfish's bad evaluation.
The last case of the mate is also probably about evaluation because stockfish does not see the mate in a reasonable time probably because of null move pruning that can be different with a different evaluation.
FireDragon761138
Posts: 16
Joined: Sun Dec 28, 2025 7:25 am
Full name: Aaron Munn

Re: Hi... I'm working on engine research

Post by FireDragon761138 »

Uri Blass wrote: Sun Jan 04, 2026 7:39 am
FireDragon761138 wrote: Sun Jan 04, 2026 7:15 am
Uri Blass wrote: Sat Jan 03, 2026 10:16 am Some mistakes of stockfish in my queen handicap games

[d]rn1qkbnr/ppp1pppp/8/3p1bB1/3P4/8/PPP1PPPP/RN2KBNR w KQkq - 2 3 am Nc3 bm c3

Latest stockfish blundered a pawn by Nc3 when c3 is correct.

[d]rn1qkb1r/ppp1pppp/5nb1/3p2B1/3P3P/2N5/PP2PPP1/2R1KBNR w Kkq - 1 6 am h5

[d]rn1qkb1r/pp2pppp/2p3b1/3p2Bn/3P4/2N2N2/PP2PPP1/2R1KB1R w Kkq - 0 8 am e4

[d]r6r/pp2k1pp/4pnp1/Pq5n/4p3/4P3/1P4P1/3R1RK1 w - - 0 20

Latest stockfish played Rfe1 when it is possible to delay mate by one more moves by a pawn move Rd2 Rd4 Rf2 Rde1,Ra1,Rb1,Rc1
Those could be training artifacts, or just things missed due to the way Stockfish's pruning works.
No.
At least the first cases of sacrificing pawns is related to stockfish's bad evaluation.
The last case of the mate is also probably about evaluation because stockfish does not see the mate in a reasonable time probably because of null move pruning that can be different with a different evaluation.
It looks like white ignores the immediate threat to capture in favor of development (because of the greater tactical activity of the knight vs. the pawn?). As if it doesn't seem the strategic value of the pawn.

I ran the first FEN through my own project and it seems Nc3 and C4 as close in score, with C4 being considered once in a while for a few times, then Nc3, but eventually settles on C4 as the correct move, by about 25 centipawns.

There's only so much that can be done with a small NNUE. It encodes only the most superficial aspects of strategic features, with nonlinearities being stripped out. The best I can hope for in my own project is to get something that's transparent and imitative of a more complex network.

I can tell you, researching how Stockfish works, that it uses a second NNUE to evaluate materially simple positions, and being down a queen triggers the simpler, faster network to activate. But I ran several other engines, including Obsidian (very Lc0 like in some ways) and it also incorrectly evaluates Nc3 as the best move. Theoria (the project I'm working on) is the only one that likes C4 at all.

I'm not a grandmaster, but I'm guessing C4 is a deep positional idea, only something a grandmaster would evaluate as better. Most of these engines favor immediate piece activity over the Queen's Gambit style attack in the center?