Commit Graph

122 Commits

Author SHA1 Message Date
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
6be00e642e
refactor: use EngineState to structure data in the engine 2024-12-18 23:52:39 -05:00
1843c5c4c6
build: update msrv to 1.83 and remove beta compiler
const &mut was stabilized.
2024-12-06 19:58:44 -05:00
ae3a23c61f
tune: timing and pst 2024-11-24 14:59:40 -05:00
b9819a52e6
tune: pst and transposition table 2024-11-23 22:39:39 -05:00
f415a9148c
fix: wrong logic on skepticism 2024-11-23 21:37:19 -05:00
c494230706 feat: skepticism
garbage mitigation for the horizon problem
2024-11-23 21:17:20 -05:00
e8cb125df9
tune: piece square tables
make it not be as crazy
2024-11-23 20:15:39 -05:00
3dcd27013d
feat: transposition table can now directly decide move
it's no longer just a suggestion
2024-11-23 19:13:02 -05:00
e79f19942e
perf: zobrist table no longer compares hash before overwrites 2024-11-23 18:51:49 -05:00
8895770da6
chore: fmt 2024-11-23 18:43:36 -05:00
af18600d15
refactor: move to main.rs file and add prelude 2024-11-23 18:42:36 -05:00
5ef46b3e7a feat: basic time management
this commit is full of tech debt. but the engine can flag now
2024-11-20 12:19:09 -05:00
8075e19bee feat: basic transposition table 2024-11-17 14:02:47 -05:00
6b672f83dc feat: perft zobrist cache 2024-11-17 13:07:44 -05:00
36753f6ecb refactor: random
uses a rust 1.83 feature so that the const fn works better
2024-11-17 10:19:05 -05:00
71594051f5 chore: fix warnings 2024-11-16 21:56:53 -05:00
4ca186b67e chore: fmt 2024-11-16 21:55:56 -05:00
7c55400fbf fix: random doctest 2024-11-16 21:54:03 -05:00
987ec7656f fix: alpha-beta test 2024-11-16 21:53:32 -05:00