Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Unnecessary Underpromotions(Diagram that I forgot)

Author: Uri Blass

Date: 05:38:03 05/22/03

Go up one level in this thread


On May 22, 2003 at 08:32:53, Uri Blass wrote:

>On May 22, 2003 at 07:16:26, José Carlos wrote:
>
>>On May 22, 2003 at 07:08:11, Uri Blass wrote:
>>
>>>On May 22, 2003 at 06:35:27, José Carlos wrote:
>>>
>>>>On May 22, 2003 at 06:14:01, Uri Blass wrote:
>>>>
>>>>>On May 22, 2003 at 06:08:47, José Carlos wrote:
>>>>>
>>>>>>On May 22, 2003 at 01:01:38, Robin Smith wrote:
>>>>>>
>>>>>>>Often programs will underpromote a pawn in situations where they think capturing
>>>>>>>the (under)promoted piece is still the best reply. Can anyone give an example
>>>>>>>from an actual game where this underspromotion cost the computer a 1/2 point?
>>>>>>>
>>>>>>>Robin
>>>>>>
>>>>>>  I can't recall any game with this problem, but it's really easy to fix. I
>>>>>>simply order the promotions so that promoting to queen gets searched first. The
>>>>>>all the other underpromotions will return alpha and thus ignored.
>>>>>>
>>>>>>  José C.
>>>>>
>>>>>It is possible to fix but it is not so easy to fix because the other promotion
>>>>>may leas to different extensions and different score.
>>>>>
>>>>>Uri
>>>>
>>>>
>>>>  If I understand correctly the original post, we're talking about the scenario
>>>>where the program thinks that capturing the promote piece is the best move, so
>>>>it randomly promotes any piece, being sure the opponent will capture. Then, it
>>>>turns that not capturin the promoted bishop leads to a draw in some extrange
>>>>ending.
>>>>  If I order my moves to analyze the queen promotion first, get back a score and
>>>>only then analyze the underpromotions, in the mentioned scenarios all other
>>>>promotions will get the same score, exactly the same as the opponent will always
>>>>capture the piece in the tree.
>>>>  Then, first searched move is played. Problem solved.
>>>>
>>>>  José C.
>>>
>>>The assumption that the moves will get the same score
>>>is not always correct.
>>>
>>>For example the program may extend more promotion for
>>>knight with a check so it may be searched deeper and
>>>another option is that promotion to queen is extended
>>>and searched to bigger depth or promotion not to queen is search to reduced
>>>depth.
>>>
>>>Uri
>>
>>  This can happen if you don't have a transposition table. If you have it, all
>>underpromotions followed by the capture of the promoted piece will get a hit in
>>the hash table and there's no need to search further.
>>  But it is not the question of the original poster, if I understand him
>>correctly.
>>
>>  José C.
>
>He asked for a game when a program blundered by underpromotion
>so I will give him a game
>
>Latest movei drew 10-10 in the nunn match against Junior5
>with 3 minutes for movei against 1 minute for Junior5.
>
>Interesting to see that I am not the only programmer who does
>not consider the problem of wrong underpromotion as
>a very important problem.
>
>Stefan(the programmer of shredder) also does not consider the problem as
>imprtant(otherwise shredder7.04 will never consider c1R as the best move).
>
>Fixing the problem is not very hard and I can probably do it and test it in one
>day but I did not consider the problem as important enough to fix it until
>today.
>
>
>[Event "URI-PC, Blitz:1'"]
>[Site "URI-PC"]
>[Date "2003.05.22"]
>[Round "13"]
>[White "Junior 5.0"]
>[Black "movei00_8_070"]
>[Result "1-0"]
>[ECO "E15"]
>[PlyCount "153"]
>[TimeControl "60"]
>
>{W=10.5 ply; 719kN/s
>B=8.1 ply; 186kN/s
>} 1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3
>Ba6 5. b3 Bb4+ 6. Bd2 Be7 7. Bg2 c6 8. Bc3 d5 9. Ne5 Nfd7 10. Nxd7 Nxd7 11. Nd2
>O-O 12. O-O Rc8 13. e4 {Both last book move} b5 {[%eval 6,8] [%emt 0:00:02]}
>14. Re1 {(exd5) [%eval 0,11] [%emt 0:00:01]} dxc4 {
>(bxc4) [%eval 0,8] [%emt 0:00:03]} 15. bxc4 {[%eval 0,11] [%emt 0:00:01]} bxc4
>{[%eval -14,9] [%emt 0:00:03]} 16. Qa4 {[%eval -29,12] [%emt 0:00:02]} Qb6 {
>(Bb5) [%eval -3,9] [%emt 0:00:02]} 17. Bf1 {(Nxc4) [%eval 32,11] [%emt 0:00:01]
>} Bb5 {(e5) [%eval 11,8] [%emt 0:00:03]} 18. Qd1 {
>(Qc2) [%eval 48,11] [%emt 0:00:03]} c5 {[%eval -6,8] [%emt 0:00:02]} 19. d5 {
>(Nxc4) [%eval 46,11] [%emt 0:00:02]} Bf6 {(exd5) [%eval 4,8] [%emt 0:00:03]}
>20. Bxf6 {[%eval 26,10] [%emt 0:00:02]} Nxf6 {[%eval 12,8] [%emt 0:00:02]} 21.
>a4 {[%eval 4,11] [%emt 0:00:03]} c3 {[%eval 7,8] [%emt 0:00:02]} 22. axb5 {
>[%eval -5,11] [%emt 0:00:02]} cxd2 {[%eval 7,9] [%emt 0:00:03]} 23. Qxd2 {
>[%eval 0,10] [%emt 0:00:01]} c4 {(exd5) [%eval 9,8] [%emt 0:00:03]} 24. dxe6 {
>(d6) [%eval 17,10] [%emt 0:00:02]} fxe6 {[%eval 6,8] [%emt 0:00:04]} 25. Bh3 {
>[%eval 29,10] [%emt 0:00:01]} c3 {(Rf7) [%eval 21,8] [%emt 0:00:04]} 26. Qe2 {
>(Qc2) [%eval 68,11] [%emt 0:00:04]} Rc5 {(Kh8) [%eval 111,8] [%emt 0:00:04]}
>27. Ra6 {[%eval 18,10] [%emt 0:00:01]} Qxb5 {[%eval 105,8] [%emt 0:00:04]} 28.
>Qxb5 {[%eval 38,10] [%emt 0:00:02]} Rxb5 {[%eval 105,8] [%emt 0:00:01]} 29. e5
>{(Bxe6+) [%eval 67,11] [%emt 0:00:01]} Ne4 {(Ne8) [%eval 111,8] [%emt 0:00:03]}
>30. Rxe4 {[%eval 103,10] [%emt 0:00:01]} Rb1+ {[%eval 120,8] [%emt 0:00:02]}
>31. Kg2 {[%eval 103,10] [%emt 0:00:00]} c2 {[%eval 108,8] [%emt 0:00:02]} 32.
>Bxe6+ {[%eval 66,11] [%emt 0:00:01]} Kh8 {[%eval 103,10] [%emt 0:00:02]} 33.
>Rc4 {[%eval 66,10] [%emt 0:00:00]} c1=R {(c1Q) [%eval 103,8] [%emt 0:00:01]}
>34. Rxa7 {(Rxc1) [%eval 69,11] [%emt 0:00:04]} Rg1+ {
>(Re1) [%eval 79,7] [%emt 0:00:01]} 35. Kh3 {[%eval 71,3] [%emt 0:00:00]} Rb6 {
>(Rgd1) [%eval 63,7] [%emt 0:00:01]} 36. Rf7 {(Re7) [%eval 88,10] [%emt 0:00:02]
>} Rd8 {(Rfb8) [%eval 56,7] [%emt 0:00:01]} 37. Bd7 {
>(Re7) [%eval 93,9] [%emt 0:00:01]} Rbb8 {(Kg8) [%eval 65,6] [%emt 0:00:02]} 38.
>Rc7 {(e6) [%eval 114,11] [%emt 0:00:01]} Ra1 {(Re1) [%eval 91,7] [%emt 0:00:03]
>} 39. Bg4 {(Bf5) [%eval 123,11] [%emt 0:00:01]} Rg8 {
>[%eval 82,7] [%emt 0:00:02]} 40. e6 {(Rb7) [%eval 109,11] [%emt 0:00:01]} Re1 {
>(Ra2) [%eval 96,7] [%emt 0:00:02]} 41. Kg2 {(Bf5) [%eval 117,11] [%emt 0:00:02]
>} Rb2 {(Re4) [%eval 102,7] [%emt 0:00:03]} 42. h3 {
>(Rb7) [%eval 107,10] [%emt 0:00:00]} Rbb8 {(Ra1) [%eval 106,8] [%emt 0:00:07]}
>43. Rfd7 {(Bf5) [%eval 110,11] [%emt 0:00:01]} Rbb1 {
>(Rb2) [%eval 61,7] [%emt 0:00:01]} 44. Bh5 {(Rb7) [%eval 112,9] [%emt 0:00:01]}
>Rg1+ {(Rb2) [%eval 36,7] [%emt 0:00:05]} 45. Kf3 {[%eval 114,8] [%emt 0:00:00]}
>Rb3+ {[%eval 33,6] [%emt 0:00:02]} 46. Ke2 {(Ke4) [%eval 112,8] [%emt 0:00:00]}
>Rb2+ {[%eval 47,7] [%emt 0:00:03]} 47. Rd2 {[%eval 108,8] [%emt 0:00:00]} Rbb1
>{[%eval 50,7] [%emt 0:00:02]} 48. Bf7 {(Kd3) [%eval 112,8] [%emt 0:00:00]}
>Rge1+ {[%eval 50,7] [%emt 0:00:03]} 49. Kf3 {
>(Kd3) [%eval 116,10] [%emt 0:00:01]} Rf8 {(Ra8) [%eval 91,7] [%emt 0:00:02]}
>50. Kg4 {[%eval 109,9] [%emt 0:00:00]} Rb4+ {[%eval 72,6] [%emt 0:00:01]} 51.
>f4 {[%eval 125,10] [%emt 0:00:00]} Rbe4 {(g6) [%eval 106,7] [%emt 0:00:02]} 52.
>Rdd7 {(Rcd7) [%eval 142,11] [%emt 0:00:01]} h6 {[%eval 192,7] [%emt 0:00:02]}
>53. Bg6 {(e7) [%eval 165,10] [%emt 0:00:00]} Rxe6 {[%eval 221,8] [%emt 0:00:03]
>} 54. Rxg7 {[%eval 165,8] [%emt 0:00:00]} Rff6 {[%eval 293,7] [%emt 0:00:03]}
>55. Rh7+ {[%eval 168,8] [%emt 0:00:00]} Kg8 {[%eval 1,1] [%emt 0:00:00]} 56.
>Rcg7+ {[%eval 250,9] [%emt 0:00:00]} Kf8 {[%eval 1,1] [%emt 0:00:00]} 57. Bf7 {
>[%eval 257,9] [%emt 0:00:00]} R6e3 {[%eval 294,7] [%emt 0:00:01]} 58. Bd5 {
>[%eval 268,8] [%emt 0:00:00]} Ree6 {[%eval 351,7] [%emt 0:00:01]} 59. Ra7 {
>[%eval 274,8] [%emt 0:00:00]} Kg8 {[%eval 335,7] [%emt 0:00:02]} 60. Bxe6+ {
>(Rhg7+) [%eval 268,8] [%emt 0:00:00]} Rfxe6 {
>(Rexe6) [%eval 337,7] [%emt 0:00:01]} 61. f5 {
>(Kh5) [%eval 360,8] [%emt 0:00:00]} Rd6 {(Rb6) [%eval 325,7] [%emt 0:00:02]}
>62. Rag7+ {[%eval 330,9] [%emt 0:00:01]} Kf8 {[%eval 1,1] [%emt 0:00:00]} 63.
>Rg6 {[%eval 334,8] [%emt 0:00:00]} Rxg6+ {[%eval 353,7] [%emt 0:00:02]} 64.
>fxg6 {[%eval 340,8] [%emt 0:00:00]} Re6 {(Kg8) [%eval 353,8] [%emt 0:00:03]}
>65. Kh5 {(Kf5) [%eval 398,10] [%emt 0:00:00]} Rf6 {
>(Re3) [%eval 447,9] [%emt 0:00:05]} 66. Rf7+ {
>(Kxh6) [%eval 575,12] [%emt 0:00:00]} Rxf7 {[%eval 357,12] [%emt 0:00:01]} 67.
>gxf7 {[%eval 605,11] [%emt 0:00:00]} Kxf7 {(Kg7) [%eval 357,12] [%emt 0:00:01]}
>68. Kxh6 {[%eval 32752,1] [%emt 0:00:00]} Kf6 {[%eval 32753,1] [%emt 0:00:00]}
>69. g4 {[%eval 32753,1] [%emt 0:00:00]} Ke6 {[%eval 32754,1] [%emt 0:00:00]}
>70. g5 {[%eval 32754,1] [%emt 0:00:00]} Kf7 {
>(Ke5) [%eval 32755,1] [%emt 0:00:00]} 71. h4 {[%eval 32755,1] [%emt 0:00:00]}
>Ke6 {[%eval 32756,1] [%emt 0:00:00]} 72. g6 {[%eval 32756,1] [%emt 0:00:00]}
>Kf6 {[%eval 32757,1] [%emt 0:00:00]} 73. g7 {
>(h5) [%eval 32757,1] [%emt 0:00:00]} Kf7 {[%eval 32758,1] [%emt 0:00:00]} 74.
>Kh7 {[%eval 1279,11] [%emt 0:00:00]} Kf6 {[%eval 32759,1] [%emt 0:00:00]} 75.
>h5 {(Kh8) [%eval 1290,15] [%emt 0:00:00]} Kf5 {
>(Kg5) [%eval 32759,1] [%emt 0:00:00]} 76. h6 {[%eval 1348,14] [%emt 0:00:00]}
>Kf6 {[%eval 32760,1] [%emt 0:00:00]} 77. g8=Q {[%eval 2044,15] [%emt 0:00:00]}
>1-0

Note that I do not know if promotion to rook cost movei 1/2 point but it was a
stupid move to consider.

Shredder7.04 also can play c1R in blitz as the following analysis proves:

Junior 5.0 - movei00_8_070
[D]5r1k/p5pp/R3B3/4P3/2R5/6P1/2p2PKP/1r6 b - - 0 1

Analysis by Shredder 7.04:

33...c1Q 34.Rxc1 Rxc1 35.Rxa7
  +-  (1.42)   Depth: 1/3   00:00:00
33...c1Q 34.Rxc1 Rxc1 35.Rxa7
  ²  (0.61)   Depth: 1/4   00:00:00
33...c1Q 34.Rxc1 Rxc1 35.Rxa7
  ²  (0.61)   Depth: 1/4   00:00:00
33...c1Q 34.Rxc1 Rxc1 35.Rxa7
  ²  (0.61)   Depth: 2/4   00:00:00
33...c1Q 34.Rxc1 Rxc1 35.Rxa7
  ²  (0.61)   Depth: 3/6   00:00:00
33...c1Q 34.Rxc1 Rxc1 35.Rxa7
  ²  (0.61)   Depth: 4/8   00:00:00
33...c1Q 34.Rxc1 Rxc1 35.Rxa7 Re1
  ²  (0.63)   Depth: 5/8   00:00:00
33...c1Q 34.Rxc1 Rxc1 35.Rxa7 Re8 36.Ra6
  ²  (0.46)   Depth: 6/10   00:00:00  5kN
33...c1Q 34.Rxc1 Rxc1 35.Rxa7 Re8 36.Ra6 Re1
  ²  (0.48)   Depth: 7/12   00:00:00  11kN
33...c1Q 34.Rxc1 Rxc1 35.Rxa7 Rfc8 36.Bxc8 Rxc8
  ±  (0.73)   Depth: 8/12   00:00:00  28kN
33...c1Q 34.Rxc1 Rxc1 35.Rxa7 Rc2 36.Bf7 Re2 37.e6
  ±  (0.81)   Depth: 8/12   00:00:00  34kN
33...c1Q 34.Rxc1 Rxc1 35.Rxa7 Rh1 36.Kxh1 Rxf2
  ±  (1.06)   Depth: 9/16   00:00:01  69kN
33...c1Q 34.Rxc1 Rxc1 35.Rxa7 g5 36.Kh3 Rxf2
  ±  (1.06)   Depth: 9/16   00:00:01  83kN
33...c1R 34.Rxc1 Rxc1 35.Rxa7 g5 36.Kh3 Rxf2
  ±  (1.05)   Depth: 9/16   00:00:01  119kN
33...c1R 34.Rxc1 Rxc1 35.Rxa7 g5 36.h4 Re1 37.hxg5 Rxe5
  ±  (0.88)   Depth: 9/18   00:00:01  135kN
33...c1R 34.Rxc1 Rxc1 35.Rxa7 g5 36.Bf7 Kg7 37.Bc4+ Kh6 38.Bb5
  ±  (1.12)   Depth: 10/19   00:00:02  179kN
33...c1R 34.Rxc1 Rxc1 35.Rxa7 Re1 36.f4 h6 37.Kh3 Kh7 38.Bd5 Kg6
  ±  (1.22)   Depth: 11/21   00:00:03  401kN
33...c1R 34.Rxc1 Rxc1 35.Rxa7 Rc2 36.Bf7 Rfc8 37.Rd7 Re2 38.e6 h5
  ±  (1.05)   Depth: 12/24   00:00:08  1286kN
33...c1R 34.Rxa7 Re1 35.Rf7 Rfb8 36.Bf5 R1b6 37.e6 g6 38.Bh3 R6b7 39.Rcc7 Rxc7
  ±  (1.07)   Depth: 13/32   00:00:35  6573kN
33...c1Q 34.Rxc1 Rxc1 35.Rxa7 Rc2 36.Bf5 Re2 37.e6
  ±  (1.06)   Depth: 13/32   00:00:36  6828kN
33...c1Q 34.Rxc1 Rxc1 35.Rxa7 Rc2 36.Bf5 Re2 37.e6
  ±  (1.06)   Depth: 13/32   00:00:37  6828kN
33...c1Q 34.Rxc1 Rxc1 35.Rxa7 Rc2 36.Bf5 Re2 37.e6
  ±  (0.96)   Depth: 14/32   00:00:41  7828kN

(Blass, Tel-Aviv 22.05.2003)

Uri



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.