Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: EPD opcodes and mate scores

Author: Heiner Marxen

Date: 13:26:01 12/18/01

Go up one level in this thread


On December 18, 2001 at 02:19:53, Dann Corbit wrote:

>On December 18, 2001 at 02:15:31, Rafael Andrist wrote:
>
>>On December 17, 2001 at 15:06:09, Dann Corbit wrote:
>>
>>>On December 17, 2001 at 14:53:12, Rafael Andrist wrote:
>>>
>>>>In the PGN/EPD specification I couldn't find any human friendly way to indicate
>>>>the distance to the mate if it is the side the move which will be mated. I know
>>>>it would be possible with the "ce" opcode but this is a little bit more
>>>>difficult to read. Is there any way to indicate it in an easy way like the "dm"
>>>>it does if the side to move mates the opponent? Should I use e.g. "dm -3" or is
>>>>this a bad idea? Any suggestions?
>>>
>>>From the PGN Standard, we have this:
>>>-------------------------------------------------------------------------------
>>>16.2.5.7: Opcode "dm": direct mate fullmove count
>>>
>>>The "dm" opcode is used to indicate the number of fullmoves until checkmate is
>>>to be delivered by the active color for the indicated position.  It always
>>>takes a single operand which is a positive integer giving the fullmove count.
>>>For example, a position known to be a "mate in three" would have an operation
>>>of "dm 3;" to indicate this.
>>>
>>>This opcode is intended for use with problem sets composed of positions
>>>requiring direct mate answers as solutions.
>>>-------------------------------------------------------------------------------
>>>Because of the statement "by the active color" I think negative numbers are out.
>>>
>>>Unfortunately, *most* implementers of PGN ignore the correct use of the ce
>>>opcode (though I think 32767 should be allowed for 'this is a checkmate' rather
>>>than used for indication of error).  At any rate, you cannot count on 32767-n
>>>being ply distance to mate.  All sorts of values are used, and that is why
>>>distance to mate is unclear.  Because people ignore the standard.
>>
>>32767-n is wrong too... Please have a look at the standard again.
>>Most ce-programs are using a 16 bit integer for the score. The range of a signed
>>integer is [-32768;32767]
>>in the "ce" opcode -32767 is used for illegal position and the effective "ce"
>>range for legal positions goes from -32766 to 32766, and -32768/32767 can
>>internally used for -/+ infinity.
>>
>>
>>>My suggestion is:
>>>c0 "Mate in three for the opposing side."
>>
>>This may be a solution for a single position, but not for a list of 1000 or more
>>positions. This would also nearly double the needed disk space.
>>
>>I think i will use a new opcode "om x" (= opponent mates in x) and then add a
>>"ce" opcode to make it clear for other programs.
>
>Have a look at the output of chest-3.19, which is correct.

Chest understands ce-values for mates thus:
 32766  mate in 1
 32764  mate in 2
 ...
-32763  followed by mate in 2 (lost in 2)
-32765  followed by mate in 1 (lost in 1)
-32767  illegal (could also be understood as "is mated")

I would like to have a special opcode for lost positions, like "dm" for wins.
While not standard, something like "om" might be adopted by others.

Cheers,
Heiner



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.