Skip to content

Releases: bsamseth/Goldfish

v1.7.0: Principal Variation Search

20 Nov 00:28
v1.7.0
24f6b3e
Compare
Choose a tag to compare

Massive speed boost.

v1.7.0

Total time (ms) : 6192
Nodes searched : 7000990
Nodes/second : 1130651

v1.6.0:

Total time (ms) : 11530
Nodes searched : 11924519
Nodes/second : 1034217

# PLAYER             :  RATING  POINTS  PLAYED   (%)
1 Goldfish v1.7.0    :  2243.5   173.0     300    58
2 Goldfish v1.6.0    :  2215.3   360.0     650    55
3 Goldfish v1.5.1    :  2162.6   423.5     900    47
4 Goldfish v1.5      :  2151.8   516.5    1075    48
5 Goldfish v1.4      :  2147.7   453.0     900    50
6 Goldfish v1.3      :  2130.5   133.0     255    52
7 Goldfish v1.2      :  2097.5    74.5     160    47
8 Goldfish v1.1      :  2055.3    70.0     162    43
9 Goldfish v1.0      :  2000.0    13.5      32    42

1) Goldfish v1.7.0 2243.5 :    300 (+87,=172,-41),  57.7 %

vs.                    :  games (  +,   =,  -),   (%) :    Diff
Goldfish v1.6.0        :    150 ( 46,  78, 26),  56.7 :   +28.2
Goldfish v1.5.1        :    150 ( 41,  94, 15),  58.7 :   +80.9

v1.6.0: Killer Move Heuristic

20 Nov 00:24
v1.6.0
ae6bc63
Compare
Choose a tag to compare

If a move from ttable is available, regardless of depth
requirement, we search this first in the hopes that this will
cause more cutoffs.

Makes a huge impact on bench score. Very slightly lower nodes/second,
but speed is reduced by ~50%. About ~50 ELO improvement.

Average of 3 bench results on MacBook Air 2015:

v1.6.0:

Total time (ms) : 11530
Nodes searched : 11924519
Nodes/second : 1034217

v1.5.1:

Total time (ms) : 21660
Nodes searched : 23289650
Nodes/second : 1075221

Goldfish v1.6.0 2219.1 :    786 (+191,=477,-118),  54.6 %

vs.                    :  games (   +,   =,   -),   (%) :    Diff
Goldfish v1.5.1        :    260 (  66, 162,  32),  56.5 :   +50.0
Goldfish v1.5          :    260 (  77, 163,  20),  61.0 :   +60.2
Goldfish v1.4          :     10 (   1,   8,   1),  50.0 :   +65.3
Goldfish v1.3          :     10 (   1,   8,   1),  50.0 :   +88.1
Goldfish v1.2          :     10 (   4,   6,   0),  70.0 :  +106.7
Goldfish v1.1          :     10 (   3,   6,   1),  60.0 :  +163.8

v1.5.1: Transposition table

15 Nov 08:28
v1.5.1
7f33e47
Compare
Choose a tag to compare

Includes a fix of the ttable lookup logic. Playing strength does not seem to change in any significant fashion, but this should mean more accurate playing, with less (no?) bugs.

v1.5.1 is tested against its predecessors, and below is the results:

   # PLAYER             :  RATING  POINTS  PLAYED   (%)
   1 Goldfish v1.5.1    :  2156.3   254.0     500    51
   2 Goldfish v1.5      :  2154.1   419.0     825    51
   3 Goldfish v1.4      :  2147.3   453.0     900    50
   4 Goldfish v1.3      :  2131.2   133.0     255    52
   5 Goldfish v1.2      :  2097.7    74.5     160    47
   6 Goldfish v1.1      :  2055.4    70.0     162    43
   7 Goldfish v1.0      :  2000.0    13.5      32    42

Head to head statistics:

1) Goldfish v1.5.1 2156.3 :    500 (+86,=336,-78),  50.8 %

   vs.                    :  games (  +,   =,  -),   (%) :    Diff
   Goldfish v1.5          :    250 ( 43, 166, 41),  50.4 :    +2.2
   Goldfish v1.4          :    250 ( 43, 170, 37),  51.2 :    +9.0

2) Goldfish v1.5   2154.1 :    825 (+138,=562,-125),  50.8 %

   vs.                    :  games (   +,   =,   -),   (%) :    Diff
   Goldfish v1.5.1        :    250 (  41, 166,  43),  49.6 :    -2.2
   Goldfish v1.4          :    500 (  85, 345,  70),  51.5 :    +6.8
   Goldfish v1.3          :     75 (  12,  51,  12),  50.0 :   +22.9

3) Goldfish v1.4   2147.3 :    900 (+152,=602,-146),  50.3 %

   vs.                    :  games (   +,   =,   -),   (%) :    Diff
   Goldfish v1.5.1        :    250 (  37, 170,  43),  48.8 :    -9.0
   Goldfish v1.5          :    500 (  70, 345,  85),  48.5 :    -6.8
   Goldfish v1.3          :     50 (  11,  30,   9),  52.0 :   +16.1
   Goldfish v1.2          :     50 (  15,  28,   7),  58.0 :   +49.6
   Goldfish v1.1          :     50 (  19,  29,   2),  67.0 :   +91.9

4) Goldfish v1.3   2131.2 :    255 (+50,=166,-39),  52.2 %

   vs.                    :  games (  +,   =,  -),   (%) :    Diff
   Goldfish v1.5          :     75 ( 12,  51, 12),  50.0 :   -22.9
   Goldfish v1.4          :     50 (  9,  30, 11),  48.0 :   -16.1
   Goldfish v1.2          :     80 ( 16,  55,  9),  54.4 :   +33.5
   Goldfish v1.1          :     50 ( 13,  30,  7),  56.0 :   +75.8

5) Goldfish v1.2   2097.7 :    160 (+24,=101,-35),  46.6 %

   vs.                    :  games (  +,   =,  -),   (%) :    Diff
   Goldfish v1.4          :     50 (  7,  28, 15),  42.0 :   -49.6
   Goldfish v1.3          :     80 (  9,  55, 16),  45.6 :   -33.5
   Goldfish v1.1          :     30 (  8,  18,  4),  56.7 :   +42.3

6) Goldfish v1.1   2055.4 :    162 (+20,=100,-42),  43.2 %

   vs.                    :  games (  +,   =,  -),   (%) :    Diff
   Goldfish v1.4          :     50 (  2,  29, 19),  33.0 :   -91.9
   Goldfish v1.3          :     50 (  7,  30, 13),  44.0 :   -75.8
   Goldfish v1.2          :     30 (  4,  18,  8),  43.3 :   -42.3
   Goldfish v1.0          :     32 (  7,  23,  2),  57.8 :   +55.4

7) Goldfish v1.0   2000.0 :     32 (+2,=23,-7),  42.2 %

   vs.                    :  games ( +,  =, -),   (%) :    Diff
   Goldfish v1.1          :     32 ( 2, 23, 7),  42.2 :   -55.4

Total games                1418
 - White wins               274
 - Draws                    945
 - Black wins               198
 - Truncated/Discarded        1
Unique head to head        1.55%
Reference rating      2000.0 (set to "Goldfish v1.0")

Loose Anchors = none
Relative Anchors = none

players with no games = 0
players with all wins = 0
players w/ all losses = 0

White Advantage = 18.9
Draw Rate (eq.) = 67.6 %

White advantage = 18.92
Draw rate (equal opponents) = 67.64 %

v1.5: Transposition table

13 Nov 12:26
v1.5
065967f
Compare
Choose a tag to compare

Basic transposition table in place. Drastically reduces the number of nodes searched, at the cost of slightly lower nodes/second.

v1.4: Complete refactoring of base types.

13 Nov 12:25
v1.4
2e547c5
Compare
Choose a tag to compare
All types are now distinct and not equivalent to ints.
Most are regular enums, so that they are usable as ints in
most situations, such as indexing. The type clarity will hopefully
be good to keep out bugs, but also helps performance. It will also make
writing a transposition table more efficient, as the entries can be
expressed in a very strict set of bytes.

v1.3: Partial Refactor of Base Types

13 Nov 12:24
Compare
Choose a tag to compare
Refactor to use enums instead of ints for most types.

v1.2: Check Extension

13 Nov 12:21
Compare
Choose a tag to compare

Very basic check extension in search - if in check then search one ply further.

v1.1: Null Move Pruning

13 Nov 12:20
Compare
Choose a tag to compare
Null move pruning.

v1.0: Fork of fluxroot/pulse

13 Nov 12:18
9854c72
Compare
Choose a tag to compare

Starting point for new version of Goldfish, based on fluxroot/pulse.

v0.1: Goldfish - The bad chess engine

01 Jul 10:18
5f34a84
Compare
Choose a tag to compare
Pre-release

The engine is (largely) able to avoid playing instantly losing moves, and searches to a depth of ~4-5 within a reasonable thinking time (<10 secs). But it is not very good at long-term, and quite possibly very bad at endgame. Also, the stats it reports are terrible, showing it really has no clue.

This marks the last point before the complete redesign based on fluxroot/pulse.