This website requires JavaScript.
7548f3ec71
Validate hash match in TT lookup
master
stefiosif
2026-03-15 15:21:05 +02:00
a5e8453bd4
Update README
stefiosif
2025-04-04 19:18:48 +03:00
5966b1984c
Change hashing operator % to &
stefiosif
2025-04-04 18:00:55 +03:00
6b009383fe
Replace u64 bitboards with tuple struct
stefiosif
2025-03-29 23:28:17 +02:00
6653d8034f
Improve attack table init, add inline to fetch fns
stefiosif
2025-03-29 20:57:03 +02:00
d1bdc140a5
Fix overflow bug, clean up code
stefiosif
2025-03-28 23:38:00 +02:00
6211e5be89
Add history maluses
stefiosif
2025-03-28 23:35:02 +02:00
2d04a07b2a
Add log product formula for LMR
stefiosif
2025-03-28 23:32:44 +02:00
0c953c4ac1
Clear history table on ucinewgame
stefiosif
2025-03-28 23:19:57 +02:00
478ed3511a
Use labels to break from outer loop, group tunable constants
stefiosif
2025-03-02 01:11:29 +02:00
91345848c6
Spawn a separate thread to receive UCI messages via mpsc channel, simplify output to println
stefiosif
2025-03-01 23:54:51 +02:00
7accc28aba
Simplify History struct into a Vec
stefiosif
2025-02-18 20:12:29 +02:00
0cd2cffd10
Insert TT entries at the end of quiescence
stefiosif
2025-02-18 18:26:49 +02:00
b0e19a5b49
Do TT cutoffs only on non pv nodes
stefiosif
2025-02-14 08:46:46 +02:00
5a6cff2e40
Add aspiration windows
stefiosif
2025-02-14 00:36:29 +02:00
cd0d0c95d5
Fix test where game state was pruned so TT lookup failed
stefiosif
2025-02-13 20:53:02 +02:00
bc6c867eb2
Merge branch 'nmp'
stefiosif
2025-02-13 20:40:36 +02:00
dd79dc61ba
Add RFP
stefiosif
2025-02-13 20:37:12 +02:00
2b94b7af79
Try NMP only on non pv nodes
stefiosif
2025-02-10 19:53:39 +02:00
a69c697892
Add LMR
stefiosif
2025-02-08 19:49:39 +02:00
614590b18e
Add history heuristics, reorder killer move to come after captures
stefiosif
2025-02-07 19:51:18 +02:00
bdd065efff
Do TT cutoffs before LMP, use TT move as starting best_move and readability changes
stefiosif
2025-02-07 19:41:54 +02:00
b98100aa71
Add uci movetime, hash and initialize TT based on size in MBs
stefiosif
2025-02-04 23:53:18 +02:00
908a87bd26
Reduce size of eval to i16
stefiosif
2025-02-04 20:02:29 +02:00
55056537f3
Change History and Mailbox to tuple structs, use builder pattern for Move_Info
stefiosif
2025-02-04 19:19:17 +02:00
77660d21f8
Add more tests
stefiosif
2025-02-03 22:07:48 +02:00
abfa6d3c1f
Add rstest crate and add more tests
stefiosif
2025-02-03 20:42:30 +02:00
ea6800183d
Encode Move into a u16
stefiosif
2025-02-03 20:01:20 +02:00
888b3866b9
Add Null-move pruning
stefiosif
2025-01-29 23:09:01 +02:00
91ad3de8b1
Add check extention
stefiosif
2025-01-28 20:03:14 +02:00
3f08e194f4
Add log for soft limit reach, tweak values, clippy
stefiosif
2025-01-28 00:21:19 +02:00
ccba6451aa
Add one killer move per ply
stefiosif
2025-01-27 22:21:21 +02:00
b4f61f6504
Add depth based time limit
stefiosif
2025-01-27 22:20:45 +02:00
a01310c7b7
Add TT cutoffs
stefiosif
2025-01-26 23:58:44 +02:00
53beda7fe3
Refactor time info, update zobrist to tuple struct, naming and clippy
stefiosif
2025-01-26 20:16:01 +02:00
36aa30ea17
Run UCI by default
stefiosif
2025-01-26 20:12:18 +02:00
7667f7b5d2
Use increment from uci winc/binc in time management
stefiosif
2025-01-26 11:00:55 +02:00
2d9076cd1d
Add depth based logging
stefiosif
2025-01-25 21:47:11 +02:00
2ed92f9253
Add PVS
stefiosif
2025-01-25 21:45:15 +02:00
62c524174e
Fix and simplify move ordering
stefiosif
2025-01-25 16:39:04 +02:00
d8cc3b74a2
Change a/b to fail-soft
stefiosif
2025-01-25 09:16:51 +02:00
29d69b5ab1
Add repetition detection
stefiosif
2025-01-19 20:15:23 +02:00
1c7100f510
Use TT to store best move after each ID iteration
stefiosif
2025-01-18 17:44:27 +02:00
824f8a37b5
Add TT lookups in quiescence, move TT inside Game, remove redundant occupancy and time limit functions
stefiosif
2025-01-18 13:01:06 +02:00
e9729cf95d
Update README
stefiosif
2025-01-12 23:25:56 +02:00
2c9181993f
Implement PeSTO eval
stefiosif
2025-01-12 23:02:10 +02:00
365bd71a6f
Add anyhow, strum and strum_macros
stefiosif
2025-01-12 20:03:07 +02:00
d9e76a224f
Reduce bitboards from 12 to 8, add color info in mailbox representation
stefiosif
2025-01-12 20:02:16 +02:00
f7604b27a5
Implement Index<T>, IndexMut<T> for Castle, PieceType and Color enums, use swap_remove instead of remove on sort_moves
stefiosif
2024-12-01 10:52:38 +02:00
316f40e6e5
Remove tt cutoffs, fix capture move sorting, refactor
stefiosif
2024-11-30 00:04:53 +02:00
f5b7056347
Merge branch 'master' of https://github.com/stefiosif/zeal
stefiosif
2024-11-13 21:48:14 +02:00
c2414c3f6e
Make mvv_lva to map pieces to their material score instead of abritrary matrix
stefiosif
2024-11-13 21:13:05 +02:00
3328cd6ae5
Merge branch 'master' of https://github.com/stefiosif/zeal
stefiosif
2024-11-13 21:43:13 +02:00
39322ff0e1
Add time limits, use anyhow crate to improve error handling, remove depth limit on quiescence search
stefiosif
2024-11-13 21:16:49 +02:00
6cbde05e1e
Add time limits, use anyhow crate to improve error handling, remove depth limit on quiescence search
stefiosif
2024-11-13 21:16:49 +02:00
30d90cb3a0
Make mvv_lva to map pieces to their material score instead of abritrary matrix
stefiosif
2024-11-13 21:13:05 +02:00
429485ae73
Use one TT per game, use time manger in ID
stefiosif
2024-11-10 14:22:24 +02:00
cb26faf892
Fix size overflow of rook attack magic bitboard
stefiosif
2024-11-10 14:21:28 +02:00
aba551ce7f
Initiate end game psqt based on material scores
stefiosif
2024-11-10 14:19:26 +02:00
e2d3185bbe
Add tt node in case of best score >= alpha
stefiosif
2024-11-10 14:17:55 +02:00
c724eca21c
Use LazyLock for attack tables, remove all unsafe blocks
stefiosif
2024-11-03 23:48:45 +02:00
1b28de5064
Refactor based on clippy, move tt to search module and call iterative deepening from uci_go
stefiosif
2024-11-03 01:19:12 +02:00
802bdcdb37
Add basic iterative deepening implementation
stefiosif
2024-10-29 22:55:35 +02:00
ff6bbafc50
Add depth limit on quiescence, add node/timer measurements
stefiosif
2024-10-16 21:36:48 +03:00
b2df931d48
Probe TT at each negamax recursion and store entries based on bounds
stefiosif
2024-10-14 23:57:54 +03:00
33617df497
Add basic parts of the Transposition Table
stefiosif
2024-10-13 17:32:42 +03:00
c40e8478c8
Add tests for Zobrist hashing
stefiosif
2024-10-09 20:54:12 +03:00
7f6cfb93a2
Remove redundant PieceType params
stefiosif
2024-10-06 11:32:39 +03:00
3fd3b1ea96
Rename fn names for better readability
stefiosif
2024-10-06 11:15:29 +03:00
28409d203a
Add Zobrist hashing
stefiosif
2024-10-06 03:31:33 +03:00
70ba30ba1a
Replace loops with mailbox lookups and move make/unmake tests to game.rs
stefiosif
2024-09-21 17:51:39 +03:00
8a40186f8b
Update gitignore
stefiosif
2024-09-21 15:42:53 +03:00
a96d3d27b1
Pass Mailbox instead of Game on related functions for clarity
stefiosif
2024-09-21 15:42:41 +03:00
1ed4a0c2f9
Add README.md
stefiosif
2024-09-20 23:46:09 +03:00
f74f1ef364
Implement redundant mailbox representation
stefiosif
2024-09-19 22:57:03 +03:00
3739e6e169
Fix sigkill 9 running out of memory issue
stefiosif
2024-09-15 20:27:48 +03:00
f128b35252
Move make/unmake and History on Game
stefiosif
2024-09-15 18:38:32 +03:00
3383435af7
Move MoveParameter handling inside make/unmake_move
stefiosif
2024-09-15 17:08:51 +03:00
6badbcd776
Rename movegen module files and make readability improvements
stefiosif
2024-09-15 11:25:22 +03:00
062a2fe903
Rename project
stefiosif
2024-09-14 22:34:47 +03:00
49b413d24f
Refactor make_move, internal functions, move parsing and add more tests
stefiosif
2024-09-14 20:55:00 +03:00
b26357a205
Add move ordering heuristic MVV/LVA
stefiosif
2024-09-14 20:29:53 +03:00
d3c4078fcc
Change PSQT at endgame
stefiosif
2024-09-14 20:22:45 +03:00
2093d91dfa
Refactor some clippy-pedantic errors
stefiosif
2024-09-06 20:30:57 +03:00
6b9650a6f0
Improve readability and remove redundant code
stefiosif
2024-09-06 20:07:10 +03:00
2081ddac56
Add clap and update scripts
stefiosif
2024-09-06 19:05:42 +03:00
0815837cd5
Return early if king is under check and small refactorings
stefiosif
2024-09-04 18:57:00 +03:00
fec27b0d02
Implement quiescence search for leaf nodes
stefiosif
2024-09-04 18:56:20 +03:00
e817229d12
Convert minimax to negamax and implement alpha-beta pruning
stefiosif
2024-09-03 20:35:08 +03:00
ba0cbf4d7d
Add minimax and adapt UCI tests
stefiosif
2024-09-01 14:15:02 +03:00
e61d247411
Make more readability refactorings
stefiosif
2024-08-28 23:27:40 +03:00
46cf0f0d1f
Implement unmake move
stefiosif
2024-08-28 21:08:32 +03:00
21076da68c
Add utility functions for readability and refactor make_move
stefiosif
2024-08-28 21:07:22 +03:00
6c8f445fa9
Add LICENSE
stefiosif
2024-08-15 00:08:04 +03:00
336e2d8284
Add UCI communication example
stefiosif
2024-08-15 00:07:49 +03:00
b3d5930037
Remove uncommitted move_ordering from mod.rs
stefiosif
2024-08-14 22:01:10 +03:00
ed711f905d
Refactor project structure to use submodules
stefiosif
2024-08-14 21:58:20 +03:00
69cabd5b58
Rename Kind to PieceType for clarity
stefiosif
2024-08-14 20:53:08 +03:00
c5267d0e2b
Fix uci_position bugs and add test
stefiosif
2024-08-14 00:25:15 +03:00
a07324d81d
Implement halfmove/fullmove counters
stefiosif
2024-08-14 00:24:05 +03:00