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

Transposition Table #76

Open
wants to merge 67 commits into
base: main
Choose a base branch
from
Open

Transposition Table #76

wants to merge 67 commits into from

Conversation

phuang1024
Copy link
Member

@phuang1024 phuang1024 commented Apr 21, 2021

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

phuang1024 and others added 30 commits April 14, 2021 15:24
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.
Number to ensure two positions are the same.
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.
Need to initialize before benching.
Moved bench to uci loop.
Bench: 156869
Less collisions than 101.
@phuang1024 phuang1024 added enhancement New feature or request search Search related labels Apr 21, 2021
@phuang1024 phuang1024 added this to the Transposition Table milestone Apr 21, 2021
@phuang1024 phuang1024 requested a review from ArjunSahlot April 21, 2021 22:52
phuang1024 and others added 4 commits April 21, 2021 15:53
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
phuang1024 and others added 14 commits April 22, 2021 16:02
Char subscripts and unused variables.
Bench: 284399
Decreases total writes, which decreases overwrites of important entries.
Bench: 401931
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)
Did not improve strength.
Bench: 401899
Clears hash table.
Bench: 401899
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request search Search related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants