HekaStockfish 0.9
Posted: Sat Mar 14, 2020 2:31 am
It's pre-release Hekastockfish, Thothfish's successor. It's unfinished project, based on Stockfish from X.2019, I called it version 0.9, it's better than not release at all. Unfinished because i planned to tune every new evaluation functions, but I have just few free cores, so I couldn't manage it and probably won't do it in future without some serious hardware. I discover for example that "croc" -8 and 8 (both) seems have interesting performance, most evaluation elements should be tuned in range -100 to 100, bigger and lower values rather for fun, exception for "tri", one can use extreme values without big harm to engine strength (first I thought it doesn't work but after some tests with among the others mea and sts - I saw it somehow affects engine).
I don't want to explain every evaluation option hidden behind mysterious name like "twa", "cas" etc. Don't want do it because they don't work exactly as was expected, but work anyway and correctly tuned, I believe, they can improve engine strength. If some have possibilities I recommend to experiment with random values from -100 to 100 or at least from -20 to 20 in cutechess or something similar. All evaluation options are related to mobility in some sense, one can read their code in added txt file "evaluation options" or in source files.
Exchange functions are still here like in Thothfsh. Added code from Brainfish for .bin books usage. Added some reverted code from Stockfish tests page connected to multipv.
One new function, I think really deserving for interest is called presearch. Its value is set to 2. You can change it from 0 to 1000. Value means KK of nodes, so 2 means 2 000 000 nodes. Engine decreases reduction and pruning and also use multipv (8) for first 2KK nodes of its search, then switch to normal searching. Its good to find any tactics and still be able for normal game, not only analysis. With presearch set to 50 or 100 engine should find most hardest tactic moves. For very short time control I recommend to change value to 0, but if one has good hardware or/and its LTC game, one can set it to higher values. Generally it's important that presearch time should be only part of time dedicated to move (like 1/4 or 1/10); So if it is 5min + 5s/move game and pc has over 2KK/s; should be safe to have presearch at 2 KK; other example - with 3min + 3s/move game, but this time with pc with 20KK/move we can use presearch 5 or higher. I encourage you to experiments. From my experience this function not only helps engine to avoid miss brilliant moves but makes it stronger overall (based on my own engine-engine tournaments and sts suite tests).
In .zip file you ll find 3 versions of engine (popcnt, bmi2, nopopcnt), logo image, source files and .txt file with code of new evaluation options. Additionally I put there some of pgns which I usually use to test engines, maybe someone find them useful.
Some notes: If you compiling it on your own you ll see some warnings, don't bother, engine and options work, I didn't have any crash in literally thousands of games. If you change manually multipv from 1 to higher value, presearch won't work; works only with multipv=1. Contempt in range from -10 000 to 10 000 for fun and testing.
Links:
https://www.solidfiles.com/v/GvWpRzPBBZAv2
https://www30.zippyshare.com/v/3sekrLIw/file.html
http://www.mediafire.com/file/mez7zf25l ... 9.zip/file
I don't want to explain every evaluation option hidden behind mysterious name like "twa", "cas" etc. Don't want do it because they don't work exactly as was expected, but work anyway and correctly tuned, I believe, they can improve engine strength. If some have possibilities I recommend to experiment with random values from -100 to 100 or at least from -20 to 20 in cutechess or something similar. All evaluation options are related to mobility in some sense, one can read their code in added txt file "evaluation options" or in source files.
Exchange functions are still here like in Thothfsh. Added code from Brainfish for .bin books usage. Added some reverted code from Stockfish tests page connected to multipv.
One new function, I think really deserving for interest is called presearch. Its value is set to 2. You can change it from 0 to 1000. Value means KK of nodes, so 2 means 2 000 000 nodes. Engine decreases reduction and pruning and also use multipv (8) for first 2KK nodes of its search, then switch to normal searching. Its good to find any tactics and still be able for normal game, not only analysis. With presearch set to 50 or 100 engine should find most hardest tactic moves. For very short time control I recommend to change value to 0, but if one has good hardware or/and its LTC game, one can set it to higher values. Generally it's important that presearch time should be only part of time dedicated to move (like 1/4 or 1/10); So if it is 5min + 5s/move game and pc has over 2KK/s; should be safe to have presearch at 2 KK; other example - with 3min + 3s/move game, but this time with pc with 20KK/move we can use presearch 5 or higher. I encourage you to experiments. From my experience this function not only helps engine to avoid miss brilliant moves but makes it stronger overall (based on my own engine-engine tournaments and sts suite tests).
In .zip file you ll find 3 versions of engine (popcnt, bmi2, nopopcnt), logo image, source files and .txt file with code of new evaluation options. Additionally I put there some of pgns which I usually use to test engines, maybe someone find them useful.
Some notes: If you compiling it on your own you ll see some warnings, don't bother, engine and options work, I didn't have any crash in literally thousands of games. If you change manually multipv from 1 to higher value, presearch won't work; works only with multipv=1. Contempt in range from -10 000 to 10 000 for fun and testing.
Links:
https://www.solidfiles.com/v/GvWpRzPBBZAv2
https://www30.zippyshare.com/v/3sekrLIw/file.html
http://www.mediafire.com/file/mez7zf25l ... 9.zip/file