Releases: RyanLauQF/BLANK-Chess
Releases · RyanLauQF/BLANK-Chess
BLANK v1.3.0
- Improved search tree pruning
- Extended Futility Pruning
- Static Null Move Pruning
- Implemented 50-Move rule and insufficient material draw logic
- Adopted a more aggressive null-move pruning approach by increasing reduction constant at higher depths
- Quiescence search now probes transposition table and has the hash move prioritised.
- Silent moves with no scores assigned are placed at a lower priority and
ordered based on PSQT change during move ordering - Added a seed to generate a fixed set of Zobrist keys.
- Minor bug fixes
BLANK v1.2.0
- Redesign of Transposition table. Instead of a HashMap, the Transposition table now uses a fixed-sized array implementation.
- Two-Level Transposition Table where the first level uses a 'Depth-preferred' replacement scheme while the second level uses an 'Always-replace' scheme to handle index collisions.
- Fixed a bug in move ordering where some PV nodes were not ordered first to be searched.
- Added tapered evaluation based on values by Ronald Friederich.
- Added a small "Contempt" factor fixed at 20 cp to avoid mid-game draws
- Removed search on a separate thread. Engine now periodically listens for UCI commands during the search itself
- Added Hash option to engine to configure hash size for transposition table
BLANK v1.1.0
- Added Late Move Reduction based on a reduction factor which scales off depth and move number (position in move list) in search
where r, d and m represents Reduction factor, Depth and Move number respectively.
Acknowledgement: https://skemman.is/bitstream/1946/34940/1/Master_Project_Final.pdf , Pg. 30 Model (5.1) - Implemented Principal Variation Search (PVS) in search
- Engine search now runs on a separate thread in order to concurrently listen for UCI 'stop' commands
- Fixed a bug in engine clock where engine allocates more time to itself when its total time left goes below increment time.
BLANK v1.0.1
-
Added UCI "OwnBook" option to disable in-built opening book.
-
Fixed a bug in "go movetime " where the time allocated for the engine to "think" was incorrect.
BLANK v1.0.0
Official release of BLANK Chess Engine.
Pre-Release
This is the pre-release version of the chess engine created using Java complete with time control and a GUI.
UCI protocol and Game menu has not been implemented yet.
AI Features:
- Opening Book (Built into an OpeningTrie using a database of >2600 Elo Games)
- Negamax Search with Alpha-Beta pruning
- Static board evaluation
- Move Ordering (PV Nodes, MVV / LVA for Captures, Promotion)
- Quiescence Search
- Transposition Table (Zobrist Hashing)
- Null-Move pruning
- Search Extension on check
- Killer / History Heuristics
- Iterative Deepening Search