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.