Combusken is a UCI-compliant open source chess engine using Alpha-beta algorithm. You can play with it on lichess.
Size of transposition table in megabytes. Usually the more the better.
Number of threads used in search. Usually the more the better.
Size of Pawn Hash Table. Default value should always work ok, as hit-ratio in Pawn Hash Table is usually pretty high.
Time buffer in ms. Should be increased when you notice time-losses.
Set when engine is used in "thinking on opponent's time" mode. Alters time management algorithm to use slightly more time.
Runs benchmark
Runs tuning that is a combination of coordinate descent and gradient descent where gradient is calculated with symmetric derivative.
Runs tuning based on gradient descent where gradient is calculated with a vectors that stores how much each evaluation-constant was used in a given position.
In order to work it requires compilation with tuning
constant set to true
in evaluation/eval.go
file.
Games for tuning must be put in games.fen
file.
by Graham Banks
- Counter by Vadim Chizhov
UCI protocol implementation and search cancelation pattern is based on CounterGO's. Also some miscellaneous things like LMP weights, or EPD parsing.
- Ethereal by Andrew Grant, Alayan & Laldon
Combusken's search procedure is influenced by Ethereal's; some parts of evaluation(for example king safety) were taken directly from it.
Andrew Grant's OpenBench is used for testing.
Tuner is based on this paper by Andrew Grant
- Laser by Jeffrey An
Static Exchange Evaluation
- Stockfish by Tord Romstad, Marco Costalba, Joona Kiiski & Gary Linscott
Influences in the search procedure. Some ideas in evaluation.
- Zurichess by Alexandru Moșoi
It's tuning positions set was used in Combusken's tuning
Combusken is distributed under the GNU General Public License version 3 (GPL v3).