Kibitz analysis reporting

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Kibitz analysis reporting

Post by sje »

I'm working on changes to Symbolic's chess server kibitz format and I'd like to present an example the latest output.

For the test position:
[d]rnbqkb1r/pppp4/4pn1p/5pp1/3P4/4P1B1/PPP2PPP/RN1QKBNR w KQkq - 0 6

The program reports as a kibitz:

Code: Select all

[+0.056/8/6,507,627] 6 Nc3 Nc6 7 Bb5 g4 8 Bh4 Bb4 9 Ne2 d6 10 Bxf6 Qxf6 11 Bxc6+ bxc6
The first three numbers are the score, the nominal depth, and the node count. The score is Program POV decimal pawns and uses the Even, MateInN, and LoseInN symbols where appropriate. For book moves, tablebase moves, and any other moves that do not require a normal search, the depth and node count will be zero.

I've left out reporting for the total TB hit count, elapsed time, and search termination status in favor of reporting the most pertinent data (and a long PV) on a single text line.

A bit more data appears on the EPD output. Here's the EPD for a different position:

Code: Select all

8/8/3K4/2p5/2k5/2P5/2b4P/8 b - - 1 54 acd 11; acn 2774069; cc 39.330 39.324; nef 2.04572e+06; nep 4.88825e-07; nuf 2.05813e+06; nup 4.85879e-07; pes +3.667; pv Bd3 h3 Be4 Ke5 Bg2 h4 Kxc3 h5 Bf3 h6 c4; te 1.356; tu 1.347;
acd: analysis count (depth)
cc: chess clock (pair of DDD:HH:MM:SS.mmm with leading suppression)
nef: node elapsed frequency (Hz) (nodes/wall time)
nep: node elapsed period (seconds) (inverse of nef)
nuf: node usage frequency (Hz) (nodes/total CPU time for all cores)
nup: node usage period (seconds) (inverse of nuf)
pes: pawn equivalent score
pv: predicted variation
te: elapsed time (DDD:HH:MM:SS.mmm with leading suppression)
tu: usage time (DDD:HH:MM:SS.mmm with leading suppression)

For the nef/nep/nuf/nup operators the operand value will be the symbol NAN (i.e., Not A Number) if calculation of its value would require a division by zero.
MattieShoes
Posts: 718
Joined: Fri Mar 20, 2009 8:59 pm

Re: Kibitz analysis reporting

Post by MattieShoes »

This may be a stupid question, but why would you kibitz the PV to the opponent? Wouldn't an observant opponent notice a score drop and stop to examine the PV to see what he *should* do? :-)

Or is this only for things like analyzing relayed games?
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Kibitz analysis reporting

Post by sje »

MattieShoes wrote:This may be a stupid question, but why would you kibitz the PV to the opponent? Wouldn't an observant opponent notice a score drop and stop to examine the PV to see what he *should* do? :-)

Or is this only for things like analyzing relayed games?
Not a stupid question at all.

Symbolic knows when it's playing on an ICS and it also knows when its opponent is a human. (Or at least an honest human not hiding a program.) So the kibitz/whisper commands are selected accordingly and used to show the analysis to all but a human opponent.
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Kibitz analysis reporting

Post by sje »

The new program has been playing for a while on ICC and no complaints so far on the new kibitz output.

The new Symbolic has actually won a few games from established ICC opponents. This is a bit amazing as the program has only a five line evaluation function (mobility and pawn advancement). There is nothing for king safety, center control, piece coordination, pawn structure, etc. The search has no transposition bound adjustment, no fancy move ordering or extensions/reductions, no aspiration windowing, no advanced time allocation, and is running without pondering and on a single thread.

It is not yet capable of automatically running EPD test suites. This has to be fixed before further search improvements are added.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Kibitz analysis reporting

Post by bob »

sje wrote:
MattieShoes wrote:This may be a stupid question, but why would you kibitz the PV to the opponent? Wouldn't an observant opponent notice a score drop and stop to examine the PV to see what he *should* do? :-)

Or is this only for things like analyzing relayed games?
Not a stupid question at all.

Symbolic knows when it's playing on an ICS and it also knows when its opponent is a human. (Or at least an honest human not hiding a program.) So the kibitz/whisper commands are selected accordingly and used to show the analysis to all but a human opponent.
Not to mention that in CCT events this is a _requirement_.