Repository navigation
Dolphin 2.2 is a search-only update: the same network as 2.1, with better move ordering. Self-play gain about +48 Elo at fast time controls.
Download
| File | Use it if |
|---|---|
Dolphin-2.2.0-windows-x64.zip |
Recommended. Self-contained: includes its own .NET runtime, nothing to install. Keep all five files of the folder together. |
Dolphin-2.2.0-windows-x64-requires-dotnet.zip |
You already have the .NET Runtime 5.0 or newer and want the small package. Keep the four files Dolphin2.exe, Dolphin2.dll, Dolphin2.deps.json, Dolphin2.runtimeconfig.json together. |
Unzip and load Dolphin2.exe into your GUI as a UCI engine. The network is embedded in the program. Requires Windows on a 64-bit (x64) CPU; CPUs with AVX2 use a faster NNUE path. Each package contains a README.txt with setup and troubleshooting notes.
What's new
Three changes to the search, each kept only after it passed a self-play SPRT test (fixed 40k nodes per move, bounds [0, 5] Elo):
- History from the evaluation trend. After each move the opponent's previous quiet move is rewarded or penalised by how much it changed the static evaluation in its favour. Self-play: +29 ± 13 Elo.
- Heavier penalties for refuted moves. Quiet moves and captures that were tried and failed are now penalised more than the winning move is rewarded, and a first-move cutoff at depth 3 or less no longer touches the history tables. Self-play: +25 ± 12 Elo.
- Transposition-table prefetch after every move: about 2% more nodes per second.
Three other ideas (quiescence-search pruning, deeper/shallower LMR re-search, a stricter TT cutoff) were tested and rejected because they did not gain.
The combined build scored +48.5 ± 17.1 Elo against Dolphin 2.1 at 8+0.08 (519 games, 1 thread, no time losses).
- Engine name now reports
Dolphin 2.2 NNUE. benchnode count changed to 1627584 (search changes; the network is unchanged).
Testing
All games with cutechess-cli 1.5.1 on an i7-11800H against the Dolphin 2.1.0 release package, openings from tools/openings8.epd.
| Time control | Settings | Games | Result (W-L-D) | Elo vs 2.1 |
|---|---|---|---|---|
| 10+0.1 | 1 thread, 64 MB | 500 | 160 - 62 - 278 | +69.0 ± 20.2 |
| 40 moves / 30 s | 1 thread, 64 MB | 100 | 19 - 15 - 66 | +13.9 ± 39.8 |
| 10+0.1 | 4 threads, 1 GB (both engines) | 20 | 6 - 2 - 12 | too few games |
| 5+0.05, engine restarted every game | 1 thread, 64 MB | 100 | 42 - 11 - 47 | +111.4 ± 50.0 |
| 5+0.05, engine restarted every game (final packages) | both 2.2 packages against each other | 100 | 28 - 22 - 50 | (same engine) |
| 40 moves / 30 s (final packages) | self-contained 2.2 package, 1 thread, 64 MB | 100 | 22 - 15 - 63 | +24.4 ± 41.5 |
920 games in total: no time losses, no crashes, no illegal moves. The rows without a note were played with the release build of the 2.2 source; the packages are built from the same source (same bench node count, verified after unzipping).
Verify
Dolphin2.exe perft 5must printNodes searched: 4865609Dolphin2.exe benchmust printNodes searched : 1627584- SHA-256:
Dolphin-2.2.0-windows-x64.zip:F8B3802BE1998D91031C7FD02F8F2A2DF80E98253C05BB46CFAD9FDB75A90371Dolphin-2.2.0-windows-x64-requires-dotnet.zip:C90B90A768BBD99F5AE401096C3C75E1AF741E421622D60A3B10A1BB67CFBAB4
Build from source
git clone https://github.com/aiagentvn/dolphin.git
cd dolphin
dotnet build -c ReleaseThe binaries in this release were built from the source at this tag.