Commit Graph

141 Commits

Author SHA1 Message Date
cbad993a0a
feat: torch data loader 2024-12-30 22:53:59 -05:00
4ba02e9963
fix: training pipeline quits unused uci workers 2024-12-30 19:15:56 -05:00
174519bec5
fix: training pipeline bugs
- invalid integer cast
- "resuming" message when not resuming
2024-12-30 18:37:49 -05:00
9a2a770afb
chore: move gitignore into nnue/ 2024-12-30 18:00:28 -05:00
0ae4c889dc
tune: NNUE "quiet" threshold
the results aren't nearly as bonkers as before the bugfix in a47778a,
so tone down the threshold
2024-12-30 17:21:20 -05:00
a47778ae6c
fix: board not same after running minmax
caused by an early return from hard stop that bypasses unmake move
2024-12-30 17:08:27 -05:00
4bd2fd1d9a
feat: better integrate nnue train pipeline 2024-12-30 15:39:56 -05:00
e18464eceb
tune: search time increased
last version (44e4cab) suffers less from time pressure, but blunders,
possibly due to not thinking long enough
2024-12-30 13:59:47 -05:00
44e4cabdc1
tune: search time reduced
this should make it get less time pressure
2024-12-30 12:22:09 -05:00
cb65671444
feat: nnue training data pipeline tools 2024-12-30 12:21:07 -05:00
3885bd7948
feat: fast-chess-tag can save multiple PGNs for the same players
it will use number indices instead of asking to delete the first PGN.
2024-12-30 09:51:04 -05:00
612e6ffc15
perf: repetition draw avoidance now only looks at necessary moves
uses half-move counter.
2024-12-29 22:32:00 -05:00
9995f13693
fix: transposition table no longer instantly returns a result
this has issues like cutting off the PV line, and more importantly,
bypassing draw by repetition detection.
2024-12-29 18:44:38 -05:00
f6bf1b46c7
feat: nnue info now shows absolute eval 2024-12-29 18:04:39 -05:00
87501b5c94
test: fix broken nnue binary test 2024-12-28 22:28:50 -05:00
47a600cd80
feat: nnue train info now gives input tensor feature string 2024-12-28 22:22:01 -05:00
e27e18e482
tune: repetition history set to 100 plies 2024-12-28 21:33:29 -05:00
ede46552fe
feat: uci options, quiet position detector 2024-12-28 15:59:27 -05:00
fc8eab4d4b
feat: exact movetime based time management 2024-12-28 14:29:05 -05:00
caa3bc454c
tune: completely disable contempt by default 2024-12-26 15:27:00 -05:00
68d3d7e6d9
tune: further reduce default contempt factor 2024-12-26 14:59:16 -05:00
089b7b305c
tune: reduce contempt
contempt factor as of last commit loses some games
2024-12-26 13:40:47 -05:00
3fe4b8c196
feat: contempt factor 2024-12-26 11:18:48 -05:00
d93fc0ecb0
tune: increase history size 2024-12-25 22:20:13 -05:00
b05d6ed46f
tune: re-add some value to pawns in endgame PST
pawns on the 7th rank are _probably_ passed pawns
2024-12-25 21:35:49 -05:00
093dc51eed
tune: make only three repetitions (not two) evaluate as draw
this commit might fix some positions being evaluated as zero
2024-12-25 20:08:32 -05:00
e06d614885
tune: only push history for real moves 2024-12-25 17:31:32 -05:00
955c9f1f5e
fix: do not play a nullmove in a drawn position 2024-12-25 16:42:58 -05:00
cac74a46cd
tune: reduce board history size
seemingly avoiding repetition performs worse as of last commit.
2024-12-25 16:15:37 -05:00
db365c124e
feat: detect draw by repetition 2024-12-25 15:05:41 -05:00
a6a7b33553
docs: update readme feature list 2024-12-25 12:22:25 -05:00
8137cbc2fe
tune: increase max depths for search 2024-12-25 12:06:37 -05:00
ffc2671c4a
tune: PST for pawns in endgame
seemingly setting their value too high makes the engine believe it can
sacrifice material to push non-passed pawns
2024-12-24 20:11:43 -05:00
9327b73dc0
feat: eval command now offers more information 2024-12-24 20:11:33 -05:00
0120c95097
feat: stand-pat on quiescence search
gotta remember that not capturing is an option too
2024-12-24 16:46:47 -05:00
54a4cd07ac
test: SEE in a real position 2024-12-24 15:39:56 -05:00
ab7ce6b6a2 tune: revert "tune: quiescence depth increased"
This reverts commit 5a9e17804c.

tests seem to show this is bad compared to before this commit
2024-12-24 13:48:30 -05:00
2569e36a5a
feat: make tournament script use git tags instead of branches
this makes more sense and is more convenient (branches can only be
checked out in one worktree)
2024-12-24 12:21:28 -05:00
5a9e17804c
tune: quiescence depth increased
4cb2cca doesn't seem to have any difference positive or negative in the
5+0 time control, so try this instead
2024-12-24 12:04:53 -05:00
4cb2cca02b
tune: quiescence 2024-12-24 11:27:48 -05:00
795c2c508d
feat: quiescence search
examines all captures using the new movegen, plus static exchange eval
2024-12-23 21:28:04 -05:00
cc40fb9a31
feat: capture-only movegen
also refactored movegen internally
2024-12-23 21:17:33 -05:00
a36f394b99
stub: static exchange evaluation
not yet used, but will be useful hopefully
2024-12-22 16:34:04 -05:00
1d651de4a0
feat: scripts for automated chess tournaments and analysis 2024-12-21 23:55:58 -05:00
4ee30bd278
feat: recapture extension
"quiescence" search
2024-12-20 22:50:35 -05:00
86e5780f26
tune: pst
- avoid bongcloud
- avoid knight on edge
- avoid f-g-h pawns moving
- avoid bishop to g5/b5
2024-12-20 16:55:38 -05:00
b0a662460a
feat: better move ordering
use transposition table as the primary heuristic
2024-12-20 16:25:03 -05:00
68afcb232c
feat: transposition table node types
engine seemingly faster now, so allow longer soft limit (as a treat)
2024-12-20 16:01:05 -05:00
ab1dfb3aa1
tune: time limits for games longer than 5' 2024-12-20 14:59:18 -05:00
e44cc0586e
feat: soft/hard time limit
achieved by refactoring engine/main/stdin into three separate threads.
2024-12-20 13:25:37 -05:00