Skip to content

Releases: Ciekce/Polaris

Polaris 1.8.1

26 Jun 20:04
Compare
Choose a tag to compare

Release republished due to outdated tag (again) (I am stupid)

This release fixes some strange behaviour regarding how tablebase scores are reported, and adds some additional safeguards to win/loss score handling in aspiration windows. Additionally, compilation should no longer spit out warnings from Fathom.

No strength difference exists from 1.8.0 :)

See the 1.8.0 release for full release notes for 1.8.x :3

Full Changelog: v1.8.0...v1.8.1

Polaris 1.8.0

25 Jun 23:39
Compare
Choose a tag to compare
  • fixed an incredibly stupid bug regarding transposition table cutoffs
    • the SPRT for this gained 69 elo :)
  • fixed mate scores
    • both from scores stored in the ttable, and from the off-by-one ply counter
  • simplified eval slightly
  • improved LMR
  • added capture history
  • added time management based on the percentage of nodes spent searching the best move
  • started always generating underpromotions to bishops and rooks, and removed the corresponding UCI option
  • added Syzygy probing support via Fathom
  • various speedups and refactors

Many thanks to everyone who has contributed CPU time to the OpenBench instance that Polaris is tested on: @Adam-Kulju, @Alex2262, @archishou, @cosmobobak, @crippa1337, @dede1751, @GediminasMasaitis, @lucametehau, @raklaptudirm, @spamdrew128, @uwuplant and particularly @JouanDeag :D

Special thanks to @cosmobobak for generating the games for and computing the eval normalisation model!

STC:

ELO   | 139.27 +- 9.09 (95%)
CONF  | 8.0+0.08s Threads=1 Hash=32MB
GAMES | N: 3000 W: 1365 L: 223 D: 1412

LTC:

ELO   | 114.07 +- 14.47 (95%)
CONF  | 60.0+0.60s Threads=1 Hash=128MB
GAMES | N: 1000 W: 387 L: 70 D: 543

Elo testing done with OpenBench's 8moves_v3 book. Previous post-OpenBench releases were progression tested with a different book, but this one should more accurately reflect real-world gains in theory.
Results are obtained from self-play and will likely not scale perfectly to games against other opponents :)

Full Changelog: v1.7.0...v1.8.0

Polaris 1.7.0

04 Jun 20:15
Compare
Choose a tag to compare

Release republished due to outdated tag :)

  • added futility pruning
  • improved LMR
  • added internal iterative reduction
  • improved transposition table replacement scheme
    • also added TT entry ageing
  • added history gravity
  • reduced the number of killers per ply to 1 (from 2)
  • removed singular extensions
    • the implementation in Polaris 1.6 was unfathomably broken
    • planned to be re-added in 1.8.0
  • improved eval handling in qsearch (no stand pat in check)
  • improved TT hit detection for enabling NMP
  • improved time management (allow much more time for hard timeouts)

Evaluations are now normalised according to WDL - 100 cp (a +1 score) corresponds to a 50% predicted win probability, and likewise -100 is 50% loss. Polaris also now prints win/draw/loss probabilities as part of UCI info output. This is entirely thanks to @cosmobobak, who generated data and PR'ed the whole system in #41 :)

A very rare crash that occurred in 1.6.1 has also been fixed.

Many thanks to everyone who has contributed CPU time to the OpenBench instance that Polaris is tested on: @Adam-Kulju, @Alex2262, @archishou, @cosmobobak, @crippa1337, @dede1751, @GediminasMasaitis, @lucametehau, @raklaptudirm, @spamdrew128, @uwuplant and particularly @JouanDeag :D

STC:

ELO   | 108.56 +- 9.90 (95%)
CONF  | 8.0+0.08s Threads=1 Hash=32MB
GAMES | N: 3000 W: 1364 L: 456 D: 1180

LTC:

ELO   | 119.50 +- 16.31 (95%)
CONF  | 60.0+0.60s Threads=1 Hash=128MB
GAMES | N: 1000 W: 441 L: 110 D: 449

Elo testing done with OpenBench's Pohl book.
Results are obtained from self-play and will likely not scale perfectly to games against other opponents :)

Full Changelog: v1.6.1...v1.7.0

Polaris 1.6.1

09 May 03:40
Compare
Choose a tag to compare
  • fixed the crash
  • changed target tuning architecture of the bmi2 build to haswell

The crashing issue noted in the 1.6.0 release (actually a race triggered when the opponent moved too fast) is, to my knowedge, resolved.

Polaris 1.6.0

04 May 07:00
Compare
Choose a tag to compare
  • added countermoves
  • tweaked nmp
  • added lazy smp
  • significantly improved lmr
  • added see pruning
  • added continuation history
  • added check extension
  • added singular extension
  • various fixes and tweaks

Unlike the past two major versions, 1.6.0 is almost purely an elo release. It does, however, now have support for multithreading - this works fine as far as I know, but seems to scale strangely on some CPUs and should be considered to be in beta.

Note: rare crashes have been observed on a few machines, usually on shorter time controls. This issue is proving extremely difficult to track down, as it does not occur on my development machine, and will be fixed in a patch (presumably 1.6.1) when found.

STC:

ELO   | 159.30 +- 15.41 (95%)
CONF  | 8.0+0.08s Threads=1 Hash=32MB
GAMES | N: 1504 W: 833 L: 188 D: 483

LTC:

ELO   | 191.47 +- 21.75 (95%)
CONF  | 60.0+0.60s Threads=1 Hash=128MB
GAMES | N: 752 W: 435 L: 58 D: 259

Elo testing done with OpenBench's Pohl book.
Results are obtained from self-play and will likely not scale perfectly to games against other opponents :)

Full Changelog: v1.5.0...v1.6.0

Polaris 1.5.0

17 Apr 23:34
Compare
Choose a tag to compare
  • fixed various eval terms related to semi-open files
  • significant time management improvements
  • improving heuristic in rfp
  • various rewrites and tweaks

1.5.0 mostly comprises internal changes - the entire board representation has been rewritten, for example.
it is a strength improvement over 1.4.1 regardless:

STC:

ELO   | 79.44 +- 14.72 (95%)
CONF  | 8.0+0.08s Threads=1 Hash=32MB
GAMES | N: 1504 W: 675 L: 337 D: 492

LTC:

ELO   | 58.77 +- 19.51 (95%)
CONF  | 60.0+0.60s Threads=1 Hash=128MB
GAMES | N: 752 W: 289 L: 163 D: 300

Elo testing done with OpenBench's Pohl book.

Full Changelog: v1.4.1...v1.5.0

Polaris 1.4.1

04 Apr 00:51
Compare
Choose a tag to compare
  • fixed chess960 castling
  • renamed perft to splitperft and added perft, which just prints the node count

chess960 will no longer break in positions where castling that did not move the king has occurred
no strength change from 1.4.0 in standard chess

Full Changelog: v1.4.0...v1.4.1

Polaris 1.4.0

01 Apr 13:28
Compare
Choose a tag to compare
  • added history (finally)
  • implemented chess960
  • fixed longstanding bug with evaluation scaling in endgames
  • various fixes, tweaks and internal changes

1.4.0 is more of a bugfix and feature release than pure strength improvement, unlike 1.3.0.
nevertheless, it is significantly stronger than 1.3.0, especially at LTC:

STC (10+0.1):

Score of polaris_1.4.0 vs polaris_1.3.0: 157 - 40 - 53  [0.734] 250
...      polaris_1.4.0 playing White: 90 - 16 - 19  [0.796] 125
...      polaris_1.4.0 playing Black: 67 - 24 - 34  [0.672] 125
...      White vs Black: 114 - 83 - 53  [0.562] 250
Elo difference: 176.3 +/- 41.9, LOS: 100.0 %, DrawRatio: 21.2 %

LTC (2'+1):

Score of polaris_1.4.0 vs polaris_1.3.0: 131 - 17 - 52  [0.785] 200
...      polaris_1.4.0 playing White: 78 - 4 - 18  [0.870] 100
...      polaris_1.4.0 playing Black: 53 - 13 - 34  [0.700] 100
...      White vs Black: 91 - 57 - 52  [0.585] 200
Elo difference: 225.0 +/- 46.4, LOS: 100.0 %, DrawRatio: 26.0 %

Elo testing done with the UHO_4060_v2 book.
Fewer games run than normal due to CPU time constraints (and LTC testing takes forever).

Full Changelog: v1.3.0...v1.4.0

Polaris 1.3.0

24 Mar 18:03
Compare
Choose a tag to compare
  • added killers
  • added static exchange evaluation
  • added reverse futility pruning
  • improved lmr
  • minor eval changes and new dataset
  • improved time management
  • changed how nodes are counted
  • other small fixes and tweaks
Score of polaris_1.3.0 vs polaris_1.2.0: 400 - 30 - 70  [0.870] 500
...      polaris_1.3.0 playing White: 204 - 17 - 29  [0.874] 250
...      polaris_1.3.0 playing Black: 196 - 13 - 41  [0.866] 250
...      White vs Black: 217 - 213 - 70  [0.504] 500
Elo difference: 330.2 +/- 38.0, LOS: 100.0 %, DrawRatio: 14.0 %

Elo testing done at 10+0.1 with Stockfish's 2moves_v2 book

Full Changelog: v1.2.0...v1.3.0

Polaris 1.2.0

11 Mar 15:19
Compare
Choose a tag to compare
  • now responds to the stop command
  • now reports the current pv (from transposition table, real pv lines later)
  • fixed a critical bug in move pseudolegality checking
Score of polaris_dev vs polaris_1.1.0: 225 - 46 - 75  [0.759] 346
...      polaris_dev playing White: 122 - 22 - 30  [0.787] 174
...      polaris_dev playing Black: 103 - 24 - 45  [0.730] 172
...      White vs Black: 146 - 125 - 75  [0.530] 346
Elo difference: 199.0 +/- 36.1, LOS: 100.0 %, DrawRatio: 21.7 %
SPRT: llr 2.94 (100.0%), lbound -2.94, ubound 2.94 - H1 was accepted

Full Changelog: v1.1.0...v1.2.0