Make sure you do not use any adjudication rules. Games must be played until decided by chess rules. If there is any value in endgame knowledge, it will magnify it. Better test at fixed depth (for which you jeed to disable pruning at PV nodes): allows fast testing with reduced noise.geko wrote:I launched 8500 game between stockfish 6 and stockfish 6 without endgame
in file endgame.cpp I removed the contents of the constructor
and the result is very strange because wins the version without endgame:Code: Select all
Endgames::Endgames() { //add<KPK>("KPK"); //add<KNNK>("KNNK"); etc. }
Code: Select all
Rank Name Elo + - games score oppo. draws 1 stockfish_NOendgame 5 4 5 8500 52% -5 41% 2 stockfish_original -5 5 4 8500 48% 5 41%
I've tested this extensively, and can confirm that *almost* all of SF endgame knowledge is useless. Only general scaling rules have some elo value, and a few specific endgames (like KPK and KRPKR, but you need to bunch them together, elo gain is too small to measure individually).
Endgames that are useless, and can be safely removed: KNPK, KNPKB, KRPKB, KBPKB, KBPKN, KQKR, KBPPKB, and probably many more that I have not tested. Even if you remove all these together, you will not be able to neasure a refression, even with adjudication switched off.