Terje wrote: ↑Sat May 30, 2020 1:59 pm
Given that a lot of engines have exactly 41 errors it would be interesting to know which positions (or even 1 of them) these occur in.
4Rk2/2R5/2p3p1/3p4/3P3r/P7/1P3P1p/7K b - - bm Kxe8; ce -32000; acd 0;
k5rb/3r4/1ppP4/p1p1p1p1/P1P1Pp1p/1P1R4/3R1PPN/3q1K2 w - - bm Rxd1; ce -32000; acd 0;
8/3P2k1/5p2/6pp/4p3/1b2P2P/6r1/2BK4 w - - bm Ke1; ce -32000; acd 0;
3r2k1/6p1/4p3/1p1nB1Qp/1PpP3P/R1P2P2/1r4qK/8 w - - bm Qxg2; ce -32000; acd 0;
'What they have in common, it's called the chopper move.
What they also have in common is a syntax error.
For FEN, you need <position FEN> color castle EP and the two move counters. You need a ";" before the bm field. I notice that Crafty handles those, but it does complain about the bogus move/half-move values.
But the move counters are implicit as 0 1 for Epd records and the semicolon before the bm field would be a syntax error.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
In looking at what I have (FEN not EPD) the half and full move counters are not optional... I even checked the chess programming Wiki and found this:
"One FEN string or record consists of six fields separated by a space character. The first four fields of the FEN specification are the same as the first four fields of the EPD specification."
But in any case, my main point was the missing ";" which could cause a program to produce an error and ignore the bogus FEN...