Commit Graph

51 Commits

Author SHA1 Message Date
Mattia Giambirtone 7292356948 Fix crashing, implement LMR and tempo bonus 2024-05-06 23:48:40 +02:00
Mattia Giambirtone 2a1f020edd Fix bugs with LMR (needs testing). Move to ptrs. General refactoring 2024-05-06 00:34:06 +02:00
Mattia Giambirtone 245a5d75e8 Initial work on killer moves. Add soft tm (gains 41.8 +/- 22.0) 2024-05-05 16:07:37 +02:00
Mattia Giambirtone 651acd26ed Implement history euristic (gain: 73.1 +/- 30.2) 2024-05-05 13:37:33 +02:00
Mattia Giambirtone 0695fff442 Refactor code to eliminate refs shared across thread boundaries 2024-05-04 20:30:26 +02:00
Mattia Giambirtone 98668ae66e Check extensions (gain 89.5 +/- 34.0) and initial work on draw by insufficient material detection 2024-05-03 17:10:18 +02:00
Mattia Giambirtone d5f3071733 Remove useTT compile time flag 2024-05-02 19:08:30 +02:00
Mattia Giambirtone 5100bc744c Fix TT: Gains 83.0 +/- 32.5 elo 2024-05-02 19:07:20 +02:00
Mattia Giambirtone 9a41ba50ff Uncomment tt cutoff code 2024-05-02 15:41:30 +02:00
Mattia Giambirtone 316a63303c Fix incremental zobrist hashing, fix repetition detection, add ttmove, wait for search thread to complete 2024-05-02 14:39:46 +02:00
Mattia Giambirtone fe453aa3fd Hopefully fix crashing issues 2024-05-02 00:24:57 +02:00
Mattia Giambirtone fe7e64e9c3 Refactor chessboard code and move most logic to Position 2024-05-01 19:46:28 +02:00
Mattia Giambirtone 4cb994a3a6 Minor tweaks 2024-05-01 18:10:38 +02:00
Mattia Giambirtone 2de3f64562 Move the mailbox into the position object and get rid of update(). Minor UI tweaks 2024-05-01 18:02:17 +02:00
Mattia Giambirtone e6dd6fcf4c Minor refactoring and cleanup. Switch away from boehm GC as that's too slow 2024-05-01 16:54:08 +02:00
Mattia Giambirtone b865ece113 Pregenerate pawn attacks (currently unused). Attempts at fixing random crashing 2024-05-01 16:30:21 +02:00
Mattia Giambirtone d3170ab03a Hide untested options behind when defined(), increase size of some position counters, tweak MVVLVA multiplier and more fixes 2024-04-28 16:17:30 +02:00
Mattia Giambirtone 679965c438 Remove unnecessary modules and refactor some things. WIP on testing broken Zobrist hashing 2024-04-27 15:00:03 +02:00
Mattia Giambirtone 28b9a262cc Add specialized .gitignore 2024-04-27 11:12:13 +02:00
Mattia Giambirtone e442d832e7 Bug fixes. Implement quiescent search, extensions and LMR. Needs SPRT 2024-04-27 09:49:45 +02:00
Mattia Giambirtone 19f2c7ab58 Fix some bugs in movegen. Untested TT
Signed-off-by: Mattia Giambirtone <nocturn9x@nocturn9x.space>
2024-04-26 11:41:59 +02:00
Mattia Giambirtone d47040feed Initial work on transposition table and repetition detection
Signed-off-by: Mattia Giambirtone <nocturn9x@nocturn9x.space>
2024-04-25 23:41:25 +02:00
Mattia Giambirtone 7d6cc98614 Initial TT work 2024-04-25 20:04:26 +02:00
Mattia Giambirtone 1aa37d8af8 Initial work on Zobrist hashing. Add Pohl opening book 2024-04-25 18:53:51 +02:00
Mattia Giambirtone 40b47053c1 Massive eval improvement. Perform search in a separate thread. Implement more UCI commands 2024-04-25 15:20:55 +02:00
Mattia Giambirtone a94d9ae1f0 Initial work on search and eval 2024-04-24 19:38:54 +02:00
Mattia Giambirtone 51ef1ff9db More UCI ground work 2024-04-24 12:38:03 +02:00
Mattia Giambirtone b4d2c5cbef Add heavy tests. Fix minor bugs. Initial work on UCI interface 2024-04-24 10:41:01 +02:00
Mattia Giambirtone 9ffe08400d Minor (hopefully last) movegen bugfix 2024-04-23 20:42:57 +02:00
Mattia Giambirtone b80f71c1cb Minor fixups. Require nim 2.0.4 or higher to build 2024-04-23 20:17:07 +02:00
Mattia Giambirtone bc9ff4c3ed Final bug fixes. Test suite is passing 2024-04-23 18:57:38 +02:00
Mattia Giambirtone 46142496ec More movegen bug fixes and minor improvements to the test suite 2024-04-23 11:48:11 +02:00
Mattia Giambirtone e42c1fd95d Make test suite optionally parallel. Many bug fixes 2024-04-23 01:50:56 +02:00
Mattia Giambirtone fbb21f19d1 Add nim.cfg and various bugfixes to movegen 2024-04-21 15:58:31 +02:00
Mattia Giambirtone 9b3264b68b Add missing license headers 2024-04-21 11:11:28 +02:00
Mattia Giambirtone bb9eea4ef8 Add missing license headers 2024-04-21 11:09:12 +02:00
Mattia Giambirtone cb8064a833 Further improve modularity 2024-04-21 11:07:15 +02:00
Mattia Giambirtone d6dcacc8de Refactor package structure 2024-04-21 10:51:11 +02:00
Mattia Giambirtone 9969f9abaa Bug fixes to checks, pins and more. Reworking pawn movegen 2024-04-20 23:47:57 +02:00
Mattia Giambirtone 29cc592a56 Bug fixes and huge performance improvement. Initial work on pins 2024-04-20 17:48:18 +02:00
Mattia Giambirtone c66fa99340 Refactoring, cleanup, improve modularity 2024-04-20 14:52:45 +02:00
Mattia Giambirtone 78b2d95497 Refactoring, cleanup, improve modularity 2024-04-20 14:51:50 +02:00
Mattia Giambirtone 70e938d6c0 Fix crashes 2024-04-20 13:33:42 +02:00
Mattia Giambirtone 272a370549 Make position bitboard management more idiomatic 2024-04-20 13:28:14 +02:00
Mattia Giambirtone 56cfcfc730 More work on attack handling and some bug fixes 2024-04-19 23:28:46 +02:00
Mattia Giambirtone 32d729f9cf Speedups 2024-04-19 21:43:56 +02:00
Mattia Giambirtone c51be9bcda More bug fixes. Still borked. Improve modularity 2024-04-19 21:00:52 +02:00
Mattia Giambirtone b8b60ca137 Fix bugs in move handling 2024-04-19 17:05:22 +02:00
Mattia Giambirtone fdbc41ab2a Fixed package errors and embedded magics into the build 2024-04-19 15:50:51 +02:00
Mattia Giambirtone 031e3bb075 Add move generation for bishops and queens as well as attack tracking 2024-04-19 14:38:35 +02:00