Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: forward pruning for underpromotions

Author: James Robertson

Date: 13:15:46 09/20/99

Go up one level in this thread


On September 20, 1999 at 14:51:35, Robert Hyatt wrote:

>On September 20, 1999 at 14:08:26, Jon Dart wrote:
>
>>Arasan doesn't generate rook or bishop underpromotions except at
>>ply 0 (I think Crafty does the same thing).
>
>
>No.  Crafty generates all promotions in normal search, but only generates
>queen promotions in the q-search.  I think leaving out underpromotions is a
>mistake in the regular search... but in the q-search only doing queens seems
>reasonable if you don't handle checks and escaping from check.  If you do, I'd
>likely throw in knight promotions...
>
>

My program only generates Queen and Knight promotions, as I have never seen a
position where a Bishop/Rook promotion was any good.... I have run across a few
nice Knight promotion positions, though.

James

>
>
>>
>>Forward pruning is a reasonable thing to do. In the qsearch, I
>>do something like:
>>
>>if (current material + gain from promotion + some constant < alpha)
>>   skip move
>>
>>My latest build has this output on your example:
>>
>>ply 4.  Kh3     0 seconds.      score:  -7.19   215 nodes.
>>ply 5.  Kh3     0 seconds.      score:  -7.19   283 nodes.
>>ply 5.  Kh3     0 seconds.      score: -11.08   470 nodes.
>>ply 6.  Kh3     0 seconds.      score: -11.08   1144 nodes.
>>ply 7.  Kh3     0 seconds.      score: -11.11   2538 nodes.
>>ply 8.  Kh3     0 seconds.      score: -11.28   4856 nodes.
>>ply 9.  Kh3     0 seconds.      score: -11.28   5172 nodes.
>>ply 9.  Kh3     0 seconds.      score: -17.02   9453 nodes.
>>ply 10. Kh3     0 seconds.      score: -17.52   19403 nodes.
>>ply 11. Kh3     0 seconds.      score: -17.52   20700 nodes.
>>ply 11. Kh3     0 seconds.      score: -156.00  50050 nodes.
>>
>>--Jon
>>
>>On September 20, 1999 at 02:09:30, Steffen Jakob wrote:
>>
>>>Hi all!
>>
>>>
>>>I still try to improve the playing skill of Hossa in pawn endgames (which is not
>>>very difficult because he plays them very badly). About underpromotions: I know
>>>that Amir Ban doesn't generate underpromotions in the search tree. I don't like
>>>that very much. What I am doing now is to reduce the search depth for
>>>underpromotions (one ply). It helps a lot in some positions, e.g. in the pawn
>>>endgame position where crafty saw that mate in 4 although it is a mate in 6. As
>>>you can see below I need 158616 nodes to see the mate without pruning and 135713
>>>with underpromotion pruning. I think about reducing the depth by two plies for
>>>bishop underpromotions (can someone please give me some positions where the
>>>winner move is to promote the pawn to a bishop?). What are you thinking about
>>>this? Are there other ways to prune underpromotions? E.g. if you are sure that
>>>queen promotions are searched before underpromotions and alpha > xxx then it
>>>might be useless to try those moves (at least rook and bishop promotions).
>>>
>>>analysis without forward pruning:
>>>---------------------------------
>>>
>>>  +---+---+---+---+---+---+---+---+
>>>8 |   |   |   |   |   |   |   |   |
>>>  +---+---+---+---+---+---+---+---+    Black: Hossa v1.63 (C) (0)
>>>7 ||P||   |   |   |   |   |   |   |
>>>  +---+---+---+---+---+---+---+---+    Black material: 4
>>>6 | P |   |   |   |   |   ||P||   |
>>>  +---+---+---+---+---+---+---+---+
>>>5 |   |   |   |   |   |   |   ||P||
>>>  +---+---+---+---+---+---+---+---+    White to move
>>>4 |   |   |   |   |   |   |   | P |
>>>  +---+---+---+---+---+---+---+---+    8/p7/P5p1/7p/7P/4kpK1/8/8 w
>>>3 |   |   |   |   ||K|||P|| K |   |
>>>  +---+---+---+---+---+---+---+---+    White material: 2
>>>2 |   |   |   |   |   |   |   |   |
>>>  +---+---+---+---+---+---+---+---+    White: opponent (0)
>>>1 |   |   |   |   |   |   |   |   |
>>>  +---+---+---+---+---+---+---+---+
>>>    a   b   c   d   e   f   g   h
>>>
>>>
>>> depth   value    time    nodes pv
>>>    1    -5.23    0.00        2 1.g3h3
>>>   <1>   -5.23    0.00        3 1.g3h3
>>>    2    -5.35    0.00       38 1.g3h3 f2 2.h3g2
>>>   <2>   -5.35    0.00       48 1.g3h3 f2 2.h3g2
>>>    3    -5.37    0.00       84 1.g3h3 f2 2.h3g2 e3e2
>>>   <3>   -5.37    0.00       90 1.g3h3 f2 2.h3g2 e3e2
>>>?   4  -510.92    0.01      194 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>?  <4> -510.92    0.01      207 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>    5  -510.92    0.01      322 1.g3h3 f2 2.h3g2
>>>   <5> -510.92    0.01      335 1.g3h3 f2 2.h3g2
>>>    6  -510.92    0.01      531 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>   <6> -510.92    0.01      552 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>    7  -510.92    0.02     1182 1.g3h3 f2 2.h3g2 e3e2 3.g2h2 f2f1Q
>>>                                4.h2g3
>>>   <7> -510.92    0.02     1203 1.g3h3 f2 2.h3g2 e3e2 3.g2h2 f2f1Q
>>>                                4.h2g3
>>>    8  -510.98    0.05     2817 1.g3h3 f2 2.h3g2 e3e2 3.g2h2 e2f3
>>>                                4.h2h3 f2f1Q 5.h3h2
>>>   <8> -510.98    0.05     2867 1.g3h3 f2 2.h3g2 e3e2 3.g2h2 e2f3
>>>                                4.h2h3 f2f1Q 5.h3h2
>>>    9  -510.97    0.09     5587 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 f1f2 5.h2h3 e2f3
>>>   <9> -510.97    0.09     5644 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 f1f2 5.h2h3 e2f3
>>>?  10  -512.01    0.24    14405 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 e2e3 5.h2g3 f1xa6
>>>? <10> -512.01    0.24    14556 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 e2e3 5.h2g3 f1xa6
>>>   11  -512.03    0.64    41493 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 e2e3 5.h2g3 f1xa6 6.g3g2
>>>  <11> -512.03    0.65    41840 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 e2e3 5.h2g3 f1xa6 6.g3g2
>>>?  12      #-6    2.11   158616 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 g5 5.h4xg5 e2f3 6.g6 f1g2
>>>? <12>     #-6    2.12   159367 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 g5 5.h4xg5 e2f3 6.g6 f1g2
>>>
>>>
>>>analysis with forward pruning:
>>>------------------------------
>>>
>>> depth   value    time    nodes pv
>>>    1    -5.23    0.00        2 1.g3h3
>>>   <1>   -5.23    0.00        3 1.g3h3
>>>    2    -5.35    0.00       38 1.g3h3 f2 2.h3g2
>>>   <2>   -5.35    0.00       48 1.g3h3 f2 2.h3g2
>>>    3    -5.37    0.00       84 1.g3h3 f2 2.h3g2 e3e2
>>>   <3>   -5.37    0.00       90 1.g3h3 f2 2.h3g2 e3e2
>>>?   4  -510.92    0.01      194 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>?  <4> -510.92    0.01      207 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>    5  -510.92    0.02      322 1.g3h3 f2 2.h3g2
>>>   <5> -510.92    0.02      335 1.g3h3 f2 2.h3g2
>>>    6  -510.92    0.03      531 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>   <6> -510.92    0.03      552 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>    7  -510.92    0.03     1182 1.g3h3 f2 2.h3g2 e3e2 3.g2h2 f2f1Q
>>>                                4.h2g3
>>>   <7> -510.92    0.03     1203 1.g3h3 f2 2.h3g2 e3e2 3.g2h2 f2f1Q
>>>                                4.h2g3
>>>    8  -510.98    0.04     2726 1.g3h3 f2 2.h3g2 e3e2 3.g2h2 e2f3
>>>                                4.h2h3 f2f1Q 5.h3h2
>>>   <8> -510.98    0.04     2776 1.g3h3 f2 2.h3g2 e3e2 3.g2h2 e2f3
>>>                                4.h2h3 f2f1Q 5.h3h2
>>>    9  -510.97    0.08     5403 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 f1f2 5.h2h3 e2f3
>>>   <9> -510.97    0.08     5460 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 f1f2 5.h2h3 e2f3
>>>?  10  -512.01    0.16    12077 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 e2e3 5.h2g3 f1xa6
>>>? <10> -512.01    0.16    12228 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 e2e3 5.h2g3 f1xa6
>>>   11  -512.03    0.46    33004 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 e2e3 5.h2g3 f1xa6 6.g3g2
>>>  <11> -512.03    0.46    33351 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 e2e3 5.h2g3 f1xa6 6.g3g2
>>>?  12      #-6    1.71   135713 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 g5 5.h4xg5 e2f3 6.g6 f1g2
>>>? <12>     #-6    1.72   136462 1.g3h3 f2 2.h3g2 e3e2 3.g2g3 f2f1Q
>>>                                4.g3h2 g5 5.h4xg5 e2f3 6.g6 f1g2
>>>
>>>
>>>Best wishes,
>>>Steffen.



This page took 0.01 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.