Don Dailey you need to teach underpromotion to Komodo!

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

Moderator: Ras

User avatar
hgm
Posts: 28514
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Don Dailey you need to teach underpromotion to Komodo!

Post by hgm »

I think the point is that an engine that does not know under-promotion will not be able to find the win for white. It can only refute the black line when it indeed finds the under-promotion. So although in reality the line is not on the PV (in the DTM metric), it is critical line in one of the refutation trees, which would become PV when you prune the under-promotion.

What constitutes 'best play' in a game-theoretically lost position is of course an ill-defined question. Lasting longer (i.e. DTM) never earns you any points, and is one of the least useful and most unimaginative metrics. Swindles can earn you points, but to optimize their probability requires opponent modeling. Even against an engine, speculating that it will not be able to find the under-promotion seems to offer a better chance than speculating it might fumble KQKR (after you allow the early promotion to Q).

Silly play, like sacrificing a Rook on ply 1 to delay mate-in-22 only achievable by a single, non-obvious move from an otherwise drawn position to mate-in-50, can be easily avoided in engines through a combination of score saturation and delayed-loss bonus. Note that such silly play does not only occur in the face of mate: engines that strictly play by minimax will have a fair chance to immediately sac a Pawn when they discover they are going to forcibly lose a Pawn after 12 moves, not even making an attempt to defend it, but throwing in the towel immediately. Minimax sucks...
Last edited by hgm on Sun Apr 15, 2012 2:16 pm, edited 1 time in total.
pichy
Posts: 2564
Joined: Thu Mar 09, 2006 3:04 am

Re: Don Dailey you need to teach underpromotion to Komodo!

Post by pichy »

hgm wrote:I think the point is that an engine that does not know under-promotion will not be able to find the win for white. It can only refute the black line when it indeed finds the under-promotion. So although in reality the line is not on the PV (in the DTM metric), it is critical line in one of the refutation trees, which would become PV when you prune the under-promotion.

What constitutes 'best play' in a game-theoretically lost position is of course an ill-defined question. Lasting longer (i.e. DTM) never earns you any points, and is one of the least useful and most unimaginative metrics. Swindles can earn you points, but to optimize their probability requires opponent modeling. Even against an engine, speculating that it will not be able to find the under-promotion seems to offer a better chance than speculating it might fumble KQKR (after you allow the early promotion to Q).

Silly play, like sacrificing a Rook on ply 1 to delay mate-in-22 only achievable by a single, non-obvious move from an otherwise drawn position to mate-in-50, can be easily avoided in engines through a combination of score saturation and delayed-loss bonus.
You are correct, when you give White to Komodo it does find and play the correct underpromotion to Rook if you play the Black according to Saavedra, but when you analyze the position with Komodo it does not see Underpromotion as the best move :roll:
User avatar
hgm
Posts: 28514
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Don Dailey you need to teach underpromotion to Komodo!

Post by hgm »

Well, in 'the position', under-promotion is not possible, as the Pawn is still on c6. So of course Komodo does not indicate it as best move. The question is: does it see the position as a white win? If it does, it must have seen the under-promotion.
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Don Dailey you need to teach underpromotion to Komodo!

Post by mcostalba »

pichy wrote:Komodo it does not see Underpromotion as the best move :roll:
Because it is not the "best move".
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Don Dailey you need to teach underpromotion to Komodo!

Post by Don »

hgm wrote:I think the point is that an engine that does not know under-promotion will not be able to find the win for white. It can only refute the black line when it indeed finds the under-promotion. So although in reality the line is not on the PV (in the DTM metric), it is critical line in one of the refutation trees, which would become PV when you prune the under-promotion.

What constitutes 'best play' in a game-theoretically lost position is of course an ill-defined question. Lasting longer (i.e. DTM) never earns you any points, and is one of the least useful and most unimaginative metrics. Swindles can earn you points, but to optimize their probability requires opponent modeling. Even against an engine, speculating that it will not be able to find the under-promotion seems to offer a better chance than speculating it might fumble KQKR (after you allow the early promotion to Q).

Silly play, like sacrificing a Rook on ply 1 to delay mate-in-22 only achievable by a single, non-obvious move from an otherwise drawn position to mate-in-50, can be easily avoided in engines through a combination of score saturation and delayed-loss bonus. Note that such silly play does not only occur in the face of mate: engines that strictly play by minimax will have a fair chance to immediately sac a Pawn when they discover they are going to forcibly lose a Pawn after 12 moves, not even making an attempt to defend it, but throwing in the towel immediately. Minimax sucks...
Minimax rules! The problem isn't minimax but the fact that computers don't search the full game tree - so we have the well known horizon effect.

Many years ago a program which thought it was winning a game in an important competition found that it was losing to a forced mate and sac'd it's queen to delay the mate, completely giving up the game as you say. An algorithm was proposed that says if you immediately find you are losing big during the last moments of the search, play the move you would have played just before the discovery! I think it was determined that it was very likely the program would have won if it had done this. Or at least that it was a better try.

I don't know if the proposed idea is any good, it seems pretty dicey to me but the general concept may be good if handled well - the concept being that not all losses should be treated the same, (regardless of the exact score.)
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
Arpad Rusz
Posts: 273
Joined: Sat Apr 17, 2010 2:34 pm
Location: Budapest

Re: Don Dailey you need to teach underpromotion to Komodo!

Post by Arpad Rusz »

Try to solve this study:

Á.Rusz, Magyar Sakkvilág, 2010, 3rd Pr. (version)
[d]8/2P3PR/8/2RB1r2/7p/8/p6r/k1K5 w - - 0 1
White wins
User avatar
hgm
Posts: 28514
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Don Dailey you need to teach underpromotion to Komodo!

Post by hgm »

Don wrote:An algorithm was proposed that says if you immediately find you are losing big during the last moments of the search, play the move you would have played just before the discovery!
Well, this seems just a kludgey way to determine how deep in the tree the critical loss will occur, by iterative deepening. If you cannot see a loss at N-1 ply, but you do see it at N ply, there must be branches that keep the current eval upto the N-1 ply level, after which it drops in the Nth ply to the root value or lower.

IMO it would be better to account for that in the N-ply search itself, by discounting the eval drop when it occurs so deep in the tree. Losing a Queen in ply 2 (from an approximately balanced root position) is arguably worse than getting checkmated on ply 30 (but keeping the Queen until ply 28).
User avatar
Houdini
Posts: 1471
Joined: Tue Mar 16, 2010 12:00 am

Re: Don Dailey you need to teach underpromotion to Komodo!

Post by Houdini »

Arpad Rusz wrote:Try to solve this study:

Á.Rusz, Magyar Sakkvilág, 2010, 3rd Pr. (version)
[d]8/2P3PR/8/2RB1r2/7p/8/p6r/k1K5 w - - 0 1
White wins
Arpad, you are a very talented composer, the forum is a richer place with your participation.
Houdini is searching...
kgburcham
Posts: 2016
Joined: Sun Feb 17, 2008 4:19 pm

Re: Don Dailey you need to teach underpromotion to Komodo!

Post by kgburcham »

I tried several programs including Houdini.

[d] 8/2P3PR/8/2RB1r2/7p/8/p6r/k1K5 w - - 0 1

Deep Rybka 4.1 SSE42 x64:

1.Bc4 Rff2[] 2.Rxh4 Rxh4 3.Bb3[] Rhh2 4.Ra5 Rh1+ 5.Bd1[] Rh4[] 6.Rxa2+ Rxa2
+/= (0.55) Depth: 14 00:00:01 705kN, tb=71
1.Bc4 Rff2[] 2.Rxh4 Rxh4 3.Bb3[] Rhh2 4.Ra5 Rh1+ 5.Bd1[] Rh4[] 6.Rxa2+ Rxa2 7.c8Q Rc4+[]
+/- (0.75) Depth: 17 00:00:02 1935kN, tb=268
1.Bc4 Rff2[] 2.Rxh4[] Rxh4 3.Bb3[] Rhh2 4.Ra5[] Rh1+ 5.Bd1[] Rh4[] 6.Rxa2+[] Rxa2 7.c8Q Rc4+[]
+- (1.42 ++) Depth: 18 00:00:03 3327kN, tb=373
1.Bc4 Rff2[] 2.Rxh4[] Rxh4 3.Bb3[] Rhh2 4.Ra5[] Rh1+ 5.Bd1[] Rh4[] 6.Rxa2+[] Rxa2 7.c8Q Rc4+[]
+- (2.22 ++) Depth: 18 00:00:04 4197kN, tb=546
1.Bc4 Rff2[] 2.Rxh4[] Rxh4 3.Bb3[] Rhh2 4.Ra5[] Rh1+ 5.Bd1[] Rh4[] 6.Rxa2+[] Rxa2 7.c8Q Rc4+[]
+- (3.82 ++) Depth: 18 00:00:06 5594kN, tb=731
1.Bc4 Rff2[] 2.Rxh4[] Rxh4 3.Bb3[] Rhh2 4.Ra5[] Rh1+ 5.Bd1[] Rh4[] 6.Rxa2+[] Rxa2 7.c8Q Rc4+[]
+- (7.02 ++) Depth: 18 00:00:12 11830kN, tb=1642
1.Bc4 Rff2 2.Rxh4[] Rxh4 3.Bb3[] Rb2 4.Ra5[] Rh1+ 5.Bd1[] Rb1+
+- (13.41) Depth: 18 00:00:28 34358kN, tb=3663
1.Bc4 Rff2 2.Rxh4[] Rxh4 3.Bb3[] Rb2 4.Ra5[] Rh1+ 5.Bd1[] Rb1+ 6.Kc2[] Rh2+
+- (13.41) Depth: 19 00:00:29 35075kN, tb=3672
1.Bc4 Rff2 2.Rxh4[] Rxh4 3.Bb3[] Rb2 4.Ra5[] Rh1+ 5.Bd1[] Rb1+ 6.Kc2[] Rh2+
+- (13.41) Depth: 20 00:00:33 39099kN, tb=3867
1.Bc4 Rff2 2.Rxh4[] Rxh4 3.Bb3[] Rb2 4.Ra5[] Rh1+ 5.Bd1[] Rb1+ 6.Kc2[] Rh2+
+- (13.41) Depth: 21 00:00:40 46390kN, tb=4463
1.Bc4 Rff2 2.Rxh4[] Rxh4 3.Bb3[] Rb2 4.Ra5[] Rh1+ 5.Bd1[] Rb1+ 6.Kc2[] Rh2+
+- (13.42) Depth: 22 00:00:57 63237kN, tb=5860
1.Bc4 Rff2 2.Rxh4[] Rxh4 3.Bb3[] Rb2 4.Ra5[] Rh1+ 5.Bd1[] Rb1+ 6.Kc2[] Rh2+
+- (13.42) Depth: 23 00:01:14 80780kN, tb=7110
1.Bc4 Rff2[] 2.Rxh4[] Rxh4 3.Bb3[] Rb2 4.Ra5[] Rh1+ 5.Bd1[] Rb1+ 6.Kc2[] Rh2+
+- (13.42) Depth: 24 00:01:39 108mN, tb=9552
1.Bc4 Rff2 2.Rxh4[] Rxh4 3.Bb3[] Rb2 4.Ra5[] Rh1+ 5.Bd1[] Rb1+ 6.Kc2[] Rh2+
+- (#60) Depth: 25 00:06:57 692mN, tb=22635
1.Bc4 Rff2 2.Rxh4[] Rxh4 3.Bb3[] Rb2 4.Ra5[] Rh1+ 5.Bd1[] Rb1+ 6.Kc2[] Rh2+
+- (#60) Depth: 26 00:10:26 1064mN, tb=30467
1.Bc4 Rff2 2.Rxh4[] Rxh4 3.Bb3[] Rb2 4.Ra5[] Rh1+ 5.Bd1[] Rb1+ 6.Kc2[] Rh2+
+- (#45) Depth: 27 00:21:06 2370mN, tb=71394
1.Bc4 Rff2 2.Rxh4[] Rxh4 3.Bb3[] Rb2 4.Ra5[] Rh1+ 5.Bd1[] Rb1+ 6.Kc2[] Rh2+
+- (#33) Depth: 28 00:35:05 4089mN, tb=100579
1.Bc4 Rff2 2.Rxh4[] Rxh4 3.Bb3[] Rb2 4.Ra5[] Rh1+ 5.Bd1[] Rb1+ 6.Kc2[] Rh2+
+- (#33) Depth: 29 00:51:27 6251mN, tb=141576
1.Bc4 Rff2 2.Rxh4[] Rxh4 3.Bb3[] Rb2 4.Ra5[] Rh1+ 5.Bd1[] Rb1+ 6.Kc2[] Rh2+ 7.Kc3[] Rg2 8.Rc5[] Rg3+ 9.Kd2[] Rb2+ 10.Bc2[] Rxg7 11.c8Q[] Rg2+ 12.Kd3[] Rgxc2 13.Rc3[] Rd2+ 14.Kc4[] Rd1 15.Qh8 Kb1 16.Qh7+[]
+- (#33) Depth: 30 01:12:44 9148mN, tb=226216
kgburcham
Posts: 2016
Joined: Sun Feb 17, 2008 4:19 pm

Re: Don Dailey you need to teach underpromotion to Komodo!

Post by kgburcham »

a little quicker.

Deep Rybka 4.1

15.00 0:00 +1.53 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rb2 4.Ra5 Rh1+ 5.Bd1 Rb1+ (703.141) 899 TB:46
16.01 0:02 +0.88 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rhh2 4.Ra5 Rh1+ 5.Bd1 Rh4 (1.909.186) 954 TB:138
17.01 0:02 +1.00++ 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rhh2 4.Ra5 Rh1+ 5.Bd1 Rh4 (2.074.208) 941 TB:177
17.01 0:03 +2.34 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rb2 4.Ra5 Rh1+ 5.Bd1 Rb1+ (3.051.545) 912 TB:244
18.01 0:04 +1.93 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rb2 4.Ra5 Rh1+ 5.Bd1 Rb1+ (4.568.568) 961 TB:895
19.01 0:06 +2.05++ 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rb2 4.Ra5 Rh1+ 5.Bd1 Rb1+ (6.318.420) 967 TB:1.424
19.01 0:07 +2.20++ 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rb2 4.Ra5 Rh1+ 5.Bd1 Rb1+ (6.873.874) 937 TB:1.473
19.01 0:09 +2.60++ 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rhh2 4.Ra5 Rh1+ 5.Bd1 Rh4 (8.376.666) 916 TB:1.637
19.01 0:11 +4.20++ 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rhh2 4.Ra5 Rh1+ 5.Bd1 Rh4 (10.570.169) 892 TB:1.975
19.01 0:21 +7.40++ 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rhh2 4.Ra5 Rh1+ 5.Bd1 Rh4 (20.006.456) 949 TB:2.933
19.01 0:35 +10.53 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rb2 4.Ra5 Rh1+ 5.Bd1 Rb1+ (36.498.623) 1038 TB:4.645
20.01 0:37 +10.53 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rb2 4.Ra5 Rh1+ 5.Bd1 Rb1+ (38.574.512) 1032 TB:4.689
21.01 0:42 +10.53 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rb2 4.Ra5 Rh1+ 5.Bd1 Rb1+ (43.832.261) 1025 TB:4.930
22.01 1:05 +10.54 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rb2 4.Ra5 Rh1+ 5.Bd1 Rb1+ (72.791.496) 1119 TB:6.765
23.01 1:30 +10.55 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rb2 4.Ra5 Rh1+ 5.Bd1 Rb1+ (96.958.904) 1076 TB:10.574
24.01 6:20 +M39 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rb2 4.Ra5 Rh1+ 5.Bd1 Rb1+ (633.652.616) 1664 TB:22.654
25.01 10:04 +M33 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rb2 4.Ra5 Rh1+ 5.Bd1 Rb1+ (1.044.357.189) 1726 TB:39.956
29.01 52:45 +M33 1.Bc4 Rff2 2.Rxh4 Rxh4 3.Bb3 Rb2 4.Ra5 Rh1+ 5.Bd1 Rb1+ 6.Kc2 Rh2+ 7.Kc3 Rg2 8.Rc5 Rc1+ 9.Kb4 Rxc5
10.Kxc5 Kb1 11.c8Q a1Q 12.Qf5+ Kc1 13.Qf4+ Kb2 14.Qe5+ (6.377.868.492) 2014 TB:152.723