Skip to content

Releases: RyanLauQF/BLANK-Chess

BLANK v1.3.0

29 Nov 13:44
Compare
Choose a tag to compare
  • 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

05 Nov 08:46
4387e8c
Compare
Choose a tag to compare
  • 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

30 Oct 13:07
Compare
Choose a tag to compare
  • Added Late Move Reduction based on a reduction factor which scales off depth and move number (position in move list) in search
    r = \frac{1}{1.95}\log \left ( d \right )\log \left ( m \right )
    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

27 Oct 15:20
Compare
Choose a tag to compare
  • 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

25 Oct 13:37
Compare
Choose a tag to compare

Official release of BLANK Chess Engine.

Pre-Release

07 Aug 13:15
Compare
Choose a tag to compare
Pre-Release Pre-release
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