Zenmastur wrote: ↑
Mon Feb 10, 2020 8:52 am
Could you do a small test analysis for us? Something not too difficult like analyze this position to mate:
You mean some mate score as shown by the engine, right? Not the shortest mate, which I don't see the point of doing...
So for this I'll be using 2 different engines, instead of some boring Engine 1 and Engine 2 let's nickname them:
Femme Fatale: This engine is really good at finding mates at low depth. However, it'll show some insane lowerbounds, like "+M160", which stands for "I can guarantee to win this position, and I can guarantee to do it on 160 moves or less." That she does, she'll decrease their counter with every move, but not with more depth. But I don't think you'd be happy if I show a mate score of 200 for this, would you?
Harem Girl: This one is the opposite, failing to see mate until it's on her face, choosing to report scores of +132.00 instead. Her problem is that these +132 scores may stay the same after a move, or they may go backwards (like from 132.71 to 132.70), so it's not reliable on finding them. HOWEVER, once she sees the mate she'll show a much better lowerbound, such as +M23 for the same position that Femme Fatale showed +M160. This would be the score that you'd want to backsolve.
For these purposes I'll use Femme Fatale for the white side exclusively. The idea is that she'll be leading the position to a mate score. I'll be using Harem Girl for the black side at the tail of the variations, so she tells us better mate scores (which could be lower than what she shows, but we'd be happy if those are brought to the root.)
SPOILER ALERT - I'm not doing it to completion, just for enough time so it's clear how the procedure works.
Initially, I use Femme Fatale at Depth 32 for the main move, and Depth 22 to get an alternative move. This is important in case her mainline falls below an alternative move, so we're not following the winning line. So I start (I'm snipping the end of the variations for clarity):
32/58 1:47 +9.45 1.Rh8+ Kf7 2.Rf1+ Qf5 3.Rxf5+ Kg6 4.Rg5+ Kf6 5.Bd3 dxe3 6.Rg6+
22/38 0:04 +0.32 1.Bc4 Qxc4 2.Rh8+ Kf7 3.Ne5+ Ke6 4.Nxc4 Rac7 5.bxc3 dxe3 6.Nxe3
I'll be making these first white and black moves that it shows in her PV, so 1.Rh8+ Kf7 are moved.
32/54 1:10 +9.07 2.Rf1+ Qf5 3.Rxf5+ Ke6 4.Re5+ Kd6 5.Bf4 axb5 6.Nxa7
22/39 0:04 +0.35 2.Bc4 dxe3 3.bxc3 Qxc4 4.Ne5+ Ke6 5.Nxc4 Rac7 6.Nxe3
2.Rf1+ Qf5 are moved.
32/57 2:14 +10.66 3.Rxf5+ Ke6 4.Re5+ Kd6 5.Bf4 axb5 6.Nxa7 Rxa7 7.Rxc8
Here 2 minutes / move are deemed too long per node, so I decrease main depth to 31, and the depth of the alternatives to 21.
21/38 0:04 +5.15 3.Bc4+ Kf6 4.Rxf5+ Kxf5 5.Rf8+ Rf7 6.Bxf7 dxe3 7.Bc4+
3.Rxf5 Ke6 are moved.
31/02 0:01 +10.66 4.Re5+ Kd6 5.Bf4 axb5 6.Nxa7 Rxa7 7.Rxc8 Ba5 8.Rxb5+
21/37 0:04 +6.74 4.Rf3 axb5 5.Nxa7 Rxa7 6.Rxc8 Rxa2 7.bxc3 dxe3 8.Rxe3+
And so on...
31/02 0:02 +10.66 5.Bf4 axb5 6.Nxa7 Rxa7 7.Rxc8 Ba5 8.Rxb5+ Kd7 9.Rc4
21/36 0:03 +6.74 5.Rxc8 dxe3 6.Rxe3 Bf6 7.Rd3+ Ke6 8.Nxa7 Rxa7 9.Rc6+
31/49 0:59 +10.01 6.Nxa7 Rxa7 7.Rxc8 Ba5 8.Rxb5+ Kd7 9.Rc4 d3 10.cxd3
21/31 0:00 +8.50 6.Rxc8 Rf7 7.Rf5+ Ke6 8.Rxf7 Rxf7 9.Nd8+ Kd7 10.Rc7+
31/49 1:01 +13.01 7.Rxc8 Ba5 8.Rxb5+ Kd7 9.Rcb8 Be1 10.Rd5+ Ke7 11.Re5+
21/02 0:00 +8.40 7.Rg5+ Ke6 8.Rxc8
31/39 0:01 +13.01 8.Rxb5+ Kd7 9.Rcb8 Be1 10.Rd5+ Ke7 11.Re5+ Kf7 12.Rxe1
21/39 0:01 +8.70 8.Rc4 Rf7 9.Re4+ Kd7 10.Rexd4+ Ke7 11.Rc5 Bb6 12.Bg5+
31/60 1:13 +16.01 9.Rcb8 Be1 10.Rd5+ Kc6 11.Rd6+ Kc5 12.Rc8+
I consider a score of 16 as "winning" so I stop checking alternative moves at low depth
31/54 0:08 +49.45 10.Rd5+ Kc6 11.Rd6+ Kc5 12.Rc8+ Kb5 13.Re8
31/40 0:00 +49.45 11.Rd6+ Kc5 12.Rc8+ Kb5 13.Re8 Bb4 14.Rxd4
31/40 0:00 +49.53 12.Rc8+ Kb5 13.Re8 Bb4 14.Rxd4 Be7 15.Rb8+
31/40 0:00 +49.56 13.Re8 Bb4 14.Rxd4 Be7 15.Rb8+ Kc5 16.Be3
31/42 0:09 +M161 14.Rxd4 Be7 15.Rb8+ Kc5 16.Be3 Kc6 17.Rc8+
There we go! Engine showing a mate score. Let's see if it goes up with higher depth?
40/02 0:13 +M161 14.Rxd4 Be7 15.Rb8+ Kc5 16.Be3 Kc6 17.Rc8+ Rc7 18.Rc4+ Kd5 19.R4xc7 Bd6 20.Rxg7 Ke5 21.Rg5+ Ke4 22.Re8+ Kf3 23.Rg6 Bc7 24.Rf6+ Kg2 25.Rg8+ Bg3 26.Rxg3+ Kxg3 27.Rg6+ (44.489.997) 3341
What did I tell you?
So enter Harem Girl... (you'll be able to recognize her as the Depth 40 engine that always plays black moves)
40/44 0:59 +M21 14...Bc5 15.Rb8+ Kc6 16.Rc8+ Kb6 17.Rd3 Ra4 18.Rb3+ Rb4 19.Rxb4+ Bxb4 20.Rb8+ Ka5 21.Bc7+ Ka6 22.Rxb4 g5 23.Bb6 Kb7 24.Be3+ Kc7 25.Rg4 Kc8 (272.048.134) 4597 TB:1.109.873
After 14.Rxd4 she does show a better bound of mate in 21 or better. Now I'll go back a move and ask her if she can find a better alternative, or if the PV of Femme Fatale played the best move.
40/03 0:08 +M22 13...Bb4 14.Rxd4 Bc5 (28.074.911) 3365 TB:371.104
13...Bb4 was best, moving back to move 12...
40/03 0:01 +M23 12...Kb5 13.Re8 Bb4 (4.229.736) 3266 TB:39.141
12...Kb5 was best, moving back to move 11...
40/05 0:08 +M24 11...Kc5 12.Rc8+ Kb5 13.Re8 Bb4 (37.716.820) 4211 TB:239.667
12...Kb5 was best, moving back to move 10...
40/55 1:03 +132.70 10...Ke6 11.Re5+ Kf7 12.Rxe1 Ra5 13.Rb7+ Kf6 14.Be5+ Rxe5 15.Rxe5 Kxe5 16.Rxg7 Kd5 17.Rg6 Kc5 18.b4+ Kb5 19.Rd6 Kc4 20.a4 Kc3 21.Rxd4 Kxd4 (284.805.025) 4484 TB:2.185.544
Bingo! Harem Girl can't see a mate from here, so Ke6 is an improvement. What does Femme Fatale sees after it is played?
32/45 0:15 +M167 11.Re5+ Kf7 12.Rxe1 Rd7 13.Rb6 Ra7 14.Be5 Re7 15.Rf1+ Kg8 16.Bxd4
She does see a mate, poor lowerbound.
I'll be playing the moves one against the other until Harem Girl shows a better bound.
40/55 1:03 +132.69 11...Kf7 12.Rxe1 g5 13.Be5 (289.581.638) 4531 TB:3.170.358
32/02 0:00 +M166 12.Rxe1 Rd7 13.Rb6 Ra7 14.Be5 Re7 15.Rf1+ Kg8 16.Bxd4 Rd7 17.Rb8+
40/11 0:54 +132.71 12...Ra5 13.Rb7+ Kf6 14.Be5+ Rxe5 15.Rxe5 Kxe5 16.Rxg7 Kd6 17.Rc7 Kd5 (225.792.115) 4125 TB:1.582.087
32/48 0:07 +M146 13.Rb7+ Kf6 14.Be5+ Kf5 15.Bxg7 Kg6 16.Be5 Rxa2 17.Rg7+
40/55 0:16 +M16 13...Kg6 14.Be5 Kf5 15.Rxg7 Rxa2 16.Bxd4 Ra1+ 17.Kd2 Rxe1 18.Kxe1 Ke4 19.Bc3 Kf5 20.Kd2 Ke6 (82.675.441) 5152 TB:1.330.495
Harem Girl does see the mate, let's see if she can find a better move for 12th black move...
40/40 0:49 +132.70 12...Rxa2 13.Rb7+ Kf6 14.Kb1 Ra8 15.Be5+ Ke6 16.Bxd4+ Kd6 17.Rxg7 Rd8 18.Rg6+ Kd5 19.b3 Rd6 (226.028.673) 4541 TB:1.741.898
She does, what does Femme Fatale say?
32/36 0:02 +M142 13.Rb7+ Kf6 14.Be5+ Ke6 15.Ra7 Rxa7 16.Bxd4+ Kd5 17.Bxa7 g6 18.Rg1
40/13 0:06 +132.71 13...Kf6 14.Be5+ Ke6 15.Bxd4+ Kd6 16.Ra7 Rxa7 17.Bxa7 g6 18.Rg1 Ke7 19.Rxg6 Kd7 (27.582.835) 4368 TB:457.303
32/02 0:00 +M141 14.Be5+ Ke6 15.Ra7 Rxa7 16.Bxd4+ Kd5 17.Bxa7 g6 18.Rg1 g5 19.Rxg5+
40/25 0:21 +M12 14...Kf5 15.Kd2 g5 16.Rf7+ Kg6 17.Rf6+ Kh5 18.Rh1+ Kg4 19.Rg1+ Kh5 20.Rf5 Ra1 21.Rgxg5+ Kh4 22.Rg7 Ra6 23.Bf6+ Rxf6 24.Rxf6 Kh5 25.Kd3 Kh4 26.Rh6+ (95.385.390) 4410 TB:2.142.665
Harem Girl sees the mate, I'm going back to see if she finds a better 13th move...
40/40 0:04 +132.74 13...Kg6 14.Be5 Kf5 15.Rxg7 (18.840.756) 4211 TB:577.563
And Femme Fatale says...
32/02 0:00 +M140 14.Be5 d3 15.cxd3 Kf5 16.Rxg7 Ke6 17.Kd2 Ra8 18.Bc3+ Kd6 19.Rh1
40/47 0:11 +M15 14...Kf5 15.Bxg7 Ra1+ 16.Kd2 Rxe1 17.Kxe1 d3 18.cxd3 Ke6 19.Rb6+ Ke7 20.Bd4 Kd7 21.Rf6 Ke7 22.Ke2 Kd7 23.Ke3 Kc7 24.Ke4 Kd8 25.Kd5 Kd7 26.Be5 Kc8 27.Kc6 Kd8 (50.293.754) 4481 TB:1.574.128
So I ask Harem Girl for another 13th move...
40/40 0:01 +M16 13...Kg6 14.Be5 Kf5 (4.245.182) 4157 TB:73.321
So I ask Harem Girl for another 12th move...
40/57 0:51 +M22 12...Rd7 13.Be5 g6 14.Rf1+ (240.999.882) 4698 TB:1.621.832
40/40 0:20 +132.69 11...Kd7 12.Rd5+ Ke6 (93.231.706) 4637 TB:419.453
This one for Femme Fatale...
32/41 0:04 +M148 12.Rxe1 Kc6 13.Rc8+ Kd7 14.Rce8 Rb7 15.R1e7+ Kc6 16.Rc8+ Kb6 17.Rxb7+
40/03 0:21 +M11 12...g5 13.Rg8 Rb7 (106.049.435) 4859 TB:589.530
We need a better 11th one...
40/40 0:42 +M24 11...Kf6 12.Rb6+ Kf7 13.Rxe1 Rd7 14.Be5 (211.930.617) 5027 TB:1.227.327
We need a better 10th one...
40/40 0:22 +M25 10...Ke6 11.Re5+ Kf6 (109.621.373) 4825 TB:1.494.348
We need a better 9th one...
30/03 1:30 +57.84 9...Bd8 10.Rd5+ Ke6 (419.762.209) 4630 TB:523.565
I stop the analysis at Depth 30, it's clear depth 40 would take unreasonable time.
32/51 0:23 +M163 10.Rd5+ Ke6 11.Rbxd8 Ra4 12.R8d6+ Ke7 13.Rxd4 Ra8 14.Rd8 Ra7 15.R4d6
Femme Fatale is not impressed...
31/04 0:12 +132.65 10...Ke7 11.Rbxd8 Ra4 12.Rxd4 (58.639.789) 4790 TB:178.926
32/36 0:00 +M160 11.Rbxd8 Ra4 12.Rxd4 Ra7 13.R4d6 Ra4 14.R8d7+ Ke8 15.Rd4 Ra6 16.Rd8+ Kf7 17.R4d7+ Ke6 18.Rd6+ Rxd6 19.Rxd6+ (589.132) 1275
40/57 1:26 +M18 11...Ra4 12.Be5 d3 13.cxd3 Ra7 14.Bxg7 Rc7+ 15.Kd2 Rb7 16.Bf8+ Kf6 17.R8d6+ Kf7 18.Rd7+ Rxd7 19.Rxd7+ Ke6 20.Rd6+ Kf7 21.Rb6 Ke8 22.Rb7 Kd8 23.a4 Kc8 24.Rg7 Kd8 (508.113.334) 5855 TB:3.373.157
We need a better 10th...
40/40 0:25 +M21 10...Ke6 11.Rbxd8 Kf6 12.R8d6+ (126.773.429) 4995 TB:1.830.374
We need a better 9th...
27/49 1:37 +62.26 9...Ra6 10.b4 Bd8 11.Rd5+ Ke7 12.Rbxd8 Rxa2 13.R8d7+ Ke6 14.Rxd4 g5 15.R7d6+ Kf7 16.Bxg5 Kg7 17.Re6 Ra1+ 18.Kb2 Ra7 19.Rd7+ Rxd7 20.Re7+ Kg6 21.Rxd7 Kf5 22.Be3 Ke4 (456.401.481) 4671 TB:603.931
Again, Harem Girl slows down to a crawl on move 9.
32/54 2:16 +48.37 10.Rd5+ Ke7 11.b4 Bc7 12.Bxc7 g6 13.b5 Rxa2 14.Rxd4 Ra1+ 15.Kd2 g5 16.Bd8+
Aha! This is a position where Femme Fatale doesn't see a mate anymore. Here I go back to the strategy of letting her play its top white and black move choices on the board until she announced mate...
10.Rd5+ Ke7 played...
31/02 0:00 +48.37 11.b4 Bc7 12.Bxc7 g6 13.b5 Rxa2 14.Rxd4 Ra1+ 15.Kd2 g5 16.Bd8+ Ke6 17.Bxg5
11.b4 Bc7 played...
31/56 0:43 +25.23 12.Bxc7 Ra7 13.Bg3 Kf7 14.b5 Kg6 15.b6 Rxa2 16.Rxd4 Ra1+ 17.Kb2 Ra5 18.c4
12.Bxc7 Ra7 played...
31/40 0:03 +M140 13.Bb6 Ra3 14.Bxd4 Ra6 15.Rg5 Rd6 16.Rb7+ Ke6 17.Rg6+ Kd5 18.Rxd6+ Kxd6 19.Rxg7 Kd5 20.b5 Kc4 21.b6 Kxd4 22.b7 Ke5 23.b8Q+ Kf6 24.Qe5+ Kxe5 (15.011.028) 3932
And it sees a mate again. What does Harem Girl say?
40/03 0:23 +M13 13...Rd7 14.Rxd7+ Kxd7 (117.993.596) 4999 TB:1.116.009
Much better bound. We need a new 12th...
40/40 1:16 +M19 12...Rc6 13.Bd8+ Ke6 14.Rxd4 Rc3 (376.917.589) 4938 TB:2.451.222
We need a new 11th...
40/03 1:46 +132.72 11...Bxb4 12.Rxb4 Rxa2 (497.532.322) 4687 TB:4.321.092
What does Femme Fatale say?
31/44 0:10 +M147 12.Rxb4 Ra7 13.Rbxd4 Ke6 14.Rd6+ Kf5 15.Rd7 Ra3 16.Rxg7 Ke6 17.Rg5
40/03 0:19 +132.72 12...Rxa2 13.Rb7+ Ke6 (83.947.351) 4257 TB:2.014.163
31/16 0:00 +M146 13.Rb7+ Kf6 14.Rd6+ Kf5 15.Rxd4 Ra1+ 16.Kd2 Rf1 17.Rb5+ Kg6 18.Rg5+
40/06 0:04 +132.73 13...Ke6 14.Rg5 Ra1+ 15.Kb2 Ra8 16.Rb6+ (17.178.864) 4127 TB:691.899
31/29 0:00 +M137 14.Rg5 Ra1+ 15.Rb1 Ra8 16.Rb6+ Kf7 17.Be5 g6 18.Rgxg6 Re8 19.Rg7+
40/31 0:11 +M16 14...Ra1+ 15.Kd2 Ra8 16.Rb6+ Kf7 17.Be5 Re8 18.Bxg7 Re6 19.Rxe6 Kxe6 20.Bxd4 Kf7 21.Rb5 Ke7 22.Rb6 (47.675.463) 4275 TB:2.356.277
And now Harem Girl sees it as well. We need better 13th...
40/40 0:01 +M17 13...Ke6 14.Rg5 Ra4 (8.402.447) 4286 TB:139.514
We need better 12th...
40/40 0:20 +132.73 12...d3 13.Rb7+ Kf6 (90.993.847) 4411 TB:1.680.255
What does Femme Fatale say?
31/29 0:00 +M141 13.Rb7+ Kf6 14.Rd6+ Rxd6 15.Bxd6 g6 16.cxd3 g5 17.Rb2 g4 18.Rg2 g3 19.Rxg3
40/05 0:16 +M15 13...Ke6 14.Rd6+ Rxd6 15.Bxd6 Kxd6 (73.716.682) 4588 TB:3.568.518
We need better 12th...
40/40 0:43 +132.72 12...Kf7 13.Rb7+ Kf6 (197.090.128) 4516 TB:2.596.604
Let's play Femme Fatale's moves into Harem Girl until Harem Girl shows a good bound...
31/20 0:00 +M146 13.Rd7+ Ke6 14.Rd6+ Rxd6 15.Bxd6 (625.838) 1381
40/09 0:04 +132.70 13...Kf6 14.Rd6+ Rxd6 15.Bxd6 g6 16.Rxd4 Kf5 17.Rd3 Ke6 (20.752.554) 4466 TB:459.109
31/30 0:00 +M140 14.Rd6+ Rxd6 15.Bxd6 g6 16.Rxd4 Kg5 17.Rd3 Kf5 18.Rg3 g5 19.Rxg5+
40/07 0:05 +132.73 14...Rxd6 15.Bxd6 Ke6 16.Rxd4 Kf5 17.Rd3 g5 (26.798.680) 4563 TB:619.010
31/02 0:00 +M139 15.Bxd6 g6 16.Rxd4 Kg5 17.Rd3 Kf5 18.Rg3 g5 19.Rxg5+ Ke6 20.Rg6+
40/51 2:25 +M12 15...Ke6 16.a4 Kxd6 17.a5 Kc6 18.a6 g6 19.a7 Kc5 20.Rb3 Kd6 (846.536.881) 5826 TB:21.719.732
And, there it is. We need a new 14th.
40/40 0:00 +M13 14...Rxd6 15.Bxd6 Ke6 (2.363.128) 3658 TB:43.703
We need a new 13th.
40/52 0:16 +132.75 13...Kg6 14.Rd6+ Rxd6 15.Bxd6 Kf6 16.Be5+ Kxe5 17.Rxd4 Kxd4 (71.963.520) 4436 TB:2.306.248
31/36 0:09 +M14 14.Rd6+ Rxd6 15.Bxd6 d3 16.cxd3 Kf5 17.Rd4 Ke6 18.Bg3 Kf6 19.a4 Kf5 20.a5 Kg5 21.a6 g6 22.a7 Kf6 23.a8Q Kg7 (36.750.460) 3923
Femme Fatale manages to find a better lowerbound by herself! But we need the one from Harem Girl to backsolve it...
40/03 0:11 +M12 14...Rxd6 15.Bxd6 Kf6 (68.896.369) 6073 TB:993.121
Like this one. We need a better 13th.
40/40 0:17 +M17 13...Ke6 14.Rd6+ Rxd6 15.Bxd6 Kxd6 16.Rxd4+ Kc5 17.Rg4 (101.581.955) 5737 TB:3.150.889
We need a better 12th.
40/54 0:58 +132.72 12...Ra7 13.Rg5 Kf7 14.Be5 (265.310.352) 4521 TB:2.770.218
31/02 0:00 +M146 13.Rbxd4 Ke6 14.Rd6+ Kf5 15.Rd7 (1.293.266) 2288
So now I'd play Femme Fatale's move into Harem Girl until she shows a better bound, then go back and forward until she shows a mate score for the 9th move, and I go back to the 8th, and so on.
By this point it should be clear what I'm doing. After I'm done Harem Girl would be able to show a mate score from the root position, and since she'd store it on her learning file, she'd show it immediately even after I unload and reload the engine in the GUI.
The reason I have to reach depths below 2 minutes is that to backsolve a score I'd need to at least reach this depth everywhere, which becomes a waste of time with more depth.