lynx-chess / Lynx

Chess Engine, written in C#
https://lichess.org/@/Lynx_BOT
MIT License
47 stars 4 forks source link

🔍 SPSA WF tuning #910

Closed eduherminio closed 2 months ago

eduherminio commented 3 months ago

Note step 1 used instead of 0.5 that engine produces

21680 games (2598 iter) ![image](https://github.com/user-attachments/assets/d2bc3ab6-8f6f-4dc5-bdbf-348bc9f620b0) ```json { "t":21680, "spsa_params":{ "a":1.0, "c":1.0, "A":200, "alpha":0.601, "gamma":0.102 }, "uci_params":[ { "name":"LMR_MinDepth", "value":3.19609860088911, "min_value":3, "max_value":10, "step":1 }, { "name":"LMR_MinFullDepthSearchedMoves", "value":3.8135231070622746, "min_value":1, "max_value":10, "step":1 }, { "name":"LMR_Base", "value":67.31267591814883, "min_value":10, "max_value":200, "step":10 }, { "name":"LMR_Divisor", "value":316.01552142764535, "min_value":100, "max_value":500, "step":10 }, { "name":"NMP_MinDepth", "value":2.1603830754523274, "min_value":1, "max_value":10, "step":1 }, { "name":"NMP_BaseDepthReduction", "value":1.500176720946674, "min_value":1, "max_value":5, "step":1 }, { "name":"NMP_DepthIncrement", "value":1.809088992948925, "min_value":0, "max_value":10, "step":1 }, { "name":"NMP_DepthDivisor", "value":3.2026696120441907, "min_value":1, "max_value":10, "step":1 }, { "name":"AspirationWindow_Delta", "value":15.261907794308968, "min_value":1, "max_value":100, "step":5 }, { "name":"AspirationWindow_MinDepth", "value":7.32619440565353, "min_value":1, "max_value":20, "step":1 }, { "name":"RFP_MaxDepth", "value":9.250923707919595, "min_value":1, "max_value":10, "step":1 }, { "name":"RFP_DepthScalingFactor", "value":60.24695484684181, "min_value":1, "max_value":300, "step":15 }, { "name":"Razoring_MaxDepth", "value":1.527061163348777, "min_value":1, "max_value":10, "step":1 }, { "name":"Razoring_Depth1Bonus", "value":163.6798145412359, "min_value":1, "max_value":300, "step":15 }, { "name":"Razoring_NotDepth1Bonus", "value":183.1270627849615, "min_value":1, "max_value":300, "step":15 }, { "name":"IIR_MinDepth", "value":4.12584541544784, "min_value":1, "max_value":10, "step":1 }, { "name":"LMP_MaxDepth", "value":7.2545319657989085, "min_value":1, "max_value":10, "step":1 }, { "name":"LMP_BaseMovesToTry", "value":1.16937654369405, "min_value":0, "max_value":10, "step":1 }, { "name":"LMP_MovesDepthMultiplier", "value":3.0213788689460817, "min_value":0, "max_value":10, "step":1 }, { "name":"SEE_BadCaptureReduction", "value":3.3462999372192987, "min_value":0, "max_value":6, "step":1 }, { "name":"FP_MaxDepth", "value":6.884316406211213, "min_value":1, "max_value":10, "step":1 }, { "name":"FP_DepthScalingFactor", "value":68.46489727415093, "min_value":1, "max_value":200, "step":10 }, { "name":"FP_Margin", "value":102.53465891238218, "min_value":0, "max_value":500, "step":25 } ] } ```
Test  | search/re-tune
Elo   | -3.97 +- 6.45 (95%)
SPRT  | 40.0+0.40s Threads=1 Hash=128MB
LLR   | -0.92 (-2.25, 2.89) [0.00, 3.00]
Games | 4992: +1358 -1415 =2219
Penta | [141, 597, 1063, 568, 127]
https://openbench.lynx-chess.com/test/586/

~29464 games (~3683 iter) ![image](https://github.com/user-attachments/assets/99341e0a-fdf7-437e-92fa-85b4513168df) ```json ![image](https://github.com/user-attachments/assets/310af1e5-e9b1-47d7-ae79-ba66c8c5c893) ```
Test  | search/re-tune
Elo   | -12.76 +- 7.23 (95%)
SPRT  | 8.0+0.08s Threads=1 Hash=32MB
LLR   | -2.26 (-2.25, 2.89) [0.00, 3.00]
Games | 4848: +1418 -1596 =1834
Penta | [216, 600, 922, 518, 168]
https://openbench.lynx-chess.com/test/597/
Test  | search/re-tune
Elo   | -12.89 +- 6.88 (95%)
SPRT  | 40.0+0.40s Threads=1 Hash=128MB
LLR   | -2.26 (-2.25, 2.89) [0.00, 3.00]
Games | 4394: +1156 -1319 =1919
Penta | [136, 566, 915, 485, 95]
https://openbench.lynx-chess.com/test/598/