Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

⌛ Make soft and hard bounds explicit, simplifying the existing logic #664

Merged
merged 8 commits into from Feb 17, 2024

Conversation

eduherminio
Copy link
Member

@eduherminio eduherminio commented Feb 16, 2024

Reimplementation of #447.
This is an attempt to standarize time management using the hard/soft bound technique, where different values are used to stop the search after each IDDFS iteration (soft bound) and to stop the search at any moment (hard bound).

We were already using this technique via applying DecisionTimePercentageToStopSearching coefficient to the hard bound to get the soft one.
Last tm revision was done in #288

I run this non-ref tests, but I'm trully merging this together with #665, I just want to make clear the separation between the implementation and the value tweaking (fixing even, lol)

8+0.08
Score of Lynx-time-management-soft-hard-bounds-2-2633-win-x64 vs Lynx 2630 - main: 1080 - 981 - 1318  [0.515] 3379
...      Lynx-time-management-soft-hard-bounds-2-2633-win-x64 playing White: 762 - 291 - 637  [0.639] 1690
...      Lynx-time-management-soft-hard-bounds-2-2633-win-x64 playing Black: 318 - 690 - 681  [0.390] 1689
...      White vs Black: 1452 - 609 - 1318  [0.625] 3379
Elo difference: 10.2 +/- 9.1, LOS: 98.5 %, DrawRatio: 39.0 %
SPRT: llr 2.91 (100.7%), lbound -2.25, ubound 2.89 - H1 was accepted

40+0.4, cancelled
Score of Lynx-time-management-soft-hard-bounds-2-2633-win-x64 vs Lynx 2630 - main: 401 - 399 - 640  [0.501] 1440
...      Lynx-time-management-soft-hard-bounds-2-2633-win-x64 playing White: 306 - 90 - 323  [0.650] 719
...      Lynx-time-management-soft-hard-bounds-2-2633-win-x64 playing Black: 95 - 309 - 317  [0.352] 721
...      White vs Black: 615 - 185 - 640  [0.649] 1440
Elo difference: 0.5 +/- 13.4, LOS: 52.8 %, DrawRatio: 44.4 %
SPRT: llr 0.32 (11.1%), lbound -2.25, ubound 2.89

@eduherminio eduherminio changed the title Make soft and hard bounds explicit for time management, simplifying the existing logic ⌛ Make soft and hard bounds explicit, simplifying the existing logic Feb 17, 2024
@eduherminio eduherminio marked this pull request as ready for review February 17, 2024 19:44
@eduherminio eduherminio merged commit ea44075 into main Feb 17, 2024
56 checks passed
@eduherminio eduherminio deleted the time-management/soft-hard-bounds-2 branch February 17, 2024 19:45
eduherminio added a commit that referenced this pull request Feb 17, 2024
Before #664 the concepts of hard and soft bounds for time management existed in Lynx, buuuut hard bound was being calculated taking account `time/movesToGo`, resulting in a bound that was often being hit rather than a safety precaution, which is what most engines do.

This PR changes that, setting hard bound to 25% of the total available time, which is 7.5 times what I had before
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant