Releases: bsamseth/Goldfish
Bugfix: Draw by repetition (again)
v2.1.0: Change to PeSTO's Evaluation Function
Change from using the Simple Evaluation Function to PeSTO's Evaluation Function. This really doesn't introduce meaningfully more complexity, but provides several benefits.
The new table values are less symmetric, more specialized and all pieces have both middle game and end game values. The two are joined using tapered evaluation with a phase estimate. All this provides much better understanding, as well as more distinct scores which is good for getting more cutoffs.
All in all, this was measured to be about 200 ELO, a massive improvement for such little effort. Further optimization of the values for Goldfish specifically is possible, which might yield some minor improvements.
v2.0.1: Fix draw-by-repetition detection
v2.0.0: Full rewrite in Rust
Full rewrite in Rust
Everything rewritten, most things ported over from v1.13, and a few additions.
About ~120 ELO stronger than v1.13. The following shows results from testing. Stockfish 14.1 (SN)
(Skill level N) is there for reference, and v1.13 is pinned at it's CCRL rating.
# PLAYER : RATING POINTS PLAYED (%)
1 Stockfish 14.1 (S5) : 2171.5 131.5 221 59.5%
2 Goldfish v2.0.0 : 2104.2 1086.0 1819 59.7%
4 Goldfish v1.13.0 : 1983.0 1348.0 2622 51.4%
5 Stockfish 14.1 (S4) : 1973.5 63.5 214 29.7%
Full Changelog: v1.13.0...v2.0.0
v1.13.0: Killer Move Heuristic
Moves that are deemed best are given preference in the move ordering in sibling nodes. Causes a significant improvement in the number of cutoffs, although the current version is a very crude implementation. As more move ordering techniques are added, this will likely benefit from some changes. About 50 ELO points stronger than v1.12.1.
v1.12.0: Futility Pruning and Razoring
Significant reduction in searched nodes. Pruning margins used have not been fully tuned, and could quite possibly be made to give slightly better play. Estimated 20-30 ELO strength increase.
v1.11.2: UCI Options Support
Actual support for UCI settings for the following: - Hash size (in MB) - Syzygy endgame tablebase path - Contempt factor
v1.11.1: Draw-by-repetition Bugfix
v1.11.1: Bugfix - draw by repetition missed due to ttable Goldfish could miss a draw by repetition or 50 move rule if there's a tt entry for the position already (which actually would happen quite often). Now we check for these draw conditions before checking in the tt.
v1.11.0: Syzygy Tablebases
v1.11.0: Syzygy tablebase support Goldfish can now play perfect endgames, and choose to descend into favorable endings based on known winning positions. Lichess version running with 5-man tables, 6-man require quite a large download.
v1.7.1: NegaScout and Quiescence TTable
Implement a version of NegaScout instead of normal PVS. Slightly more cutoffs, based on the assumption of no search instability.
Also included is the use of ttable in quiescence search.