Topas - UCI Chess Engine
Author: Sam Nelson
Topas is an open source UCI chess engine written in Rust with a focus on clean, readable code. Topas is a "from scratch" implementation I created as a hobby project with the goal of learning more about chess algorithms and Rust programming in general.
v.1.3.3:
The following features are implemented in this release:
Universal Chess Interface (UCI) support, described in the README
Chess board representation and fast attack/movement patterns using bitboards
Negamax with alpha-beta pruning, using a principal variation search, to efficiently search to a configurable depth
Iterative deepening with aspiration windows to allow for more efficient move ordering and time management
Transposition tables (with Zobrist hashing) for fast lookup and enhanced move ordering
Move ordering based on principal variation, cut nodes, capture moves sorted via MVV-LVA (Most Valuable Victim, Least Valuable Attacker), and killer moves
Quiescence search with delta pruning and static exchange evaluation (SEE) to mitigate the horizon effect
Tapered static evaluation based on piece values, piece-square tables (PST), and game state
Late move reductions to reduce the search space
Comments
Post a Comment