Obsidian, an UCI chess engine written in c++
Rating CEDR=3224
Search algorithm
* Iterative deepening with aspiration windows
* Very simple negamax
* Very simple move ordering
* Quiescence search
* Razoring
* Null move pruning
* Internal iterative reductions (IIR)
* Check extension
Evaluation
Obsidian evaluates position with a neural network, the architecture is 2x(768->256)->1 and is trained on 100M positions as of now.
Trivial endgames are evaluated with a special function.
To do
* Make the code cleaner
* Add move which give check to quiescence search
* Implement more pruning techniques
* Iterative deepening with aspiration windows
* Very simple negamax
* Very simple move ordering
* Quiescence search
* Razoring
* Null move pruning
* Internal iterative reductions (IIR)
* Check extension
Evaluation
Obsidian evaluates position with a neural network, the architecture is 2x(768->256)->1 and is trained on 100M positions as of now.
Trivial endgames are evaluated with a special function.
To do
* Make the code cleaner
* Add move which give check to quiescence search
* Implement more pruning techniques
v.6.0:
Obsidian 6.0 features thousands of search improvements, and it is much better at finding forced mate sequences!
This new version annihilates Obsidian 5.0:
Elo | 148.70 +- 22.13 (95%)
Conf | 12.0+0.12s Threads=1 Hash=64MB
Comments
Post a Comment