Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Ruffian's Secret?

Author: Russell Reagan

Date: 20:29:59 11/23/03

Go up one level in this thread


On November 23, 2003 at 20:50:54, Steve Maughan wrote:

>The latest info about Ruffian states:
>
>"Mobility is based on precalculated tables that can recognize special patterns;
>this is one of the major evaluation terms"
>
>This is interesting.  How can you precalculate mobility?  Maybe using rotated
>bitboards - but from the interview with Per-Ola he states that the structure in
>Ruffian is:
>
>"Today I use a hybrid between bitboard and 8x8"
>
>Clearly Per-Ola considers this one of the strengths of Ruffian.  Does anyone
>have any ideas as to what he's doing that may be different?
>
>Regards,
>
>Steve

Hi Steve,

Here's my best guess. Hopefully it will at least be thought provoking.

I have had an idea for a while that I haven't had time to test out. It is
basically using mobility as a measure for other things. Note that when I say
mobility, I don't mean *only* how many squares a piece can move to (that's not
all that interesting IMO).

I read Dan Heisman's book about positional evaluation, in which he discussed the
concept of global mobility, which is the number of squares that a piece can move
to, given an infinite number of moves.

My idea is related to this concept, and I call it, for lack of a more accurate
term, progressive mobility. It is basically "mobility in N moves", or "how many
squares can this piece move to in N moves?" I have ideas about improving upon
the concept of progressive mobility to take into account moves that will be bad,
and I call this concept effective progressive mobility (EPM). To calculate the
EPM of 3 for a rook, I would see how many squares it could safely reach in 3
moves. If a square is attacked by a weaker piece (enemy pawn, knight, or
bishop), or a square is attacked but not defended (meaning the piece would be
hanging), then I would not count that square or squares which it could reach
from that square. You could get more complex if you wanted.

I think you might be able to use this concept for a number of things. Some
amount of a static exchange evaluator that is more far sighted could be
accomplished. For instance, if I can bring 4 pieces to attack an isolated pawn
in 3 moves, and you can only bring 2 pieces to defend it, then there is a good
chance I can win that pawn, or that the pawn is indeed weak, or that it is worth
investigating further at any rate, possibly triggering an extension.

Improved king safety could be possible. If I can defend my king's 9 squares more
than you can attack them for any number of moves, then my king is probably safe.
Finding out if a weak pawn is actually going to be weak is possible (if you can
never bring more pieces to attack my doubled pawns, then I don't care if I have
double pawns instead of non-doubled pawns).

One problem that computers have is knowing that something will never be able to
happen. You might be able to use global mobility to determine if a piece could
ever reach certain squares, and use that information somehow. This also might
help computers evaluate the opening better, by getting their pieces maximum
global mobility as quickly as possible.

One drawback of using classic mobility is that a queen might be helping in an
attack on the king, and instead of keeping the pressure, it moves to the other
side of the board where it has more mobility. Global mobility doesn't change
regardless of where the queen is.

My main thought here is that it might be possible to use EPM to improve the
tactical sight of a program, because you can get an idea of how much material
you might be able to win (or lose), and you get that information statically
(which would cost you a search of several plies otherwise) for not too much
cost. Ruffian seems to have good tactical abilities from what I've seen.

These are just some of my experimental, untested thoughts regarding mobility. I
think there are a lot of details to be hammered out if any of this is to be
useful in practice. In any case, maybe they will help give you something more to
think about regarding Ruffian and precomputed tables and mobility. Attack tables
combined with some form of mobility just reminded me of EPM.



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.