Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Outside passer and candidate passer: definition wanted! :-)

Author: h.g.muller

Date: 00:28:09 02/28/06

Go up one level in this thread


On February 27, 2006 at 15:34:52, Alessandro Scotti wrote:

>Hi H.G.,
>thanks for this explanation, it's a very interesting and new approach for me...
>will try to see if it works for me too, although it seems it will take a bit of
>work.

That might depend on how your search is structured. In my case it was
recognizing threats at the horizon in a static way (formally: a null move
followed by a SEE-based eval), and so it was very natural to add Pawn
non-captures to the SEE as if they were promotions. At the larger depths
available today I would use null move followed by a search (at least a QS), and
my QS would consider null-move. In that case simply making the pawn race part of
the QS repertoire you would automatically follow lines like

P - null - P - null - P - null - P->Q

and the threat would be percieved.

The more subtle part in a QS that recognizes threats is always what to do if
there is one. Usually a threat is one of your pieces being captured in the
null-move reply, and you would enable moves in your search like retreating or
defending it. I this case the threatening move would be a Pawn non-capture, and
the proper defence would be to run towards the promotion square with your King.
Like minimax works it would do this starting at the end of the line, i.e. if th
promootion can not be followed by KxQ, the null move just before it would
receive a bad score, and it would try a 'hunt' King move there. If the King was
only 2 steps away from the promotion square substituting this move for the last
null move would solve the problem satisfactory, and the null-move before it
would no longer be percieved as a threat. If the King is farther away, it would
try to substitute hunt moves for the null moves working its way back from the
end.

All this is automatic minimax behavior. With alpha-beta a promotion that can be
stopped leads to a tree that only branches on the plies of the hunter, with a
branching factor 2 (first null move, then hunt if needed), if you are adept in
sorting the hunt moves: these nodes are then beta nodes. The alpha nodes of the
racer are all-nodes, but in this case 'all' is one!

The 'danger' is in when the promotion can not be stopped. Then the hunter's
plies all become all-nodes, and the search can blow up. IMO this is justified,
because almost always you are talking about a variation that will decide the
game, then. Nevertheless, to maintain efficiency, one should be a little
selective what to allow as hunt moves. In particular, you don't want the search
to figure out in how many million ways the hunting King can NOT catch the Pawn
if it is outside the 'square', so a move that does not step into the square is
not a valid hunting move (an easy static test). Moves that increase the distance
to the Pawn or promotion square seldomly lead to anything, and can be dropped as
well. I allowed some variation in hunt moves rather than only allowing the
'best' (in terms of approach), to prevent problems with positions like:

[D] 8/8/8/3pp3/1P3k2/8/8/8 w

where the fastest approach to the promotion square is blocked, and the merit of
the two detours can only be judged on later plies. So try them both!

If your program does not do threat detection at the horizon, an easy alternative
would be to (in QS) allow the Pawn to make a multiple step from anywhere on the
board (rather than only a double step on its initial row), like a 'Lance' in
Shogi, allowing a semi-passer to promote in a single move. To not sort-change
the defense, the opponent should be allowed on his reply to do e.p. capture of
that Pawn (now a Queen) on any square that was skipped, and in addition the King
should be allowed to do e.p. captures on some of those squares as well (based on
the square rule). This would not be as clever in discovering and navigating
around King obstructions as a dynamic search, unless you make a smart routine
for selecting the e.p. captures with King.

The only other important issue is when to allow the start of a race with a new
Pawn. If you do the races not only in QS but also as extensions, such starts are
made automatically in the full-width search, even after the Pawn in question was
'liberated' only at the end of another race (or Pawn's leap). Like in:

[D] 8/1p6/1P6/P3k3/8/8/8/8 w

you would get 1. a5-a8Q, b7xa6 e.p. 2. b6-b8Q, (Ke5 too far away to capture
e.p.)



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.