135 Commits

Author SHA1 Message Date
7548f3ec71 Validate hash match in TT lookup
Gain: 16.0 +/- 8.6, LOS: 100.0 %
2026-03-15 15:21:05 +02:00
stefiosif
a5e8453bd4 Update README 2025-04-04 19:18:48 +03:00
stefiosif
5966b1984c Change hashing operator % to & 2025-04-04 18:00:55 +03:00
stefiosif
6b009383fe Replace u64 bitboards with tuple struct 2025-03-29 23:28:17 +02:00
stefiosif
6653d8034f Improve attack table init, add inline to fetch fns 2025-03-29 20:57:03 +02:00
stefiosif
d1bdc140a5 Fix overflow bug, clean up code 2025-03-28 23:38:00 +02:00
stefiosif
6211e5be89 Add history maluses 2025-03-28 23:35:02 +02:00
stefiosif
2d04a07b2a Add log product formula for LMR 2025-03-28 23:32:44 +02:00
stefiosif
0c953c4ac1 Clear history table on ucinewgame 2025-03-28 23:19:57 +02:00
stefiosif
478ed3511a Use labels to break from outer loop, group tunable constants 2025-03-02 01:11:29 +02:00
stefiosif
91345848c6 Spawn a separate thread to receive UCI messages via mpsc channel, simplify output to println 2025-03-01 23:54:51 +02:00
stefiosif
7accc28aba Simplify History struct into a Vec 2025-02-18 20:12:29 +02:00
stefiosif
0cd2cffd10 Insert TT entries at the end of quiescence 2025-02-18 18:26:49 +02:00
stefiosif
b0e19a5b49 Do TT cutoffs only on non pv nodes 2025-02-14 08:46:46 +02:00
stefiosif
5a6cff2e40 Add aspiration windows 2025-02-14 00:36:29 +02:00
stefiosif
cd0d0c95d5 Fix test where game state was pruned so TT lookup failed 2025-02-13 20:53:02 +02:00
stefiosif
bc6c867eb2 Merge branch 'nmp' 2025-02-13 20:40:36 +02:00
stefiosif
dd79dc61ba Add RFP 2025-02-13 20:37:12 +02:00
stefiosif
2b94b7af79 Try NMP only on non pv nodes 2025-02-10 19:53:39 +02:00
stefiosif
a69c697892 Add LMR 2025-02-08 19:49:39 +02:00
stefiosif
614590b18e Add history heuristics, reorder killer move to come after captures 2025-02-07 19:51:18 +02:00
stefiosif
bdd065efff Do TT cutoffs before LMP, use TT move as starting best_move and readability changes 2025-02-07 19:41:54 +02:00
stefiosif
b98100aa71 Add uci movetime, hash and initialize TT based on size in MBs 2025-02-04 23:53:18 +02:00
stefiosif
908a87bd26 Reduce size of eval to i16 2025-02-04 20:02:29 +02:00
stefiosif
55056537f3 Change History and Mailbox to tuple structs, use builder pattern for Move_Info 2025-02-04 19:19:17 +02:00
stefiosif
77660d21f8 Add more tests 2025-02-03 22:07:48 +02:00
stefiosif
abfa6d3c1f Add rstest crate and add more tests 2025-02-03 20:42:30 +02:00
stefiosif
ea6800183d Encode Move into a u16 2025-02-03 20:01:20 +02:00
stefiosif
888b3866b9 Add Null-move pruning 2025-01-29 23:09:01 +02:00
stefiosif
91ad3de8b1 Add check extention 2025-01-28 20:03:14 +02:00
stefiosif
3f08e194f4 Add log for soft limit reach, tweak values, clippy 2025-01-28 00:21:19 +02:00
stefiosif
ccba6451aa Add one killer move per ply 2025-01-27 22:21:21 +02:00
stefiosif
b4f61f6504 Add depth based time limit 2025-01-27 22:20:45 +02:00
stefiosif
a01310c7b7 Add TT cutoffs 2025-01-26 23:58:44 +02:00
stefiosif
53beda7fe3 Refactor time info, update zobrist to tuple struct, naming and clippy 2025-01-26 20:16:01 +02:00
stefiosif
36aa30ea17 Run UCI by default 2025-01-26 20:12:18 +02:00
stefiosif
7667f7b5d2 Use increment from uci winc/binc in time management 2025-01-26 11:00:55 +02:00
stefiosif
2d9076cd1d Add depth based logging 2025-01-25 21:47:11 +02:00
stefiosif
2ed92f9253 Add PVS 2025-01-25 21:45:15 +02:00
stefiosif
62c524174e Fix and simplify move ordering 2025-01-25 16:39:04 +02:00
stefiosif
d8cc3b74a2 Change a/b to fail-soft 2025-01-25 09:16:51 +02:00
stefiosif
29d69b5ab1 Add repetition detection 2025-01-19 20:15:23 +02:00
stefiosif
1c7100f510 Use TT to store best move after each ID iteration 2025-01-18 17:44:27 +02:00
stefiosif
824f8a37b5 Add TT lookups in quiescence, move TT inside Game, remove redundant occupancy and time limit functions 2025-01-18 13:01:06 +02:00
stefiosif
e9729cf95d Update README 2025-01-12 23:25:56 +02:00
stefiosif
2c9181993f Implement PeSTO eval 2025-01-12 23:02:10 +02:00
stefiosif
365bd71a6f Add anyhow, strum and strum_macros 2025-01-12 20:03:07 +02:00
stefiosif
d9e76a224f Reduce bitboards from 12 to 8, add color info in mailbox representation 2025-01-12 20:02:16 +02:00
stefiosif
f7604b27a5 Implement Index<T>, IndexMut<T> for Castle, PieceType and Color enums, use swap_remove instead of remove on sort_moves 2024-12-01 10:52:38 +02:00
stefiosif
316f40e6e5 Remove tt cutoffs, fix capture move sorting, refactor 2024-11-30 00:04:53 +02:00