Commit Graph

116 Commits

Author SHA1 Message Date
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
stefiosif
f5b7056347 Merge branch 'master' of https://github.com/stefiosif/zeal 2024-11-13 21:48:14 +02:00
stefiosif
c2414c3f6e Make mvv_lva to map pieces to their material score instead of abritrary matrix
Add time limits, use anyhow crate to improve error handling, remove depth limit on quiescence search
2024-11-13 21:47:26 +02:00
stefiosif
3328cd6ae5 Merge branch 'master' of https://github.com/stefiosif/zeal 2024-11-13 21:43:13 +02:00
stefiosif
39322ff0e1 Add time limits, use anyhow crate to improve error handling, remove depth limit on quiescence search 2024-11-13 21:33:21 +02:00
stefiosif
6cbde05e1e Add time limits, use anyhow crate to improve error handling, remove depth limit on quiescence search 2024-11-13 21:16:49 +02:00
stefiosif
30d90cb3a0 Make mvv_lva to map pieces to their material score instead of abritrary matrix 2024-11-13 21:13:05 +02:00
stefiosif
429485ae73 Use one TT per game, use time manger in ID 2024-11-10 14:22:24 +02:00
stefiosif
cb26faf892 Fix size overflow of rook attack magic bitboard 2024-11-10 14:21:28 +02:00
stefiosif
aba551ce7f Initiate end game psqt based on material scores 2024-11-10 14:19:26 +02:00
stefiosif
e2d3185bbe Add tt node in case of best score >= alpha 2024-11-10 14:17:55 +02:00
stefiosif
c724eca21c Use LazyLock for attack tables, remove all unsafe blocks 2024-11-03 23:48:45 +02:00
stefiosif
1b28de5064 Refactor based on clippy, move tt to search module and call iterative deepening from uci_go 2024-11-03 01:19:12 +02:00
stefiosif
802bdcdb37 Add basic iterative deepening implementation 2024-10-29 22:55:35 +02:00
stefiosif
ff6bbafc50 Add depth limit on quiescence, add node/timer measurements 2024-10-16 21:36:48 +03:00
stefiosif
b2df931d48 Probe TT at each negamax recursion and store entries based on bounds 2024-10-14 23:57:54 +03:00
stefiosif
33617df497 Add basic parts of the Transposition Table 2024-10-13 17:32:42 +03:00
stefiosif
c40e8478c8 Add tests for Zobrist hashing 2024-10-09 20:54:12 +03:00
stefiosif
7f6cfb93a2 Remove redundant PieceType params 2024-10-06 11:32:39 +03:00
stefiosif
3fd3b1ea96 Rename fn names for better readability 2024-10-06 11:15:29 +03:00