-
Notifications
You must be signed in to change notification settings - Fork 0
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
Transposition Table #76
Open
phuang1024
wants to merge
67
commits into
main
Choose a base branch
from
search
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Gets to depth 34 in 8/k7/3p4/p2P1p2/P2P1P2/8/8/K7 w - - 0 1.
Now 130500 entries per megabyte.
Automatically clears in set_hash.
Clear hash table when HashClearThres percent full.
Threshold to start looking up eval.
A hash collision in getting eval is worse than getting the best move.
Bench: 766039
Number to ensure two positions are the same. Bench: 766039
Bench: 766039
Reduces total checks. Bench: 766039
Always lookup and removed options.
If position has popcnt of draw pieces, return 0 in eval.
Under certain conditions checkmate still possible. Tablebases needed to decide which.
Arjun Patch 4
Need to initialize before benching. Moved bench to uci loop. Bench: 156869
Less collisions than 101.
No more hash collisions. Bench: 156987
Those were slow and didn't add much to the eval. New NPS is about 700-800K Bench: 284399
ArjunSahlot
approved these changes
Apr 22, 2021
Bench: 284351
Eval Optimization
Char subscripts and unused variables. Bench: 284399
Decreases total writes, which decreases overwrites of important entries. Bench: 401931
Improves accuracy on lookups.
Align == and &&. Bench: 401899
If entry was not previously written, don't read from it. Bench: 401899
NPS, time, and hashfull were always set to 0. No point using them. Bench: 401899
Used to have an unbalanced search. I.e., some nodes were much deeper than others due to lookup, which resulted in playing mistakes. Bench: 401899
Bench: 401899 (no functional change)
Bench: 401899 (no functional change)
No functional change.
Clears hash table. Bench: 401899
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe changes
Lookup eval if transposition table entry is greater than current search depth.
Also added hash verification with popcnt and modulo.
Testing info
140 ELO worse than
v1.0.0
as of e327991