Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Ten years later: revising EPD/FEN/PGN

Author: Steven Edwards

Date: 00:04:11 09/10/03

Go up one level in this thread


On September 10, 2003 at 01:45:27, Koundinya Veluri wrote:
>On September 09, 2003 at 18:33:22, Steven Edwards wrote:

>>4. The centipawn evaluation operand type needs a mate score indication
>>correction.
>
>I would also like to be able to use the "dm" (direct mate) opcode with negative
>values. So dm -3 would mean the active color gets mated in 3 moves. The "dm"
>opcode is more convenient to use than "ce" if your program doesn't use the EPD
>mate score format internally.

You raise an important point about the current absence of an explicit indication
for "the active color loses in N", and this needs to be addressed.  The current
reliance on overloading the "ce" opcode operand is not the best way to handle
this.  However, I am rather hesitant to extend the semantics of the "dm" opcode
in a way (allowing a non positive operand) that could break exisiting programs.

Instead of overloading "dm" (not to mention "ce"), a better treatment would be
the addition of a new opcode specific to handling forced mates/losses.

The CTScore class in SPCT has an instance method:

    void Encode(ostream &theOstr) const;  // Nearly all classes have one of
these

that produces a "human readable" formatted text value for the given object on
the specified output stream.  For regular score values, this produces a decimal
pawn output like

    +0.321

and

    -3.330

but for special values, it produces text like

    MateIn4

and

    LoseIn107   // Must have a tablebase for this one!

and

    PosInf

and for the "Lose in zero" case

    Checkmated

These are easily generated, easily parsed, and easily human readable.  So I
would like to see a new EPD opcode for their representation.



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.