io-chess
UCI chess engine
Loading...
Searching...
No Matches
UciOptions.h
Go to the documentation of this file.
1#pragma once
2
9
10#include <string>
11#include "../search/ISearch.h"
12
13class UciProtocol;
14
19struct UciOptions {
20 std::string modelPath;
21 std::string tbPath;
22 std::string bookPath;
23 std::string bookPath2;
24 size_t hashSizeMB = 128;
25 int numThreads = 1;
26 int evalThreads = 0;
27 bool useMCTS = false;
28 bool useSimpleEval = false;
29 bool useBook = true;
30 bool analyseMode = false;
31 bool chess960 = false;
32 float aggression = 0.0f;
33
34 // Lazy Eval options
38 bool enableLazyEval = true;
39
40 // Eval normalization
41 int evalScaleBase = 750;
42 int evalScaleWeight = 25;
45
47
48 // Tree Export Options
49 bool exportTree = false;
51
52 // TT snapshot/debug workflow
53 bool autoSaveTTSnapshots = false;
54 std::string ttSnapshotDir = "tt_snapshots";
55
59 void printOptions() const;
60
70 void setOption(const std::string& name, const std::string& value, UciProtocol* uci);
71};
Search interface and shared data structures.
Main engine controller implementing the UCI protocol.
Definition UCI.h:40
Runtime tunable parameters for the search algorithm.
Definition ISearch.h:52
Holds all configurable engine parameters.
Definition UciOptions.h:19
int lazyEvalMaxDepth
Maximum depth to use lazy eval.
Definition UciOptions.h:35
int evalThreads
Number of eval threads (0 = Auto).
Definition UciOptions.h:26
std::string bookPath2
Path to secondary Polyglot opening book.
Definition UciOptions.h:23
bool useSimpleEval
True to fallback to non-neural evaluation.
Definition UciOptions.h:28
std::string bookPath
Path to primary Polyglot opening book.
Definition UciOptions.h:22
int exportTreeDepth
Depth limit for tree export.
Definition UciOptions.h:50
float aggression
Playstyle aggression modifier.
Definition UciOptions.h:32
bool chess960
True if playing Chess960 (Fischer Random).
Definition UciOptions.h:31
int nativeRebuildEveryNEvals
Incremental MoE rebuild interval.
Definition UciOptions.h:44
size_t hashSizeMB
Transposition table size in MB.
Definition UciOptions.h:24
bool autoSaveTTSnapshots
True to automatically save TT.
Definition UciOptions.h:53
bool enableLazyEval
True to enable lazy evaluation.
Definition UciOptions.h:38
bool exportTree
True to export the search tree (debug).
Definition UciOptions.h:49
bool useBook
True to use opening books.
Definition UciOptions.h:29
int lazyEvalBaseMargin
Static evaluation margin.
Definition UciOptions.h:36
std::string ttSnapshotDir
Directory for TT snapshots.
Definition UciOptions.h:54
int evalScaleBase
Base scale for centipawn conversion.
Definition UciOptions.h:41
void printOptions() const
Prints all standard options to standard output.
Definition UciOptions.cpp:11
int lazyEvalDepthMargin
Depth scaling margin.
Definition UciOptions.h:37
int evalScaleWeight
Weight scalar for evaluation.
Definition UciOptions.h:42
bool useMCTS
True to use MCTS, false for Alpha-Beta.
Definition UciOptions.h:27
SearchSharedData::SearchConfig searchConfig
Search-specific heuristics configuration.
Definition UciOptions.h:46
int numThreads
Number of search threads (Lazy SMP).
Definition UciOptions.h:25
std::string tbPath
Path to Syzygy tablebases.
Definition UciOptions.h:21
void setOption(const std::string &name, const std::string &value, UciProtocol *uci)
Parses a single option and applies it.
Definition UciOptions.cpp:60
bool analyseMode
True if analyzing (disables time management).
Definition UciOptions.h:30
std::string modelPath
Path to neural network weights.
Definition UciOptions.h:20
bool enableEvalNormalization
Normalizes scores.
Definition UciOptions.h:43