{"push_id":2959929442,"size":8,"distinct_size":1,"ref":"refs/heads/tune_variant","head":"7703775f3437bb1138f2a93621b41b0d33dbbfcd","before":"4299ff8234c9973ddb7d9d0a035ee4a5cb06ad81","commits":[{"sha":"489357d7b221179a0fc116df706df5e937f991fa","author":{"name":"31m059","email":"5a46a3f19c2aebffb0cdb50e0853db2cc7190558@users.noreply.github.com"},"message":"Combo\n\nThis PR is a combination of two unrelated [0, 4] patches that appeared promising\nbut not quite strong enough to pass on their own. The combination initially failed\nSTC with a positive score after a long run, and the subsequent speculative LTC test\npassed.\n\n* tweak_threatOnQueen4 :\n\nIncrease the middlegame components of ThreatByMinor[QUEEN]\nand ThreatByRook[QUEEN] by 15 each. Bryan's (@crossbr) analysis of CCC Bonus Game 10\ninspired several tests on penalizing a queen with limited safe mobility. While\nattempting to implement this idea, I noticed that when I did not include the queen's\ncurrent square in the calculations, the Elo gains seemed to vanish--and only then did\nI have the idea to revisit ThreatByMinor[QUEEN] and ThreatByRook[QUEEN], adding a\ncorresponding value to each. Without Bryan's work, this test would never have been\nsubmitted. I would also like to recognize the efforts and contributions of @SFisGOD,\nwho also vigorously worked on this idea.\n\n* Use pure static eval for null move pruning :\n\nThis idea was directly re-purposed from a promising test by Jerry Donald Watson\n(@jerrydonaldwatson) in August. It was also independently developed and tested by\nStefan Geschwentner (@locutus2) previously.\nThank you all!\n\nSTC (failed yellow):\nLLR: -2.96 (-2.94,2.94) [0.00,4.00]\nTotal: 83913 W: 17986 L: 17825 D: 48102\nhttp://tests.stockfishchess.org/tests/view/5bbc59300ebc592439f76aa5\n\nLTC:\nLLR: 2.95 (-2.94,2.94) [0.00,4.00]\nTotal: 137198 W: 22351 L: 21772 D: 93075\nhttp://tests.stockfishchess.org/tests/view/5bbce35f0ebc592439f77639\n\nBench: 4312846","distinct":false,"url":"https://api.github.com/repos/ddugovic/Stockfish/commits/489357d7b221179a0fc116df706df5e937f991fa"},{"sha":"d615f15fcee428f0ed4cae3744a524eb2981fda3","author":{"name":"Joost VandeVondele","email":"1c1b8da5a027803e22e22963dd66b0476661b37a@gmail.com"},"message":"small ttCapture simplification.\n\nttCapture can be assigned to only once outside of the main loop. The patch seems\nfunctional at higher depths (seems possible in the case of non-legal TTmoves that\nare captures).\n\npassed STC\nLLR: 2.94 (-2.94,2.94) [-3.00,1.00]\nTotal: 23189 W: 5098 L: 4980 D: 13111\nhttp://tests.stockfishchess.org/tests/view/5bb3822c0ebc592439f6d966\n\npassed LTC\nLLR: 2.95 (-2.94,2.94) [-3.00,1.00]\nTotal: 10336 W: 1665 L: 1529 D: 7142\nhttp://tests.stockfishchess.org/tests/view/5bb39a190ebc592439f6db8a\n\nunchanged bench: 4312846","distinct":false,"url":"https://api.github.com/repos/ddugovic/Stockfish/commits/d615f15fcee428f0ed4cae3744a524eb2981fda3"},{"sha":"0370077c375e313cec055c8e52c34f05ae06fdc4","author":{"name":"Miguel Lahoz","email":"031d7fc1d34fb18f3de96de593cc312f218d8795@protonmail.com"},"message":"Simplify evaluation of blockers_for_king\n\nCurrently, we have two evaluation terms which account for pinned pieces.\nOne is for all pinned pieces in kingDanger computation and another for\njust pinned pawns in ThreatByRank. We can increase the relevant bonus\nfor kingDanger calculation and do away with the ThreatByRank, which\nseems to just add more complexity.\n\nSTC:\nLLR: 2.95 (-2.94,2.94) [-3.00,1.00]\nTotal: 113353 W: 24299 L: 24356 D: 64698\nhttp://tests.stockfishchess.org/tests/view/5ba348c20ebc592cf2766e61\n\nLTC:\nLLR: 2.95 (-2.94,2.94) [-3.00,1.00]\nTotal: 96458 W: 15514 L: 15511 D: 65433\nhttp://tests.stockfishchess.org/tests/view/5ba398830ebc592cf2767563\n\nAt 100k games, I thought it struggles a bit, but some related [0,4]\ntests attempting individual tweaks seem to fail:\n\nI tried directly tweaking ThreatByRank:\nhttp://tests.stockfishchess.org/tests/view/5ba3c6300ebc592cf276791c\nhttp://tests.stockfishchess.org/tests/view/5ba3c6190ebc592cf2767917\n\n@Vizveznedec was also recently trying to tweak the same coeffecients\nfor kingDanger calculation:\nhttp://tests.stockfishchess.org/tests/view/5ba2c7320ebc592cf27664b2\nhttp://tests.stockfishchess.org/tests/view/5ba2c8220ebc592cf27664b8\nhttp://tests.stockfishchess.org/tests/view/5ba2c7880ebc592cf27664b4\nhttp://tests.stockfishchess.org/tests/view/5ba2c7ce0ebc592cf27664b6\n\nBench: 4648095","distinct":false,"url":"https://api.github.com/repos/ddugovic/Stockfish/commits/0370077c375e313cec055c8e52c34f05ae06fdc4"},{"sha":"cb0111d3db923ec43b39f47973f7457da2b2e6c0","author":{"name":"Guenther Demetz","email":"b0cd829153b63f387d516d753090e92e29a60ce6@wuerth-phoenix.com"},"message":"Correctly track down pv even in fail-high case\n\nCurrently we update (track up) the pv even in the fail high case.\nHowever most times in such cases the pv in the ply below remains unset\nbecause there we have value == alpha and so finally we see truncated\npv's (=just one move) in fail high cases.\nOf course tracking down these pv's (+sending them to the gui) comes at a\ncertian cost, but no-regression tests passed:\n\nSTC:\nLLR: 2.96 (-2.94,2.94) [-3.00,1.00]\nTotal: 16300 W: 3556 L: 3424 D: 9320\nhttp://tests.stockfishchess.org/tests/view/5b9b73500ebc592cf275ea92\n\nLTC:\nLLR: 2.96 (-2.94,2.94) [-3.00,1.00]\nTotal: 202411 W: 32734 L: 32897 D: 136780\nhttp://tests.stockfishchess.org/tests/view/5b9baed10ebc592cf275ef6d\n\nN.B.: Digging also into qsearch was tried in another version but seemed\nnot to pass the tests. This means that we don't always will get a pv\nuntil the very tips.\n\nNo functional change","distinct":false,"url":"https://api.github.com/repos/ddugovic/Stockfish/commits/cb0111d3db923ec43b39f47973f7457da2b2e6c0"},{"sha":"97d2cc9a9c1c4b6ff1b470676fa18c7fc6509886","author":{"name":"Joost VandeVondele","email":"1c1b8da5a027803e22e22963dd66b0476661b37a@gmail.com"},"message":"Randomize draw eval\n\nThe patch adds a small random component (+-1) to VALUE_DRAW for the evaluation\nof draw positions (mostly 3folds). This random component is not static, but\npotentially different for each visit of the node (hence derived from the node\ncounter). The effect is that in positions with many 3fold draw lines, different\nlines are followed at each iteration. This keeps the search much more dynamic,\nas opposed to being locked to one particular 3fold.\n\nAn example of a position where master suffers from 3fold-blindness and this patch\nsolves quickly is the famous TCEC game 53:\n\nFEN: 3r2k1/pr6/1p3q1p/5R2/3P3p/8/5RP1/3Q2K1 b - - 0 51\n\nmaster doesn't see that this is a lost position (draw eval up to depth 50) as\nQf6-e6 d4-d5 (found by patch at depth 23) leads to a loss.\n\nThe 3fold-blindness is more important at longer TC, the patch was yellow STC and\nLTC, but passed VLTC:\n\nSTC\nLLR: -2.95 (-2.94,2.94) [0.00,5.00]\nTotal: 46328 W: 10048 L: 9953 D: 26327\nhttp://tests.stockfishchess.org/tests/view/5b9c0ca20ebc592cf275f7c7\n\nLTC\nLLR: -2.95 (-2.94,2.94) [0.00,5.00]\nTotal: 54663 W: 8938 L: 8846 D: 36879\nhttp://tests.stockfishchess.org/tests/view/5b9ca1610ebc592cf27601d3\n\nVLTC\nLLR: 2.95 (-2.94,2.94) [0.00,5.00]\nTotal: 31789 W: 4512 L: 4284 D: 22993\nhttp://tests.stockfishchess.org/tests/view/5b9d1a670ebc592cf276076d\n\nCredit to @crossbr for pointing to this problem repeatedly, and giving the hint\nthat many draw lines are typical in those situations.\n\nBench: 4756639","distinct":false,"url":"https://api.github.com/repos/ddugovic/Stockfish/commits/97d2cc9a9c1c4b6ff1b470676fa18c7fc6509886"},{"sha":"738a6dfd4c71c3ce11d614076117793b4cdf119e","author":{"name":"ElbertoOne","email":"8551400d6a20639e63348727914a31874979d408@gmail.com"},"message":"Simplify check extensions\n\nRemove the !moveCountPruning condition for check extensions, which seems not necessary.\n\nSTC:\nLLR: 2.95 (-2.94,2.94) [-3.00,1.00]\nTotal: 22238 W: 4835 L: 4715 D: 12688\nhttp://tests.stockfishchess.org/tests/view/5bb3241a0ebc592439f6d2ac\n\nLTC:\nLLR: 2.95 (-2.94,2.94) [-3.00,1.00]\nTotal: 36593 W: 5898 L: 5802 D: 24893\nhttp://tests.stockfishchess.org/tests/view/5bb34c220ebc592439f6d5dc\n\nBench: 4274207","distinct":false,"url":"https://api.github.com/repos/ddugovic/Stockfish/commits/738a6dfd4c71c3ce11d614076117793b4cdf119e"},{"sha":"afe31ec0d68760fa5f4f58be4aae1853ce945557","author":{"name":"Daniel Dugovic","email":"48204b458e2a8e75e9f6eca1ab61a4cd02c9c597@gmail.com"},"message":"Merge branch 'master' of https://github.com/official-stockfish/Stockfish","distinct":false,"url":"https://api.github.com/repos/ddugovic/Stockfish/commits/afe31ec0d68760fa5f4f58be4aae1853ce945557"},{"sha":"7703775f3437bb1138f2a93621b41b0d33dbbfcd","author":{"name":"Marco Costalba","email":"e7366a8c07bfdf2f7115ad219848d448a055b931@gmail.com"},"message":"Fishtest Tuning Framework\n\nThe purpose of the code is to allow developers to easily and flexibly\nsetup SF for a tuning session. Mainly you have just to remove 'const'\nqualifiers from the variables you want to tune and flag them for\ntuning, so if you have:\n\nint myKing = 10;\nScore myBonus = S(5, 15);\nValue myValue[][2] = { { V(100), V(20) }, { V(7), V(78) } };\n\nand at the end of the update you may want to call\na post update function:\n\nvoid my_post_update();\n\nIf instead of default Option's min-max values,\nyou prefer your custom ones, returned by:\n\nstd::pair<int, int> my_range(int value)\n\nOr you jus want to set the range directly, you can\nsimply add below:\n\nTUNE(SetRange(my_range), myKing, SetRange(-200, 200), myBonus, myValue, my_post_update);\n\nAnd all the magic happens :-)\n\nAt startup all the parameters are printed in a\nformat suitable to be copy-pasted in fishtest.\n\nIn case the post update function is slow and you have many\nparameters to tune, you can add:\n\nUPDATE_ON_LAST();\n\nAnd the values update, including post update function call, will\nbe done only once, after the engine receives the last UCI option.\nThe last option is the one defined and created as the last one, so\nthis assumes that the GUI sends the options in the same order in\nwhich have been defined.\n\n---------------------------------------------------------------\n\nAdded dbg_stats_of() to ccompute means and covariances of a set of\nvariables.\n\nUsage is very simple. If you want to compute covariance of parameters\nA, B and C, simply add in sources, in the place you want to sample\nthe values:\n\n    dbg_stats_of(A, B, C);\n\nThe only rule is that A, B and C should be convertible to a double.\nThere is no constrain on the numbers of parameters.\n\nNo functional change.","distinct":true,"url":"https://api.github.com/repos/ddugovic/Stockfish/commits/7703775f3437bb1138f2a93621b41b0d33dbbfcd"}]}
{"actor":{"display_login":"ddugovic"}}