Computer Chess Club Archives




Subject: Re: Static evaluation after sac, how about asymmetry?

Author: Peter McKenzie

Date: 11:44:23 12/04/99

Go up one level in this thread

On December 04, 1999 at 10:22:39, Robert Hyatt wrote:

>On December 04, 1999 at 00:17:16, Peter McKenzie wrote:
>>On December 03, 1999 at 21:12:23, Robert Hyatt wrote:
>>>On December 03, 1999 at 18:10:03, Will Singleton wrote:
>>>>On December 03, 1999 at 08:49:19, Andrew Williams wrote:
>>>>>Over the last few days, I have been fascinated by the discussions on CCC
>>>>>about positional sacrifices. Some of the discussion has centred on the value
>>>>>assigned to the attack that is obtained after the sacrifice and I was wondering
>>>>>how other programs evaluated the position after Hossa's sac:
>>>>>r3q1k1/ppp1rp2/2n1b2Q/8/2P5/3B4/PPP2RPP/5RK1 b - - 0 2
>>>>>This is after 1. Bxh6 gxh6 2. Qxh6 from the original position posted by
>>>>>Peter McKenzie. PostModernist's static evaluation of the position is presented
>>>>>below. Essentially, it thinks that White is winning by 0.71. The ATTACKTOTAL
>>>>>score is generated by analyzing the squares around the King to see how many of
>>>>>them are attacked and what sorts of pieces are attacking them. Please note that
>>>>>not all the factors that contribute to PM's score are included in the output
>>>>>Could other programmers post similar information? I believe that even an
>>>>>overall static evaluation would be interesting.
>>>>>Andrew Williams
>>>>>BLACK to move
>>>>>MATERIAL -137 (Positive means WHITE has more material) W:19086 B:19223
>>>>>Game stage M
>>>>>Actual moves played: 1 (halfMoves=1)
>>>>>Fifty move counter: 0
>>>>>r=547      #       #       #    q=1040     #    k=15939    #
>>>>>o=103   o=106   o=103      #    r=565   o=94       #       #
>>>>>   #       #    n=346      #    b=346      #       #    Q=1022
>>>>>   #       #       #       #       #       #       #       #
>>>>>   #       #    P=101      #       #       #       #       #
>>>>>   #       #       #    B=344      #       #       #       #
>>>>>P=103   P=103   P=98       #       #    R=553   P=103   P=115
>>>>>   #       #       #       #       #    R=555   K=15993    #
>>>>>HCW=1   HCB=1
>>>>>cannotCW=1      cannotCB=1
>>>>>CCRW=0  CCRB=0
>>>>>Piece Bonuses White=4   Piece Bonuses Black=-34
>>>>>EVALUATION : 71 (positive means WHITE is winning)
>>>>For Amateur:
>>>>r3q1k1/ppp1rp2/2n1b2Q/8/2P5/3B4/PPP2RPP/5RK1 b - -
>>>>Using a static eval, I get different results if it is White or Black doing the
>>>>evaluating.  I guess this is a result of my asymmetrical king-safety.
>>>>White says +0.73, Black says +1.29 (+ is good for white).  Does anyone else do
>>>>this asymetrically?
>>>I have always been asymmetric except for a few failed attempts scattered along
>>>the way...   I think it is the right way myself...
>>I have never been asymmetric, unless you count a small bonus for the side to
>>I can see certain practical advantages to an asymmetric evaluation, but in the
>>long term I personally don't think it is a good idea.  I'm interested in my eval
>>being as accurate as possible.  If my eval thinks my opponent's sacrificial
>>attack is unsound then I'm happy to allow the attack even if it means getting
>>mated from time to time.  If I do get mated, then I can learn from it and
>>improve the eval so it understands that type of position better.
>>This approach is in contrast to asymmetric evaluation.  Here, if the 'real'
>>(pre-asymmetry) eval thinks an opponent's sacrificial attack is unsound the
>>program may still avoid the attack because the 'fudge factor' will be applied to
>>the eval which may make the attack appear sound.  Sure, this allows you to avoid
>>getting mated from time to time but at what cost?  I don't like it for 2
>>1) the program will make other concessions to avoid unsound attacks
>>2) it is harder to improve the accuracy of the evaluation function because the
>>fudge factor means the eval isn't 'putting itself on the line'.
>>I view this issue as similar to penalising blocked positions.  I don't like that
>>because it isn't related to the objective assessment of the position.  I don't
>>mind if humans win the odd game from blocked positions vs my program, as I will
>>examine those games and improve the play of the program in that type of
>>position.  Also I don't want my program choosing a bad open position instead of
>>a good closed one (this is a bit extreme, but you get my idea).
>If you don't handle blocked positions, winning the odd game isn't the problem.
>The problem is you are going to draw _many_ games against lower-rated players,
>because if you don't actively avoid positions where you have no viable pawn-
>breaks, you reach positions where you simply can't win no matter what.

To be honest, I haven't seen this problem very much if at all.  I guess the
style of my program means it is always 'trying something', of course that
something might not be very good...

I can see your point though - objectively blocked positions could be more
drawish than open positions.  This is quite a generalisation and would of course
depend very much on how you define a blocked position.  In such a case (assuming
I could reliably detect this class of position) I would prefer to handle it by
multiplying the score by a fraction (a number between 0 and 1).  Is this how
Crafty does it, or do you actually subtract a number from the score?

>As a human I _definitely_ play like this, depending on who I am playing against.
>I _never_ allow the position to become blocked against a weaker opponent that I
>believe I can beat tactically.

Sure, its not good to allow a weaker player to completely block the position
unless you have a real strategic advantage (eg N vs B).

Note that as a human, when I used to play serious tournaments I would prefer to
play strategically against weaker players.  I would actually avoid early
tactical encounters for 2 reasons:
- a weaker player always has a chance of finding a lucky 'random tactic' when
the position is wild.
- weaker players will almost certainly make frequent small strategic errors,
especially in positions that they think are drawish.

This would allow me to beat weak players in a very low risk fashion.

>Also, as a human, I don't think "my" evaluation is 100% symmetric either.  But
>that is personal opinion...

This may come down to personal style.  And of course its nice to give each
program its own style too, so there is no 'right answer' to this whole
discussion :-)

>>Just my personal philosophy regarding computer chess...

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.