Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Program weaknesses

Author: Robert Hyatt

Date: 19:51:22 12/07/99

Go up one level in this thread


On December 07, 1999 at 22:20:43, Vincent Diepeveen wrote:

>On December 07, 1999 at 14:36:50, Robert Hyatt wrote:
>
>>On December 07, 1999 at 09:17:07, Vincent Diepeveen wrote:
>>
>>>On December 06, 1999 at 08:46:09, Robert Hyatt wrote:
>>>
>>>>On December 06, 1999 at 02:54:30, Harald Faber wrote:
>>>>
>>>>>On December 05, 1999 at 22:35:23, Michael Fuhrmann wrote:
>>>>>
>>>>>>Bob Hyatt stated in a recent post that all chess programs have "absolutely
>>>>>>glaring holes." What are the specific weaknesses of some of the top programs.
>>>>>
>>>>>In most cases it is their own king safety.
>>>>
>>>>
>>>>That is certainly a big one.
>>>
>>>should specify by program though. not all
>>>gms are the same, not all programs are the same.
>>>
>>>>Another is over-rating the attacking chances relative to the opponent's
>>>>king safety.  IE many programs think that after Bxg3 hxg3 that white's
>>>>king is very unsafe, when in reality, it is not with a doubled pawn at
>>>>g3.
>>>
>>>Right, this problem is extreme by
>>>the following programs/systems:
>>>  - deep thought
>>>  - deep blue
>>>  - deepviolet (at the iccserver, softwareversion PII-400 getting 22k nps)
>>>
>>>Not even gnuchess is having the f2g2g3 pattern detection as bad implemented
>>>as the above 3.
>>>
>>>>Passed pawns.  Many over-value these, to the point that they will create an
>>>>advanced one that becomes lost laster.  Others have no clue about the advantage
>>>
>>>Yes crafty even says 2 pawns at the third row are worth a rook
>>>not taking into account the king.
>>
>>You may not be able to read a bitmap program properly.  Two connected passers
>>on the 6th are _not_ worth a rook, _unless_ the king is far enough away that
>>it can't reach either promoting square.  And neither of the pawns can be
>>blockaded...
>
>Wrong, white to move all pawns on 3d rank, so if we only make Rb7 here then
>all pawns are inside quadrant of white king or can be stopped by rook.
>just the BIG luck here for black is that there is a pawn on e3, otherwise
>ke3 wins here for black bigtime.
>


If you remove the pawn on e3, crafty doesn't take on b2.  I just loaded
the position and tried it.  It simply plays Ke6 now with the e3 pawn missing.



>Black(1): white
>White(1): d
>
>       +---+---+---+---+---+---+---+---+
>    8  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>    7  |   |   |   |   |   |   |   | *P|
>       +---+---+---+---+---+---+---+---+
>    6  |   |   |   |   |   | *K|   |   |
>       +---+---+---+---+---+---+---+---+
>    5  |   |   |   |   |   | *P|   |   |
>       +---+---+---+---+---+---+---+---+
>    4  | *P|   |   |   |   | P |   |   |
>       +---+---+---+---+---+---+---+---+
>    3  | P |   | *P| *P| P | K |   |   |
>       +---+---+---+---+---+---+---+---+
>    2  |   |   |   |   |   |   |   | P |
>       +---+---+---+---+---+---+---+---+
>    1  |   | R |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>         a   b   c   d   e   f   g   h
>
>White(1): anal
>Analyze Mode: type "exit" to terminate.
>end-game phase
>              clearing hash tables
>              time surplus   0.00  time limit 30.00 (3:00)
>          s   depth   time  score   variation (1)
>                1     0.00  -2.49   1. Rb7
>                1->   0.03  -2.49   1. Rb7
>                2     0.06     --   1. Rb7
>                2     0.08  -2.97   1. Rb7 h5
>                2     0.11  -2.44   1. Rb6+ Kf7 2. Rb7+ Kg6
>                2     0.14     ++   1. e4!!
>                2     0.17  -1.79   1. e4 h5 2. exf5
>                2     0.20   0.92   1. Rd1 c2 2. Rc1
>                2     0.22   0.93   1. Rc1 d2 2. Rd1
>                2->   0.26   0.93   1. Rc1 d2 2. Rd1
>                3     0.28     --   1. Rc1
>                3     0.31  -2.91   1. Rc1 d2 2. Rd1 c2 3. Rxd2 c1=Q
>                3     0.34  -2.13   1. Rb6+ Ke7 2. Rb7+ Kd6 3. Rxh7
>                3     0.37  -1.56   1. e4 fxe4+ 2. Ke3 Kf5
>                3->   0.41  -1.56   1. e4 fxe4+ 2. Ke3 Kf5
>                4     0.47     --   1. e4
>                4     0.52  -2.04   1. e4 c2 2. e5+ Ke6 3. Rb6+ Ke7 4.
>                                    Rd6
>                4     0.58     ++   1. Rb6+!!
>                4->   0.65  -1.17   1. Rb6+
>                5     0.72     --   1. Rb6+
>                5     0.89  -2.23   1. Rb6+ Ke7 2. Rb7+ Kd8 3. Rxh7 c2
>                                    4. Rh8+ Kd7 5. Rc8
>                5->   1.20  -2.23   1. Rb6+ Ke7 2. Rb7+ Kd8 3. Rxh7 c2
>                                    4. Rh8+ Kd7 5. Rc8
>                6     1.78  -2.03   1. Rb6+ Ke7 2. Rb7+ Kd6 3. Ra7 c2 4.
>                                    Rxa4 Ke6 5. Rd4
>                6     1.97  -1.94   1. e4 c2 2. e5+ Ke7 3. Rb7+ Kd8 4.
>                                    Rb6 Kc7 5. Rd6
>                6->   2.24  -1.94   1. e4 c2 2. e5+ Ke7 3. Rb7+ Kd8 4.
>                                    Rb6 Kc7 5. Rd6
>                7     2.64  -1.93   1. e4 c2 2. e5+ Ke7 3. Rb7+ Ke6 4.
>                                    Rb6+ <HT>
>                7->   3.36  -1.93   1. e4 c2 2. e5+ Ke7 3. Rb7+ Ke6 4.
>                                    Rb6+ <HT>
>                8     4.35  -2.09   1. e4 c2 2. e5+ Ke7 3. Rb7+ Kd8 4.
>                                    Rb6 c1=Q 5. Rd6+ Ke7 6. Rxd3 Ke6
>                8     5.69  -1.74   1. Rb6+ Ke7 2. Rb7+ Ke6 3. Rb6+ Kf7
>                                    4. Rb7+ Ke8 5. Rxh7 c2 6. Rc7 d2 7.
>                                    Rc8+ Ke7 8. Rxc2 d1=Q+
>                8->   6.50  -1.74   1. Rb6+ Ke7 2. Rb7+ Ke6 3. Rb6+ Kf7
>                                    4. Rb7+ Ke8 5. Rxh7 c2 6. Rc7 d2 7.
>                                    Rc8+ Ke7 8. Rxc2 d1=Q+
>
>
>crafty is so happy to play Rxb2 because it finds a position with
>king in quadrant winning for black though it's a rook down!
>
>So that's 8 pawns if i'm not mistaken. 4 pawns bonus each pawn



absolutely not.  The total score is about 4 pawns max.  If you look at
the code:

      if (TotalWhitePieces < queen_v &&
          !(SetMask(square1-8)&WhitePieces) &&
          !(SetMask(square2-8)&WhitePieces)) {
        score-=2*PAWN_CONNECTED_PASSED_6TH;
        if ((TotalWhitePieces <= rook_v) &&
            (!(WhiteKing&black_pawn_race_btm[square1]) ||
             !(WhiteKing&black_pawn_race_btm[square2])))
          score-=6*PAWN_CONNECTED_PASSED_6TH;
      }

If we get to that we have two connected passers on the
6th rank.

I require that the opponent have < than a queen, which normally
means a rook or a single piece, but possibly two pieces.  And the
two pawns can not be blockaded.  If that is true, the first
bonus is folded in (PAWN_CONNECTED_PASSED_6TH == .5) wo
we get 1 pawn for that.  If the opponent has a rook or less, and the king
can't get to the queening square for either pawn, then we add in
3 more.  Total=4, _not_ 8.  And I don't do this for each pawn,
but for each _pair_ of connected passers...


>
>So WITHOUT the pawn on e3 it might at 1 ply be very happy here with
>white?
>
>SURE!!!!!
>
>-0.76 even though it's a full rook down!


I get +4 for white here:

               11     8.12   4.07   2. Rxb2 Ke6 3. Ke3 Kd5 4. Rb5+ Kc6
                                    5. Rxf5 Kb6 6. Kd2 h5 7. Kc3 Kc6 8.
                                    Kxc4
               11->   8.17   4.07   2. Rxb2 Ke6 3. Ke3 Kd5 4. Rb5+ Kc6
                                    5. Rxf5 Kb6 6. Kd2 h5 7. Kc3 Kc6 8.
                                    Kxc4
               12    13.58   4.35   2. Rxb2 Ke6 3. Ke3 Kd5 4. Rb5+ Kc6
                                    5. Rxf5 Kb6 6. Rd5 Kc6 7. Kd4 h5 8.
                                    Kxc4
               12->  13.76   4.35   2. Rxb2 Ke6 3. Ke3 Kd5 4. Rb5+ Kc6
                                    5. Rxf5 Kb6 6. Rd5 Kc6 7. Kd4 h5 8.
                                    Kxc4


This is after I remove the pawn on e3 and then lay
Rxb2 for black.  I don't know what you are talking about here.



>
>
>White(1): d
>
>       +---+---+---+---+---+---+---+---+
>    8  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>    7  |   |   |   |   |   |   |   | *P|
>       +---+---+---+---+---+---+---+---+
>    6  |   |   |   |   |   | *K|   |   |
>       +---+---+---+---+---+---+---+---+
>    5  |   |   |   |   |   | *P|   |   |
>       +---+---+---+---+---+---+---+---+
>    4  | *P|   |   |   |   | P |   |   |
>       +---+---+---+---+---+---+---+---+
>    3  | P |   | *P| *P|   | K |   |   |
>       +---+---+---+---+---+---+---+---+
>    2  |   |   |   |   |   |   |   | P |
>       +---+---+---+---+---+---+---+---+
>    1  |   | R |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>         a   b   c   d   e   f   g   h
>
>White(1): an
>Analyze Mode: type "exit" to terminate.
>end-game phase
>              clearing hash tables
>              time surplus   0.00  time limit 30.00 (3:00) [easy move]
>          s   depth   time  score   variation (1)
>                1     0.00  -0.76   1. Ke3
>                1->   0.06  -0.76   1. Ke3
>                2     0.08     ++   1. Ke3!!
>                2     0.11   0.00   1. Ke3 c2 2. Rc1
>                2->   0.14   0.00   1. Ke3 c2 2. Rc1
>                3     0.17  -0.32   1. Ke3 d2 2. Rd1 c2 3. Kxd2 cxd1=Q+
>                                    4. Kxd1
>                3->   0.24  -0.32   1. Ke3 d2 2. Rd1 c2 3. Kxd2 cxd1=Q+
>                                    4. Kxd1
>                4     0.30     ++   1. Ke3!!
>                4     0.33   2.85   1. Ke3 d2 2. Kd3 Ke6 3. Kxc3
>                4->   0.40   2.85   1. Ke3 d2 2. Kd3 Ke6 3. Kxc3
>                5     0.44     ++   1. Ke3!!
>                5     0.50   4.87   1. Ke3 d2 2. Kd3 Ke6 3. Kxc3 h5 4.
>                                    Kxd2
>                5->   0.66   4.87   1. Ke3 d2 2. Kd3 Ke6 3. Kxc3 h5 4.
>                                    Kxd2
>                6     0.80   4.78   1. Ke3 Ke6 2. Kxd3 Kd5 3. Kxc3 Ke4
>                6->   1.10   4.78   1. Ke3 Ke6 2. Kxd3 Kd5 3. Kxc3 Ke4
>                7     1.53   4.78   1. Ke3 d2 2. Kd3 Ke6 3. Kxc3 Kd5 4.
>                                    Kxd2 Ke4
>                7->   2.07   4.78   1. Ke3 d2 2. Kd3 Ke6 3. Kxc3 Kd5 4.
>                                    Kxd2 Ke4
>quit            8     2.12   1/20   1. Ke3
>White(1): quit
>execution complete.
>
>K:\chess\crafty>
>
>So now the ultimate test: let's get away the e3 pawn at position 2
>of the WAC test. Taking on b2 is now simply losing a rook. Does crafty
>consider this?
>
>SURE!!!!
>
>Black(1): d
>
>       +---+---+---+---+---+---+---+---+
>    8  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>    7  |   |   |   |   |   |   |   | *P|
>       +---+---+---+---+---+---+---+---+
>    6  |   |   |   |   |   | *K|   |   |
>       +---+---+---+---+---+---+---+---+
>    5  |   |   |   |   |   | *P|   |   |
>       +---+---+---+---+---+---+---+---+
>    4  | *P|   | *P|   |   | P |   |   |
>       +---+---+---+---+---+---+---+---+
>    3  | P | *R|   | *P|   | K |   |   |
>       +---+---+---+---+---+---+---+---+
>    2  |   | P |   | R |   |   |   | P |
>       +---+---+---+---+---+---+---+---+
>    1  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>         a   b   c   d   e   f   g   h
>
>Black(1): anal
>Analyze Mode: type "exit" to terminate.
>end-game phase
>              clearing hash tables
>              time surplus   0.00  time limit 30.00 (3:00)
>          s   depth   time  score   variation (1)
>                1     0.00   2.28   1. ... Ke6
>                1->   0.03   2.28   1. ... Ke6
>                2     0.06   2.18   1. ... Ke6 2. Ke3
>                2->   0.09   2.18   1. ... Ke6 2. Ke3
>                3     0.12   2.28   1. ... Ke6 2. Ke3 Kd5
>                3     0.15     ++   1. ... Rxb2!!
>                3     0.17   3.81   1. ... Rxb2 2. Rxb2 c3
>                3->   0.21   3.81   1. ... Rxb2 2. Rxb2 c3
>                4     0.23     --   1. ... Rxb2
>                4     0.26   3.44   1. ... Rxb2 2. Rxb2 c3 3. Rd2 cxd2
>                4->   0.29   3.44   1. ... Rxb2 2. Rxb2 c3 3. Rd2 cxd2
>                5     0.32     --   1. ... Rxb2
>                5     0.35   0.71   1. ... Rxb2 2. Rxb2 c3 3. Rb6+ Ke7
>                                    4. Ke3
>
>
>
>


Here is _real_ output.  I have no idea how you are setting this up, but my
version does _not_ play Rxb2 with the e3 pawn missing:
       +---+---+---+---+---+---+---+---+
    8  |   |   |   |   |   |   |   |   |
       +---+---+---+---+---+---+---+---+
    7  |   |   |   |   |   |   |   | *P|
       +---+---+---+---+---+---+---+---+
    6  |   |   |   |   |   | *K|   |   |
       +---+---+---+---+---+---+---+---+
    5  |   |   |   |   |   | *P|   |   |
       +---+---+---+---+---+---+---+---+
    4  | *P|   | *P|   |   | P |   |   |
       +---+---+---+---+---+---+---+---+
    3  | P | *R|   | *P|   | K |   |   |
       +---+---+---+---+---+---+---+---+
    2  |   | P |   | R |   |   |   | P |
       +---+---+---+---+---+---+---+---+
    1  |   |   |   |   |   |   |   |   |
       +---+---+---+---+---+---+---+---+

Is the starting position.  I only get c3 and Ke6 here at any depth.  I have
not tried older versions and don't know whether this might be broken or not.
I'm not unhappy with it however, as to this point in time I have not seen it
lose a game, and I have seen it win plenty...




>
>
>
>>
>>
>>
>>
>>>
>>>Patzer seems giving a pawn at the 6th rank +3.0 or something anyway.
>>>
>>>Nimzo is very happy too with passed pawns.
>>>
>>>Basically it's tough to detect how well pawns are stopped, i bet all programs
>>>have to some extend big problems with this as the evaluation is so dependant
>>>upon just a few terms here. Every term is having a big impact on the evaluation
>>>of the position.
>>>
>>>>of an outside (or distant) passed pawn.  An ancillary point here is that even
>>>>if a program recognizes a passed pawn as good (outside passed pawn) many don't
>>>>recognize a 'distant majority' which is essentially the same thing.  I have
>>>>seen more than one program trade into a K+P vs K+P (multiple p's on both
>>>>sides) ending that was dead lost, even though they might have been a pawn
>>>>up or have a more advanced passer.
>>>
>>>Right, this might be a problem that will remain long time a problem.
>>>there are many factors and reevaluations
>>>to consider before you can apply to such a far
>>>majority a winning bonus.
>>>
>>>>Some value a rook on the 7th too highly, particularly after all the pawns have
>>>>advanced and the king is centralized.  A rook on the 7th there isn't doing
>>>>anything, yet more than one program is very happy with it.
>>>
>>>a problem in diep is it wants to centralize king in endgame always.
>>>usual that's good but sometimes...
>>>
>>>>Some (including older versions of crafty) value connected passed pawns more
>>>>valuable than two isolated passed pawns... This is wrong in king and pawn (only)
>>>>endings...
>>>>
>>>>The list goes on and on...
>>>
>>>Right, however the biggest problem are closed positions.
>>>The problem with closed positions is that the rules are sometimes the
>>>opposite of normal positions.



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.