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.