Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Yace Analysis?

Author: Allen Lake

Date: 14:20:10 09/15/02

Go up one level in this thread


On September 15, 2002 at 07:53:45, Steve Coladonato wrote:

>The annotate function in SCID is pretty basic.  Yes, it will annotate a complete
>game for you but can't or doesn't do the following (all can be done with the
>Crafty annotate command)
>
>a) Set a threshold for determining when the moved played is not as good as the
>engine selected move.

Agreed.  This shouldn't be too hard to implement.  It would appear to be a
matter of adding an additional selector field in the Annotate dialog box.  I'll
take a look at it and see if I can find a way to implement it.  I've found that
Shane is much more likely to include a feature like this if somebody provides
some code to start with.

>b) Analyze multiple games by player name rather than white or black.

I suggested something like this to Shane back in the spring of this year.  What
I had in mind was a command-line executable -- like pgnscid -- that would
emulate the crafty "annotate" syntax, with additional parameters to provide
additional filtering information.  Is this similar to what you had in mind?

>c) Display the score for the move played when the engine selected move is deemed
>better than the move played.
>I think the problem is more with the engine rather than the SCID interface.  I
>don't know if all engines return to the calling program the same information or
>at least a consistent set of return values.  The engine would have to return:
>1) the score for the move played
>2) the variation for that score (optionally used by calling program)
>3) the score for the engine selected move
>4) the variation for the engine selected move.

That is probably not possible, given the nature of the communication between
Scid and the analysis engine.

Scid is using the Winboard engine protocol to communicate with the engines.
Scid starts the engine, force-feeds it the current board position (using the
edit command and the current game move list), and then tells the engine to
analyze the position.  The analysis output created by the engine is then
displayed in the Scid analysis engine window and is added as annotation to the
game record depending on the conditions the user set in the Annotate dialog.

Whether or not you could get the information for #1 and #2 above is completely
engine-dependent.  If the engine considers the actual move played and displays
analysis output for that move, you could potentially capture that output and
save it for annotation purposes.  If the engine doesn't consider the move or
doesn't display analysis output for it, then there would be nothing to use.  #3
and #4 above are already available in the Scid annotation.

>Scores should be absolute meaning (+) indicates white's favor and (-) indicates
>black's favor rather than (+) indicating a score favorable to the side on move
>and (-) indicating a score not favorable to the side on move.

From my examination of the Scid source code, Shane has tried to make the score
output absolute from the White perspective in the past (I think he has changed
that format in more recent releases, but I'm not sure).  Unfortunately, engine
programmers are not at all consistent in the way the engines return evaluation
scores -- some use absolute values and some use side-to-move -- and this setting
is usually not configurable by the user.  Obviously, this causes problems in
standardizing the Scid output.

>If you compare the output of the crafty annotate command to the output of the
>SCID annotate utility, just the differences I have mentioned make the Crafty
>output much more informative than the SCID output.  I'm not bashing Shane here.

I'm not as familiar with Crafty annotation as I am with Scid annotation, so I
can't comment one way or the other as to which is more useful or informative.

There is a tradeoff underlying this whole situation.  Shane has chosen to
implement a more generic annotation facility which supports a wider variety of
analysis engines.  He's done this by supporting the existing Winboard protocol
features.  Since the Winboard protocol is designed to facilitate playing games
rather than static analysis, Scid's annotation ability will also be limited by
that choice (playing games vs. static analysis).

On the other hand, Crafty's annotation facility lies outside the Winboard
protocol, so it can be designed to create any sort of annotation Dr. Hyatt wants
to create.

>As a matter of fact, I am an advocate of what he has done and consider SCID an
>excellent Chess database utility with a very robust feature set.  But right now,
>I annotate my games with Crafty and then replace the game in SCID with the "can"
>file.

That's probably the best thing for you to do right now.  Also, if you haven't
already, I'd suggest taking a look at the Scid mailing list archives
(http://sourceforge.net/mailarchive/forum.php?forum_id=1830) to see if any of
your questions or requests have been considered.  Subscribing to the Scid
mailing list is also highly recommended ;)



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.