Skip to content

Releases: bsamseth/Goldfish

Bugfix: Draw by repetition (again)

21 Sep 07:06
928e03c
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.1.0...v2.1.1

v2.1.0: Change to PeSTO's Evaluation Function

14 Sep 15:05
0d5fd20
Compare
Choose a tag to compare

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

27 Aug 16:09
c3dc2ee
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.0.0...v2.0.1

v2.0.0: Full rewrite in Rust

21 Aug 17:23
Compare
Choose a tag to compare

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

09 Apr 06:41
v1.13.0
b7aed1c
Compare
Choose a tag to compare
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

25 Mar 14:47
v1.12.0
c36119e
Compare
Choose a tag to compare
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

21 Mar 11:28
v1.11.2
c73c919
Compare
Choose a tag to compare
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

21 Mar 09:53
v1.11.1
9f70f6d
Compare
Choose a tag to compare
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

21 Mar 09:51
v1.11.0
6542a11
Compare
Choose a tag to compare
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

20 Nov 08:46
v1.7.1
7f9a1be
Compare
Choose a tag to compare

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.