Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Programs that keep searching for mate... A challenge:

Author: Dann Corbit

Date: 12:43:36 12/25/98

Go up one level in this thread


On December 25, 1998 at 06:30:11, Thom Perry wrote:

>On December 23, 1998 at 19:17:32, Dann Corbit wrote:
>
>>Here is a position that apparently has a lot of mates. Can anyone find a faster
>>or better solution than the best of these (two tied at 32748) which is
>>guaranteed to win?
>>1R1Q4/5k2/p1p1pPb1/P4qp1/B3p3/4P3/5K1P/8 w - - id "C.A.P.47942"; ce 32740; pv
>>Ke1 Bh7 Qf8+ Kg6 Qg7+ Kh5 Bd1+ g4 Bxg4+ Qxg4 Qxh7+ Kg5 Rg8+ Kxf6 Qh6+ Ke5 Qh8+
>>Qg7 Qxg7+ Kd6 Rd8+ Kc5 Qd4+ Kb5 Rb8+ Kxa5 Qb4#
>>1R1Q4/5k2/p1p1pPb1/P4qp1/B3p3/4P3/5K1P/8 w - - id "C.A.P.47942"; ce 32744; pv
>>Ke1 Bh7 Rb7+ Kg6 Qe8+ Kh6 f7 Kh5 f8=Q+ Kg4 Bd1+ Kh3 Qh5+ Kg2 Qe2+ Kg1 Qf1+ Qxf1+
>>Qxf1+ Kxh2 Rxh7+ Kg3 Rh3#
>>1R1Q4/5k2/p1p1pPb1/P4qp1/B3p3/4P3/5K1P/8 w - - id "C.A.P.47942"; ce 32748; pv
>>Ke1 Bh7 Rb7+ Kg6 Qe8+ Kh6 f7 Kh5 f8=Q+ Kg4 Qxf5+ Kxf5 Rxh7 Ke5 Bb3 Kd6 Qe7+ Ke5
>>Qxe6#
>>1R1Q4/5k2/p1p1pPb1/P4qp1/B3p3/4P3/5K1P/8 w - - id "C.A.P.47942"; ce 32748; pv
>>Ke1 Bh7 Rb7+ Kg6 Qe8+ Kh6 f7 Kh5 f8=Q+ Kg4 Qxf5+ Bxf5 Bd1+ Kh3 Rb2 Bg4 Qh8+ Bh5
>>Qxh5#
>
>What do the large ce values in your post mean?  In my chess program
>(MCP8), the maximum ce value for  a  position would be the integer
>9999 which corresponds to +99.99 which is mate.  A value of 9996 would be
>+99.96 which is mate-in-4 for the side to move.  A value of -0143 would
>mean -1.43 which would be a small advantage for the other side.
You are using Rebel.  It has a non-standard way of describing a checkmate.  I
sent a bug report to report the defect.  Here is the correct nomenclature from
the actual PGN Standard:

16.2.5.6: Opcode "ce": centipawn evaluation

The opcode "ce" indicates the evaluation of the indicated position in centipawn
units.  It takes a single operand, an optionally signed integer that gives an
evaluation of the position from the viewpoint of the active player; i.e., the
player with the move.  Positive values indicate a position favorable to the
moving player while negative values indicate a position favorable to the
passive player; i.e., the player without the move.  A centipawn evaluation
value close to zero indicates a neutral positional evaluation.

Values are restricted to integers that are equal to or greater than -32767 and
are less than or equal to 32766.

A value greater than 32000 indicates the availability of a forced mate to the
active player.  The number of plies until mate is given by subtracting the
evaluation from the value 32767.  Thus, a winning mate in N fullmoves is a mate
in ((2 * N) - 1) halfmoves (or ply) and has a corresponding centipawn
evaluation of (32767 - ((2 * N) - 1)).  For example, a mate on the move (mate
in one) has a centipawn evaluation of 32766 while a mate in five has a
centipawn evaluation of 32758.

A value less than -32000 indicates the availability of a forced mate to the
passive player.  The number of plies until mate is given by subtracting the
evaluation from the value -32767 and then negating the result.  Thus, a losing
mate in N fullmoves is a mate in (2 * N) halfmoves (or ply) and has a
corresponding centipawn evaluation of (-32767 + (2 * N)).  For example, a mate
after the move (losing mate in one) has a centipawn evaluation of -32765 while
a losing mate in five has a centipawn evaluation of -32757.

A value of -32767 indicates an illegal position.  A stalemate position has a
centipawn evaluation of zero as does a position drawn due to insufficient
mating material.  Any other position known to be a certain forced draw also has
a centipawn evaluation of zero.



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.