Page 1 of 1

EPD format with analysis

Posted: Sun May 07, 2017 11:18 pm
by sagisag
What EPD format with analysis and importable to COW 2016 support?

Typically the normal epd without opcodes.

Code: Select all

rq2r1k1/1bbn1pp1/1pp2n1p/p2p4/N2P3B/P2BP2P/1PQ1NPP1/2R2R1K b - -
With opcodes.

Code: Select all

rq2r1k1/1bbn1pp1/1pp2n1p/p2p4/N2P3B/P2BP2P/1PQ1NPP1/2R2R1K b - - bm Qc8; ce -33; acd 22; acs 10; c0 "Stockfish 8";
I will create a tool outside the COW to analyze epd with concurrency so that epd's will be analyzed faster. Once analyzed it will then be imported to COW and hope that backsolving with numeric assessment would work.

Re: EPD format with analysis

Posted: Mon May 22, 2017 9:18 am
by MikeAtBookup
I think only the ce opcode is used by COW when importing EPD files.

Re: EPD format with analysis

Posted: Tue May 30, 2017 9:50 pm
by sagisag
MikeAtBookup wrote:I think only the ce opcode is used by COW when importing EPD files.
Feature request:
Add the depth indicated in the acd opcode, add best move indicated in bm opcode and add comment indicated in c0 opcode to COW as comments after importing epd with analysis.

Example analyzed epd line.
rnbqkbnr/pp2pppp/2p5/3p4/2PP4/8/PP2PPPP/RNBQKBNR w KQkq - acd 20; bm e3; ce 25; c0 "Stockfish 8";

In COW as comment.
+25/20, e3, Stockfish 8,

This would allow the user to see what is the preferred move and how big is the evaluation in cp unit is of Stockfish 8, at a given depth of 20.
By including depth value in the comment, a user will be able to see at what depth he is going to update it say depth 21 using same engine Stockfish 8.

Or when there is pv opcode.
rnbqkbnr/pp2pppp/2p5/3p4/2PP4/8/PP2PPPP/RNBQKBNR w KQkq - acd 20; bm e3; ce 25; pv e2e3 g8f6 g1f3 c8f5 b1c3; c0 "Stockfish 8";

In COW as comment.
+25/20, e3, e3 Nf6 Nf3, Stockfish 8,

Show the pv up to a max of 3 moves only (or make this settable by the user, 3, 4, 5, 6, ... 1000) to minimize cluttering in the comment box. If engine score is a mate score or if there is dm opcode in the analyzed epd then full pv should be shown in the comment by default.

Re: EPD format with analysis

Posted: Wed May 31, 2017 11:00 am
by MikeAtBookup
That's a lot of changes to the EPD importing. I can see why you'd want them though.

I've been considering a special format for engine analysis which would include depth and the engine's name so that analysis from multiple engines can be contrasted while using the analysis in all ebooks and not using any comment space.

Re: EPD format with analysis

Posted: Wed May 31, 2017 6:01 pm
by sagisag
MikeAtBookup wrote:That's a lot of changes to the EPD importing. I can see why you'd want them though.
I tried importing the following analyzed epd line. The epd (w/o opcodes) is an end position exported from an ebook.
rn1qkb1r/pp3ppp/2p1pn2/5b2/P1BP4/2N1PN2/1P3PPP/R1BQK2R b KQkq - acd 21; ce -33; bm Bb4;

And I get this.

Image

So acd is considered in the comment but not the bm.

Perhaps anything before the ce opcode are included in the comment.

If I will use pv instead of bm opcode.
rn1qkb1r/pp3ppp/2p1pn2/5b2/P1BP4/2N1PN2/1P3PPP/R1BQK2R b KQkq - acd 21; ce -33; pv Bb4;

COW comment is:
pv Bb4 +33
So If I will append the acd in the tail of the pv.
rn1qkb1r/pp3ppp/2p1pn2/5b2/P1BP4/2N1PN2/1P3PPP/R1BQK2R b KQkq - ce -33; pv Bb4 [d=21];

In COW I get this.
pv Bb4 [d=21] +33
So this is the hack, append the depth at the end of pv or perhaps even at the front of pv so that COW will show it.

Now if I will add Analysis tag before importing the epd, say Sf8, in COW I get this.
pv Bb4 [d=21] +33 Sf8
It seems you don't need to make changes at all in COW, the format of analyzed epd to be imported has to be modified a little bit.

One more trick to see a better comment.
Import an epd like this.
rn1qkb1r/pp3ppp/2p1pn2/5b2/P1BP4/2N1PN2/1P3PPP/R1BQK2R b KQkq - ce -33; pv Bb4 [+33/21 "Stockfish 8"];

In COW.
pv Bb4 [+33/21 "Stockfish 8"] +33
The ce -33 in analyzed epd is SPOV, this is according to epd standard.

In COW the ce becomes +33, since COW uses WPOV.

Re: EPD format with analysis

Posted: Fri Jun 02, 2017 8:03 am
by MikeAtBookup
I'd have to look at the code to be sure but it's likely that COW skips over opcodes that it recognizes such as bm. It would then include things it doesn't recognize in the imported comment.