Computer Chess Club Archives


Search

Terms

Messages

Subject: Asymmetric scoring

Author: Don Dailey

Date: 14:23:15 02/17/99

Go up one level in this thread


On February 17, 1999 at 03:47:25, Amir Ban wrote:

>On February 15, 1999 at 08:01:14, Steffen Jakob wrote:
>
>>On February 15, 1999 at 05:58:35, Jeff Anderson wrote:
>>
>>>On February 15, 1999 at 03:22:50, Jouni Uski wrote:
>>>
>>>>In was quite surprised, that in two consecutine(!) tournament game between
>>>>Junior 5 and Crafty 16.3 Junior eats a7 pawn with bishop. So after b6 bishop is
>>>>lost. I have never seen Mchess or Rebel even considering that. Hmmm...
>>>
>>>I believe that Crafty has something in its eval that keeps it from playing this
>>>move even when it cannot actually see the bishop being captured after it's
>>>trapped.  Is there any test position to see if a program will do this or not?
>>
>>I just cannot believe that Amir has simply forgotten to implement a "trapped
>>bishop" penalty. Amir?
>
>The bishop is considered trapped at a7, but not at b8, which may be why Junior
>and several other programs (Rebel included) fail here.
>
>Bobby Fischer fell for it against Spassky, so it's quite respectable :)
>
>Amir

I think in the end it was never clear whether Fischers move was right
or wrong, the obvious calculations didn't tell the whole story.

I have had the trapped bishop code in and out of my programs at various
times.  I have seen my program take that pawn many times and get away
with it.  I think it's probably best to have the penalty, but I hate to make
this assumption.  A big problem is that you cannot split the difference
with a small penalty,  you must give your program a pretty hefty incentive
to not take the pawn.   And then you have code in your program that makes
it not win material or it lets the opponent win material without a fight.

I have the score now adjusted so that it will sometimes take and sometimes
not take.  The idea is that it will "think twice" about taking,  and let
other considerations become a factor.  But I have seen programs win
against us in private test games because we let them have the pawn when
we didn't need to.  That's the problem and of course it's always a
problem with any kind of evaluation.   I think there are probably some
ways to condition this rule to make it more accurate but I haven't
thought enough about it.  But having a pawn that is posted to
attack b6 might be a start (assuming the bishop took on a7.)

7k/ppp1bpp1/7p/8/8/1P1PB2P/1P3PP1/5K2 w - -

In the test position that was posted,  it looks like some trouble was
taken to make this position demonstrate the evils of taking on a7.
Also, other than the fact that white wins a pawn, his pawn structure
is bad.  One problem for instance is that white is forced to play
a certain way to keep from losing his own b pawn.  His saving pawn
levers a5 and c5 are never possible since he doesn't have an a or
c pawn!   In fact I wonder if white can hold even if he doesn't
take the pawn?

But this is probably not the typical position.  In a middlegame it
could be that having the extra material makes winning the bishop
easier.  But if it's easy enough, the search will handle it and
I'm not eager to override this with strange scores that could be
way off.

In games against other computers I could see the opponent being oblivious
in the example position because the opponent machine will not know that
the bishop can be won in a zillion moves.
But programs with the trapped bishop code will play to keep the bishop
trapped, which is a good thing.  That's why I like having the code in,
even if it doesn't always prevent the machine from taking the pawn.
When your opponent is a human, it's a big problem
and really demonstrates the differences between man and machine.  The
human, even if a relatively weak player, will be focused on important
issues and will make the plan to win the bishop.  Interestingly though,
our program has won a few games against humans who went after this
bishop.  They lost time trying to win the bishop and never did!

Finally, I wonder how many programs use asymetric scoring?  You could
concievable program defensively and say, "I don't want my program
taking that pawn!  But let's make sure the opponent cannot take ours!"

So since I'm on the subject, how many of the programmers out their
subscribe to asymmetric scoring, where certain terms get weighted
differently depending on whether the computer or the computers opponent
possess them?

The idea is that it might be easier to prevent something you don't
understand, although you might not take a chance on doing it yourself.
A simple example is king safety.  We may not want to commit our program
to a risky king side attack against the opponent, but it might make
sense to be paranoid about allowing the opponent a similar chance.  In
one case you are playing a committal and risky move, and in the other you
may simply be playing a simple move to prevent any possible trouble.


- Don



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.