Page 1 of 2

### Kibitz score reporting in server play

Posted: Fri Mar 16, 2007 3:38 pm
How should position evaluation scores be reported when kibitzing in server play?

### Re: Kibitz score reporting in server play

Posted: Sat Mar 17, 2007 7:34 am

Say that a queen is worth one pound sterling. Then a rook would go for about eleven shilling and tuppence. Positional terms might be expressed in milli-farthings or micro-groats.

### Re: Kibitz score reporting in server play

Posted: Sat Mar 17, 2007 10:44 am
Sounds good to me!

### Re: Kibitz score reporting in server play

Posted: Sat Mar 17, 2007 4:50 pm
Another good question. How do you determine whether the machines eval is awarding points for positional play instead of something else? As an example if a eval gives points for protecting another man on the board how would you know whether this was considered positional or a defensive measure?
I think some of your ideas sound good but just how to implement them is another question.
Bill

### Re: Kibitz score reporting in server play

Posted: Sat Mar 17, 2007 5:14 pm
By "positional evaluation score" I mean the total of material, positional, and any other factors into one number.

--------

In the early computer chess literature, the score was almost always given from the White point of view and the custom remained for some time. The papers back then would label a search tree with alternating "min" and "max" ply. However, after the advent of the negamax formalism, it became much more common to see scores from the active color point of view. And that meant the program point of view at the search tree root.

As for score resolution: The authors of the Northwestern program Chess 4.x had it round all internal scores to the nearest quarter pawn. The claim was that this increased the number of A/B cutoffs. Maybe it did, but I wonder if anyone is doing anything similar today.

Symbolic's scores are thirty two bit signed integers and the base unit is one micropawn. Other than some special scores (like mate/lose), the micropawn number gets a floating divide by one million and is then output as a decimal number with up to three digits after the radix point. The gain from using floating output is that I can change the internal base unit without having it affect the external data presentation.

### Re: Kibitz score reporting in server play

Posted: Tue Mar 20, 2007 10:52 am
If you kibizes for the viewers, it have to be in the format they are used too. Eg. in decimalpoints from White's side of view, maybe even with an added +/= score. Ex. += (+0.45) 22...exf4 23.Rxf4

Internaly it should of course do what the protocol require (from engines point in both Winboard and UCI).

It is just as important to kibitzing the pv in fide notation and not in coordinate or long notation. The movenumber helps too to give an easy to understand pv-line.

### Re: Kibitz score reporting in server play

Posted: Tue Mar 20, 2007 1:27 pm
As mentioned before, Symbolic outputs some special scores in a non numeric format. A mate in four is "MateIn4" and a lose in twelve is "LoseIn12". There aren't any spaces because of the way Symbolic uses a single token for score I/O. The "MateInN" format is taken in part from Crafty's similar "MatN" output. But the program does not permit negation of either mating or losing scores, so there's no "-MatN" output. Internally, scores are not negated directly, but rather shifted up or down in the tree. So a "MateIn5" shifted up one ply is "LoseIn5"; the same score shifted down one ply is "LoseIn4".

Symbolic output a draw score as "Even".

When Symbolic locates a forced mate from its point of view, it kibitzes a separate line announcing this with a spelled number. E.g., "I have a checkmate in twenty seven moves." Admittedly, this could be an annoyance to a human opponent, but the I think most don't mind this too much. For a forced loss, there's no extra kibitz line.

--------

Other kibitz output:

1. The labeled PV in SAN with move numbers.

2. The labeled node frequency in Hz (usually KHz).

3. The search termination indicator form the following list (elide "CTSerachTerm"):

Code: Select all

``````  CTSearchTermActive,         // Still running
CTSearchTermAllBadButOne,   // All moves except one are certain losing
CTSearchTermAllCertain,     // All moves have certain scores
CTSearchTermBadParams,      // Invalid input parameters
CTSearchTermBookMove,       // Book move
CTSearchTermCancelled,      // Cancellation
CTSearchTermContingency,    // Contingency &#40;insufficient time&#41;
CTSearchTermDepthLimit,     // Fixed depth limit
CTSearchTermEarlyLose,      // Early lose detected in search
CTSearchTermEarlyMate,      // Early mate detected in search
CTSearchTermEasyMove,       // Easy move
CTSearchTermFastMate,       // Sufficiently fast checkmate
CTSearchTermHintMove,       // Quick move from hint facility
CTSearchTermIterLimit,      // Fixed iteration count limit
CTSearchTermIterSysMax,     // System maximum iteration
CTSearchTermNoMoves,        // No moves at ply zero
CTSearchTermNodeLimit,      // Fixed node count limit
CTSearchTermNonSpecific,    // Non specific or unknown reason
CTSearchTermOnlyMove,       // Only move
CTSearchTermQuickMateIn1,   // Quick pick mate in one
CTSearchTermQuickMateIn2,   // Quick pick mate in two
CTSearchTermQuickMateIn3,   // Quick pick mate in three
CTSearchTermRandomMove,     // Randomly selected move
CTSearchTermSnapReply,      // SnapReply &#40;oppo search nominal time&#41;
CTSearchTermTablebaseWin,   // Tablebase move &#40;winning&#41;
CTSearchTermTimeLimitCand,  // Time limit &#40;fixed/nominal time&#58; candidate&#41;
CTSearchTermTimeLimitIter,  // Time limit &#40;fixed/nominal time&#58; iteration&#41;
CTSearchTermTimeLimitNode,  // Time limit &#40;fixed/nominal time&#58; per node&#41;
CTSearchTermUserRequest     // User requested

``````

### Re: Kibitz score reporting in server play

Posted: Tue Mar 20, 2007 2:49 pm
I prefere a score in pawn unit, example : a rook = 5.00 ;
and from white point of view, it's more easy because you can understand score without looking at piece colour and programs give about the same score.

### Re: Kibitz score reporting in server play

Posted: Tue Mar 20, 2007 3:48 pm
Only a programmer would want the score in centipawns from the engines point of view.

Decimal from white's point of view is quite standard. Decimal because it's easier to quickly understand what the score is, and from white's point of view so you don't have to consider what side the engine is playing.

### Re: Kibitz score reporting in server play

Posted: Thu Mar 29, 2007 12:38 am
It looks like a 2 to 1 ratio in favor of scores reported from the program's point of view vs White's point of view. That's probably the reverse of what the opinion might have been a quarter century ago.

Idea 1: express the score as a ratio of strength; this is commonly used in military calculations.

Idea 2: express the score as an estimate of the number of moves remaining until win or loss.

Idea 3: express the score as a win/lose/draw triplet of probabilities.